DeepSeek Harness 插件:dsh-git-manager

前言

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 智能体时的实用辅助工具。

目录页 | GitHub 仓库

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

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

小夜