Memory

dsh-project-summary

callqh/dsh-project-summary · ★ 1

callqh

A compact floating Git project summary for DeepSeek Harness: branch, changes, commits and GitHub pull requests.

License
MIT
Added
2026-10-30
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-10-30T09:39:14.261Z
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add 'github:callqh/dsh-project-summary#10696ed2d255b1c40c4bcdd942fdb94ea9221423'

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Preview
  2. Features
  3. Install
  4. 1. Get the prebuilt bundle
  5. 2. Install and enable through DSH
  6. 3. Load the new version
  7. Optional GitHub PR support
  8. Data scope and limitations
  9. Security and privacy
  10. Troubleshooting
  11. Development and contributions
  12. License

A floating card for branches, changes, commits and pull requests inside DeepSeek Harness.

CI License: MIT DSH

简体中文 · English

A third-party, read-only DSH plugin. The compact card floats at the top-right of the active conversation pane, rather than consuming an entire right-hand column. It follows the conversation as the sidebar opens, closes or resizes, and inherits the client's light/dark theme colors.

Initial compatibility target: DSH 0.2.0-rc.2. Runtime integration was developed on macOS Desktop; source version 0.1.2 also passes disposable Web-profile startup and summary/diff RPC checks on DSH 0.2.2-rc.1. Windows is not verified. Development tests can run on Linux CI. This project is not affiliated with DeepSeek or OpenAI. UI labels are currently Chinese.

Preview

Dark theme, sidebar open Light theme, sidebar open
Dark floating project summary Light floating project summary

Component-demo screenshots use a simulated layout, theme variables and fictional repository / PR data. They are not screenshots of a real DSH session.

Features

  • Repository and branch, detached HEAD, and ahead/behind counts against the locally known upstream.
  • Changed-file count and added/deleted lines, with a read-only tracked-file diff preview.
  • GitHub PR title, number, status, base branch and link; open PRs are preferred.
  • Three recent commits, including short hash, subject, author and date.
  • A roughly 296px-wide expanded card, persistent collapsed state, and a collapsed default on narrow screens.
  • DSH light/dark palette inheritance and conversation-bounded positioning, without replacing the sidebar.
  • Local Git refresh every 15 seconds while expanded; PR cache of 60 seconds; reads pause when the page is hidden.
  • Graceful states for non-repositories, missing GitHub CLI, inaccessible repositories and failed queries.

Install

Source version 0.1.2 has not been released yet. It removes the old exact DSH version gate and uses host services without installing private DSH dependencies. Run npm pack --ignore-scripts to create a local archive. The Release links below still refer to published 0.1.1; use the fixed local archive for DSH 0.2.2-rc.1.

1. Get the prebuilt bundle

Download dsh-project-summary-0.1.1.tgz from GitHub Releases. Host and Client artifacts are included: no installation build scripts need approval.

2. Install and enable through DSH

Ask your DSH Agent:

Use plugin_manager to install and enable this plugin bundle:
https://github.com/callqh/dsh-project-summary/releases/download/v0.1.1/dsh-project-summary-0.1.1.tgz

Alternatively, provide the absolute path of the downloaded tarball. Tool arguments:

{
  "action": "install_bundle",
  "target": "https://github.com/callqh/dsh-project-summary/releases/download/v0.1.1/dsh-project-summary-0.1.1.tgz",
  "enabled": true
}

This is a DSH tool payload, not a shell command. Depending on your permission settings, DSH may ask for approval. Profile-wide installation and activation affect all sessions in that profile.

3. Load the new version

Follow the plugin manager's result:

  • applied: refresh the current DSH page to load the new Client bundle.
  • restart-required: quit and reopen DSH; refreshing alone may keep the old version.

Open a main conversation whose working directory is a Git repository. No additional plugin configuration is required.

Not published to the npm registry yet. Use the GitHub Release tarball, not npm install dsh-project-summary.

Optional GitHub PR support

Local branches, changes and commits only require Git. PR metadata additionally requires GitHub CLI to be installed and authenticated in the environment used by the DSH Host:

gh auth login
gh auth status

The plugin queries GitHub.com repositories referenced by origin, supporting HTTPS, git@github.com: and ssh://git@github.com/ URL forms. Open, merged and closed PRs can be displayed; an open PR is preferred among matching results. GitLab, GitHub Enterprise and alternative remote names are not supported.

Missing gh, missing credentials, insufficient access or network failure only affect the PR area. The plugin never starts a login flow, reads a token value or displays credentials.

Data scope and limitations

Item Definition
Project The loaded main Session's host-owned working directory; Git discovers the repository in that directory or its parents
Line statistics Final worktree contents relative to HEAD, including staged and unstaged edits; not an AI-turn edit count
Untracked files Names only; no content reads or line statistics. Untracked directories are summarized by Git's --untracked-files=normal mode
No initial commit Staged changes are displayed; recent commits are empty
Binary files Counted separately, not as text lines
Ahead/behind Compared to the locally known upstream; no automatic fetch; zero without an upstream
Diff Tracked-file preview capped at 100,000 characters; excludes untracked contents
Large repositories 8-second timeout and 2 MB output cap per command; oversized output produces an error state
Refresh 4-second local snapshot cache and 60-second PR cache; manual refresh still respects the PR cache

Security and privacy

Commands use fixed command names and argument arrays through execFile, not shell interpolation. Git reads disable fsmonitor, hooks, external diff, textconv, pager and optional locks. Only existing Session IDs are accepted from the client, not arbitrary filesystem paths.

There is no telemetry, independent database or credential storage. Local storage only remembers the collapsed state. Installing this trusted Host plugin authorizes local reads and GitHub CLI network queries using existing credentials; it is not a sandbox for malicious repositories.

See SECURITY.md for boundaries and private vulnerability reporting. Never put tokens, private repository contents or unredacted logs in public issues.

Troubleshooting

  • No card: check that the bundle is enabled, perform the required restart, and open a loaded main conversation with a working directory. Settings pages do not display the card. An incompatible runtime may lack the expected slots or semantic layout markers.
  • Theme mismatch: the card follows the active DSH theme, not an independent OS theme preference. Choose DSH's system theme setting to follow the OS.
  • No PR: check the GitHub.com origin, whether the branch has a PR, and gh auth status in the Host environment. Allow up to a minute for the PR cache to expire.
  • Narrow pane: collapse the card. Its position follows the conversation boundaries rather than the window's right edge.
  • Disable or uninstall: use DSH's plugin manager with set_bundle (enabled: false) or remove_bundle, targeting dsh-project-summary; refresh or restart as instructed.

Development and contributions

Requires Node.js 22.18+ and Git. No sibling project or private runtime checkout is needed:

git clone https://github.com/callqh/dsh-project-summary.git
cd dsh-project-summary
npm ci --ignore-scripts
npm run check
npx playwright install chromium
npm run test:ui
npm pack --ignore-scripts

npm run check includes type checking, builds, Git tests and package checks. UI tests use mocked RPC, layout and theme fixtures: they do not start a DSH server or modify your profile. Source and prebuilt artifacts are committed.

Issues and pull requests are welcome. See CONTRIBUTING.md for the project layout and guidelines, and CHANGELOG.md for release notes.

License

MIT © 2026 callqh. Use, modify and redistribute while retaining the license notice.