前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在进行智能体开发或日常交互时,Git 仓库的管理与 GitHub 流程的流转往往需要频繁切换终端窗口。dsh-git-manager(原名 gitcompass)旨在解决这一问题,它将 Git 操作与 GitHub 流程可视化地集成到 DSH 的 Web 界面中,同时为 Agent 提供结构化的工具接口。
插件介绍¶
dsh-git-manager 是一个 GitHub 连接的 Git 可视化管理器。由 Dayi-Z 维护,采用 MIT 许可证。它不仅提供了可视化的操作面板,还内置了引导式 GitHub 流程和结构化的 Git 工具,旨在降低 Agent 处理版本控制的复杂度。
核心功能¶
引导流条
顶部提供可视化步骤指示器,引导完成 GitHub Flow 的标准流程:分支创建 → 提交 → 推送 → 创建 PR → 审核与合并。
分支与变更管理
- 分支管理:支持查看本地/远程分支,执行切换、创建、删除、重命名、合并、获取及检出远程分支操作。
- 变更视图:展示文件状态(已暂存/未暂存/未跟踪),支持暂存/取消暂存、提交、查看差异、暂存、推送、拉取及获取。
提交图与 PR 管理
- 提交图:采用类似 GitLens 的分 Lane 可视化布局,显示 SHA、提交信息,并带有 PR 标记。支持将提交 Cherry-pick 到当前分支或回滚提交。
- PR 管理:支持 PR 列表查看、详情展示(包含检查、审核、评论),创建 PR、Squash 合并,以及进行审核(批准/请求变更/评论)和添加评论。
Issue 管理
提供 Issue 列表、详情查看、创建新 Issue 及添加评论的功能。
GitHub 集成
- 支持设备流 OAuth 登录、PAT 输入以及 gh CLI 的复用。
- 在 Windows 上使用 DPAPI 对令牌进行加密存储,确保安全。
Agent 结构化工具
为模型提供标准化的 Git 和 GitHub 工具调用接口,包括 git_status、git_diff、git_branches、git_commit、github_pr_* 及 github_issue_* 等系列工具。
Agent 活动监控
通过 SSE 实时流监控 Agent 的每一次工具调用(开始/完成/失败)。同时,工作区观察器会轮询工作区状态,捕获插件工具之外执行的外部 Git 操作(如新的提交、分支切换、工作树变更),并在活动流中标记。
面板内审批
针对写入操作,面板会弹出审批卡片,支持直接“批准”或“拒绝”。该机制与 DSH 原生模态竞速,先决胜。无论审批策略如何设置(包括 never 策略),面板内的审批路径均可生效。若未连接面板,调用会快速失败并提示打开面板。
主题与国际化
- 面板 Chrome 完全基于 DSH 主题令牌构建,无需手动换肤,支持跟随 Light/Dark 模式及第三方皮肤。
- 自动跟随 DSH Web 的语言设置(中文/英文)。
安装与启用¶
安装插件:
dsh plugin --profile web add dsh-git-manager
本地开发模式:
dsh plugin --profile web add link:/path/to/dsh-git-manager
安装完成后,重启 dsh web。打开一个绑定到 Git 仓库的会话,右侧列会出现“Git Manager”面板。
架构与宿主模式¶
插件以 Cordis 插件形式注册,包含 HTTP 路由、工具定义、SSE 事件流及前端 UI。
双宿主模式
- 依赖 dsh-better-sidebar 时:插件会注册为侧边栏的一个 Tab,放弃独立的右列,面板内容通过侧边栏切换。
- 不依赖 dsh-better-sidebar 时:插件保持独立的右列卡片模式,卡片头部包含折叠手柄。折叠后仅保留头部,并停止后台轮询。
工作区感知
面板会解析所属会话的 cwd。同时,插件会监听文件工具(read、write 等)的路径参数,自动向上查找仓库根目录并注册。自动注册的仓库会标记为 name · auto,数量上限为 20 个,且优先淘汰最旧的自动条目。
注意事项¶
- 插件已从
gitcompass重命名为dsh-git-manager(2.0.0 起),涉及包名、HTTP 路由(/gitm/*)及 CSS 变量。 - 权限:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 依赖:
dsh-better-sidebar为可选依赖,用于侧边栏模式;若无此依赖,插件自动降级为独立卡片模式。 - 环境:依赖 DSH 版本
>=0.1.0-rc.6及 Node.js^22.19 || >=24。
总结¶
dsh-git-manager 将 Git 操作与 GitHub 流程可视化的同时,通过结构化工具与活动监控,增强了 Agent 对代码库状态的掌控力。其双宿主模式设计确保了在有无侧边栏环境下的兼容性,是构建 DeepSeek Harness 智能体时的实用辅助工具。