dsh-git-graph: Git 提交图与工作树视图插件

前言

在 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 仓库。

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

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

小夜