DeepSeek Harness 插件

dsh-plugin-git-status

DeepSeek Harness plugin: a read-only workspace Git status panel for the composer tool row and a git_status model tool.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
jdz321/dsh-plugin-git-status
最近更新
2026年8月21日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/jdz321/dsh-plugin-git-status
插件名:dsh-plugin-git-status
作者:jdz321

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-plugin-git-status

A DeepSeek Harness plugin that shows the git status of the current workspace. It is read-only: it never creates, modifies, or deletes any file.

  • Git status panel — a small chip in the composer tool row, to the left of

the model selector. It shows the branch name, a clean/dirty summary, and a manual refresh button. When the working tree has changes, the change count is clickable and expands into a grouped file list (conflicted / staged / unstaged / untracked) with porcelain status codes and rename origins. The panel refreshes every 30 seconds and hides entirely when the workspace is not a git repository.

  • git_status model tool — callable through the normal tool pipeline.

Returns structured JSON with the branch, commits ahead/behind upstream, grouped change counts, the file list, and the most recent commit. It accepts an optional cwd; when omitted it inspects the current session workspace.

Screenshots

Clean workspace — the chip shows the branch and a green "✓ clean" summary:

![Clean workspace](assets/clean.png)

Workspace with changes — the change count is a clickable text that opens the grouped file list:

![Workspace with changes](assets/changes.png)

Workspace with changes, file list expanded — grouped by conflicted / staged / unstaged / untracked; each row shows the porcelain status code, the path, and the original path for renames:

![Workspace with changes, file list expanded](assets/changes-expanded.png)

Supported Harness version

0.1.0-rc.7 (the plugin peer-depends on the same @deepseek-ai/* package versions).

Install

dsh plugin --profile <name> add dsh-plugin-git-status

If the CLI is not installed globally:

npx @deepseek-ai/dsh plugin --profile <name> add dsh-plugin-git-status

Replace <name> with your profile name (e.g. web). Restart the Harness process after installing, then hard-refresh the browser page.

For a reproducible install, pin a commit (replace the example with the real commit SHA):

dsh plugin --profile <name> add github:<owner>/dsh-plugin-git-status#0123456789abcdef0123456789abcdef

Configuration

The panel auto-refresh cadence is configurable at runtime from the browser: open Settings → Plugins and edit the Git status card (refreshIntervalMs), like the terminal plugin's command-timeout card. The change is written to the Host settings document and takes effect live (the panel re-reads it when the tab becomes visible again).

It can also be set through the plugin's Cordis row. Add a config block for the dsh-plugin-git-status row in your profile's cordis.patch.yml:

- id: dsh-plugin-git-status
  name: dsh-plugin-git-status
  config:
    refreshIntervalMs: 60000
  • refreshIntervalMs — milliseconds between automatic refreshes

(default 30000). Set it to 0 to disable auto-refresh entirely; the panel then only updates on the manual refresh button or when the workspace changes.

  • Auto-refresh is also paused while the browser tab is hidden, and resumes

(with an immediate refresh) when the tab becomes visible again.

Update / remove

Use the CLI's update and remove commands:

dsh plugin --profile <name> remove dsh-plugin-git-status
dsh plugin --profile <name> add dsh-plugin-git-status

Data storage

The plugin stores nothing. Git status is computed on demand by running read-only git status / git log commands in the inspected directory.

Known limitations

  • The panel is session-scoped and reflects the active session's workspace. If

the session has no workspace directory, the panel is not shown.

  • Paths with two or more consecutive spaces are read from git status -z, so

they are preserved exactly.

  • The panel does not offer inline file operations; it only reports status.

Development

pnpm install
pnpm typecheck
pnpm test
pnpm build

pnpm build emits lib/index.js (Host), lib/typert.js (Remote descriptor), and lib/client.js (browser bundle).