DeepSeek Harness (DSH) 提供基于 Web 的编辑器环境。在开发流程中,快速确认当前分支、变更数量和文件状态往往需要切换到终端执行 git status。dsh-plugin-git-status 将这些信息直接集成到编辑器工具行,并提供了一个结构化的 git_status 工具。
插件介绍¶
该插件由 jdz321 维护,是一个针对 DeepSeek Harness 的工具插件。它不创建、修改或删除任何文件,仅用于展示和检索 Git 状态。
核心功能¶
- 编辑器工具行状态芯片:在模型选择器左侧显示当前分支名、工作区洁净状态(洁净/脏)以及一个手动刷新按钮。
- 可展开的变更列表:当工作区有变更时,点击变更计数会展开分组文件列表。列表按冲突、已暂存、未暂存、未跟踪分类,并显示 porcelain 状态代码和重命名原路径。
- 自动刷新:默认每 30 秒自动刷新一次状态。
git_status模型工具:在工具管道中调用,返回结构化 JSON 数据,包含分支、提交、文件列表等。- 只读操作:仅读取 Git 状态,不涉及文件系统写入。
安装与启用¶
通过 DSH CLI 安装:
dsh plugin --profile <name> add dsh-plugin-git-status
安装后需要重启 DSH 进程,并在浏览器中硬刷新页面以加载插件。
配置与使用¶
配置刷新间隔¶
刷新间隔可以通过浏览器界面或配置文件修改。
- 浏览器界面:打开浏览器设置 -> 插件 -> 编辑 Git status 卡片,修改
refreshIntervalMs。 - 配置文件:在
cordis.patch.yml中添加config块:
- id: dsh-plugin-git-status
name: dsh-plugin-git-status
config:
refreshIntervalMs: 60000
将 refreshIntervalMs 设置为 0 可完全禁用自动刷新。
调用模型工具¶
在工具管道中可以直接调用 git_status 模型工具。该工具接受一个可选的 cwd 参数,若不提供则默认检查当前会话工作区。
注意事项¶
- 只读限制:插件为只读模式,不提供内联文件操作。
- 会话作用域:面板仅在 Git 仓库工作区会话中显示,非仓库目录不会显示。
- 自动刷新暂停:当浏览器标签页隐藏时,自动刷新会暂停,标签页恢复可见时会立即刷新一次。
- 路径处理:正确处理包含连续空格的路径。
总结¶
dsh-plugin-git-status 为 DSH 提供了可视化的 Git 状态面板和程序化的 JSON 接口,适合需要频繁监控代码变更或在智能体工具链中获取 Git 信息的场景。