dsh-zcode-git:DeepSeek Harness 的结构化 Git 工具集

DeepSeek Harness (DSH) 采用“一切皆插件”的架构,智能体在开发流程中常需调用 Git 进行版本控制。直接使用 shell 命令(如 bash)存在隐患:输出格式受用户配置(如 pager、color、quotepath)影响,且写入操作(如 commit)缺乏统一的权限控制。

dsh-zcode-git 是一个为 DSH 智能体设计的结构化 Git 工具集,旨在替代 shell 调用。它将 git 操作封装为可预测的工具函数,输出格式固定,且所有写操作均通过 Harness 的批准服务(approval service)执行,确保安全性。

核心功能

该插件提供以下六种工具,均默认读取当前会话工作目录下的仓库:

  1. git_status(只读)

    • 获取当前分支、上游分支信息。
    • 返回领先/落后、暂存/修改/冲突/未跟踪/忽略的文件列表。
  2. git_diff(只读)

    • 生成统一格式的差异(unified diff)。
    • 返回每文件的行数统计。
    • 支持按路径(paths)、暂存或上下文行数(contextLines)进行作用域限定。
  3. git_log(只读)

    • 返回提交记录,包含哈希值、作者、日期和摘要。
    • 支持通过 limit 限制数量,或通过 paths 和 revision 缩小查询范围。
  4. git_branch(读写)

    • 支持 list(列出)、create(创建)、switch(切换)和 delete(删除)。
    • 写入操作必须经过批准。
  5. git_commit(写入)

    • 可选暂存指定路径,然后提交信息。
    • 写入操作必须经过批准。
  6. git_stash(读写)

    • 支持 list(列出)、push(暂存)、pop(应用并删除)、apply(应用)和 drop(删除)。
    • 写入操作必须经过批准。

安装与启用

安装该插件会自动更新 Harness 的配置。

dsh plugin --profile web add dsh-zcode-git

安装后需重启 Harness,因为插件是通过配置文件加载的。

系统要求与注意事项

  1. 环境依赖

    • 系统路径中必须存在 git 二进制文件。
    • DeepSeek Harness 版本需满足:>=0.1.5-rc.2 <0.1.6-0 || >=0.1.6-alpha.1 <0.2.0-0 || >=0.1.7-alpha.1 <0.2.0-0。
    • Node.js 版本需 >=20。
  2. 执行机制

    • 插件不依赖 shell,而是通过 argv 数组直接调用 git,避免 shell 转义和注入风险。
    • 字段分隔符为 %x1f(文件分隔符),而非 ZCode 使用的 %x00。
  3. 输出限制

    • 为了保持 Prompt 形状稳定,git_status 输出会被截断至 2k 字符。
  4. 已知缺陷

    • 当会话当前工作目录(CWD)位于仓库子目录时,插件可能返回空结果,因为仓库根目录相对路径未被正确处理。

生态与链接

dsh-zcode-git 是 DeepSeek 生态中一个专注于 Git 版本控制的结构化工具,遵循 MIT 许可证。如需查看源码、提交问题或查看目录页,请访问:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜