dsh-git-ai:DeepSeek Harness 插件,将智能体编辑记录归因给 git-ai

DeepSeek Harness(DSH)采用插件化架构,旨在通过模块化扩展能力。在使用智能体进行代码开发时,开发者需要清晰地掌握具体由哪个模型、在哪个会话中对哪些文件进行了修改。dsh-git-ai 插件解决了这一归因需求,它将智能体的操作记录转化为 git-ai 可识别的数据,从而实现代码变更的自动追溯。

插件定位

dsh-git-ai 是 DeepSeek Harness 的一个插件,由开发者 NiuZhuang 维护。它位于「记忆」分类,采用 MIT 许可证。其核心功能是拦截 DSH 的工具执行钩子,将文件编辑、使用的模型以及会话信息转换为 git-ai 的 agent-v1 检查点 payload,并调用 git-ai 的 checkpoint 命令进行记录。

核心功能

该插件主要通过拦截和转换数据实现归因:

  1. 拦截点监听:拦截 DeepSeek Harness 的 tools/pre-execute 和 tools/post-execute 两个拦截点。
  2. 数据记录:记录文件编辑操作、使用的模型名称以及会话信息。
  3. 协议转换:将捕获的工具调用转换为 git-ai 通用接口 agent-v1 的 payload 格式。
  4. Shell 支持:支持对 bash 和 pwsh 命令的 pre/post shell 检查点记录。
  5. 可配置项:提供丰富的配置选项,包括指定 git-ai 可执行文件路径、设置 agent 名称、指定模型、检查点预设、调用超时时间以及是否追踪 bash 命令。

安装与启用

安装该插件可以通过以下命令完成:

dsh plugin --profile web add dsh-git-ai

如果使用 pnpm 版本大于等于 10,安装命令需要加上 -w 参数以避免工作区根目录冲突:

dsh plugin --profile web add -w dsh-git-ai

该包声明了 dsh.bundle,在执行上述命令时会自动激活配置。如果需要手动加载或在自定义 profile 中配置,需在 cordis.patch.yml 中添加如下块:

- dsh-git-ai:
    gitAiPath: git-ai
    agentName: deepseek-harness

典型用法

完成安装与配置后,可以通过以下步骤验证功能:

  1. 安装插件:执行安装命令。
  2. 配置插件:在 cordis.patch.yml 中添加上述配置块。
  3. 启动 Harness:运行 dsh web 启动服务。
  4. 编辑文件:让智能体编辑 git 仓库中的文件。
  5. 检查状态:运行 git-ai status --,查看 git-ai 是否接收到了检查点数据。
  6. 提交与验证:执行 git add -A && git commit -m "test" 提交,随后运行 git-ai stats HEAD --json 检查归因统计。

配置项说明

插件支持通过配置对象进行细粒度控制,配置项包括:

import type { Config } from 'dsh-git-ai'

const config: Config = {
  gitAiPath: 'git-ai',                  // 可选:git-ai 可执行文件路径(省略时通过 PATH 解析)
  agentName: 'deepseek-harness',        // 可选:标记在所有检查点上的 agent_name
  model: '',                            // 可选:显式指定的模型,空则回退到 agent.options.model
  checkpointPreset: 'agent-v1',         // 可选:git-ai 的通用集成预设
  timeoutMs: 10_000,                    // 可选:git-ai 调用超时时间(毫秒)
  trackBash: true,                      // 可选:是否为 bash/pwsh 发送 pre/post shell 检查点
}

适用场景与注意事项

  • 依赖关系:git-ai 是可选依赖。如果 git-ai 未安装、调用失败或超时,插件仅记录警告而不会中断工具调用。
  • 编辑归因限制:文件编辑工具目前仅发送 post-edit 检查点。这意味着如果用户在智能体编辑前对同一文件进行了未提交的修改,这些修改可能会被误归因给智能体。
  • Bash 输出限制:Bash 输出的归因基于快照,仅限仓库树内的文件修改会被归因,仓库外的文件修改无法被追踪。
  • 同步延迟:每个被追踪的工具调用都会等待 git-ai 检查点完成(受 timeoutMs 限制)后再返回结果,这会增加工具调用的同步延迟。

总结

dsh-git-ai 为 DeepSeek Harness 用户提供了一种标准化的方式,将智能体的操作行为与 git-ai 的归因系统打通。通过拦截工具执行钩子并生成符合 agent-v1 规范的 payload,它帮助开发者实现了代码来源的可追溯性。更多细节与源码可参考其 GitHub 仓库或社区目录页面。

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

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

小夜