DeepSeek Harness 插件

dsh-plugin-git-inspect

Read-only Git inspection tools for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Wanbinyu/dsh-plugin-git-inspect
最近更新
2026年8月21日
分类
插件开发工具
GitHub stars
1
载体类型
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/Wanbinyu/dsh-plugin-git-inspect
插件名:dsh-plugin-git-inspect
作者:Wanbinyu

检查来源文件

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

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

dsh-plugin-git-inspect

简体中文 | English

![许可证:MIT](LICENSE)

面向 DeepSeek Harness 的只读 Git 检查插件。

> [!NOTE] > 这是独立的社区插件,不属于 DeepSeek Harness 官方发行版。

功能

插件向模型注册十个只读工具:

工具作用可选参数
git_status查看当前分支和工作区状态。
git_diff查看工作区 diff 或暂存区 diff。stagedpath
git_diff_stat以文件为单位查看 diff 摘要。stagedpath
git_log以紧凑的一行格式查看最近提交。maxCountpath
git_show查看指定提交、标签或其他 revision。revisionpath
git_refs查看最近的本地分支、远程跟踪分支和标签。maxCount
git_conflicts列出尚未解决的合并冲突文件。path
git_blame查看指定文件一段行号范围的提交归属。pathstartLinelineCount
git_stash_list查看最近的 stash,不创建或应用 stash。maxCount
git_worktree_list以稳定格式查看已注册的 worktree。

工作目录优先取当前 Harness 会话的 session.header.cwd;会话未提供目录时,回退到宿主进程的当前工作目录。

安全边界

  • 不执行 shell。插件通过 Harness 的 subprocess 服务解析 git,并使用固定的 argv 启动进程。
  • 用户传入的路径始终放在 Git 的 -- pathspec 分隔符之后,不经过 shell 展开。
  • 关闭 pager、颜色、外部 diff、textconv、可选 Git 锁和终端交互提示,保证自动化输出稳定。
  • 只提供检查操作,不提供 commitpushresetstash、切换分支或文件修改能力。
  • 转发 Harness 的取消信号,并限制 stdout/stderr 的捕获大小。
  • 输出达到上限时,结果会明确标记为截断。
  • git_blame 默认最多返回 50 行,配置允许的上限为 200 行,避免整文件归属信息挤占上下文。

环境要求

  • Windows、macOS 或 Linux,且宿主 PATH 中可以找到 git
  • Node.js >=22.19.0
  • Harness 组合需要提供:

- @deepseek-ai/dsh-tools - @deepseek-ai/dsh-system-prompt - @deepseek-ai/dsh-subprocess

  • 还需要一个 subprocess 实现,例如 @deepseek-ai/dsh-subprocess-local

v0.3.2 已使用 DeepSeek Harness 0.1.1-rc.2 完成类型、测试、构建和打包验证,并保留 0.1.0-rc.5rc.80.1.1-rc.1 的兼容分支。

作为 bundle 安装

仓库根目录包含 cordis.patch.yml,并在 package.json 中声明了 dsh.bundle。在已经安装 Harness CLI 的环境中,可以将它加入 web profile:

dsh plugin --profile web add https://github.com/Wanbinyu/dsh-plugin-git-inspect/releases/download/v0.3.2/dsh-plugin-git-inspect-0.3.2.tgz

安装后重启 dsh。bundle 会自动插入 git-inspect 配置行,并安装插件运行时。也可以直接查看或修改 [cordis.patch.yml](cordis.patch.yml)。

手动安装

如果宿主项目需要自己控制组合层,也可以安装包后手动插入:

npm install github:Wanbinyu/dsh-plugin-git-inspect

在已经挂载 Harness 必需服务的 Cordis 组合中加入:

- id: git-inspect
  name: dsh-plugin-git-inspect
  config:
    timeoutMs: 30000
    maxOutputBytes: 200000
    stderrMaxBytes: 16384
    graceMs: 1000
    defaultLogCount: 20
    maxLogCount: 100
    defaultBlameLineCount: 50
    maxBlameLineCount: 200

仓库中的 [examples/cordis.yml](examples/cordis.yml) 提供了 overlay 示例。该示例不会自动安装 subprocess provider,provider 仍由宿主组合负责。

配置项

所有限制必须是正整数;默认数量不能大于对应的最大数量。

配置项默认值作用
timeoutMs30000传递给 Harness 工具的最长执行时间。
maxOutputBytes200000stdout 捕获上限。
stderrMaxBytes16384stderr 捕获上限。
graceMs1000Git 子进程终止时的宽限时间。
defaultLogCount20未传 git_log.maxCount 时的提交数量。
maxLogCount100git_log.maxCount 的最大值。
defaultBlameLineCount50未传 git_blame.lineCount 时的行数。
maxBlameLineCount200git_blame.lineCount 的最大值。

工具调用示例

{"name":"git_status","arguments":{}}
{"name":"git_diff","arguments":{"staged":true,"path":"src/index.ts"}}
{"name":"git_log","arguments":{"maxCount":10,"path":"src/index.ts"}}
{"name":"git_show","arguments":{"revision":"HEAD","path":"src/index.ts"}}
{"name":"git_conflicts","arguments":{}}
{"name":"git_blame","arguments":{"path":"src/index.ts","startLine":20,"lineCount":30}}
{"name":"git_stash_list","arguments":{"maxCount":10}}
{"name":"git_worktree_list","arguments":{}}

Git 返回非零退出码、目录不是仓库、路径为空、请求被取消或子进程异常终止时,插件会返回结构化工具错误,不会伪装成成功输出。

本地开发

git clone https://github.com/Wanbinyu/dsh-plugin-git-inspect.git
cd dsh-plugin-git-inspect
npm install
npm run verify

测试会创建临时 Git 仓库,并通过 Harness 的本地 subprocess provider 调用真实 git,覆盖分支状态、工作区和暂存区 diff、diff 摘要、revision、refs、冲突、blame、stash、worktree、路径过滤历史、输出限制、错误路径和 argv 安全性。verify 会执行类型检查、测试、构建和安装包内容检查;GitHub Actions 会在 Node.js 22 的 Ubuntu 与 Windows 环境中运行它。

项目边界

这是一个面向 Agent 工作流的只读检查层。写操作、远程同步、分支切换、worktree 管理和文件编辑均不在范围内,便于宿主组合单独制定审批策略。

链接

许可证

MIT,详见 [LICENSE](LICENSE)。