前言¶
在 DeepSeek Harness 的开发场景中,Agent 需要清晰理解 Git 仓库的拓扑结构,包括提交历史、分支合并情况以及工作树状态。dsh-git-graph 插件为 Harness 提供了可视化的提交图视图和工具接口,使 Agent 能够通过浏览器侧边栏查看 Lane 图,并直接调用 git_graph 和 git_worktree 工具进行查询。
插件介绍¶
这是一个 DeepSeek Harness 插件,由 DevViking-Persike 维护,采用 MIT 许可证。
它的核心价值在于:
1. 在浏览器中提供可视化的提交图视图,显示车道、分支和合并信息。
2. 提供工作树列表。
3. 向 Agent 提供可推理的文本化工具接口。
安装与配置¶
在终端中运行以下命令安装插件:
dsh plugin --profile web add github:DevViking-Persike/dsh-git-graph
安装完成后需要重启 dsh 进程。
使用方式¶
重启 dsh 后,输入框旁边会出现一个 ⎇ grafo 按钮。点击该按钮打开面板,手动输入仓库路径并加载历史记录。加载后,Agent 即可使用 git_graph 和 git_worktree 工具。
核心功能¶
- 提交图视图:每个提交显示为彩色车道上的一个点。首父节点连线保持直线,合并连线在不同车道间弯曲。分支和标签标签会显示在对应提交旁,当前分支标记为
*。 - 工作树列表:图形下方会列出所有工作树及其分支状态(如
[detached]或[bare])。 - Agent 工具:
git_graph:提供包含车道、父节点、引用和工作树摘要的历史信息。git_worktree:列出工作树及其分支。
- 安全机制:插件仅提供读取权限,不执行提交、检出、创建或移除任何操作。
配置项¶
插件支持通过配置文件调整历史记录深度和路由路径。
limit:历史记录深度限制,默认为 300。route:浏览器端访问路径,默认为/git-graph。
示例配置:
- id: dsh-git-graph
name: 'dsh-git-graph'
config:
limit: 500
适用场景与注意¶
- 适用场景:需要查看 Git 提交历史拓扑结构、分析分支合并情况、管理本地工作树的 Agent 任务。
- 权限限制:插件以只读模式运行,通过固定参数调用 Git 子进程,避免 Shell 注入风险。
- 已知限制:
- 历史记录深度有限(默认 300),无法加载全部历史。
- 需手动输入仓库路径,无法自动检测会话的当前工作目录(cwd)。
- Ref 装饰不显示 stash 条目。
- 面板中不提供工作树的创建或移除操作。
结语¶
dsh-git-graph 为 Harness 提供了直观的 Git 可视化能力,适合需要深入理解代码库结构的场景。更多详情可查阅 SkillHub 目录 或 GitHub 仓库。