前言¶
在 DeepSeek Harness(DSH)里用智能体改代码时,工作区往往会积累一批未提交的变更。若每次都要切到终端执行 git status、git add、git commit,再单独打开历史与 diff,流程会打断在 Web 里的连贯操作。社区插件 dsh-plugin-git-commits(维护者 simin-xxm,分类为客户端)在 Web UI 侧边栏增加 Git commits 入口,在同一界面完成变更查看、暂存提交,以及与远端同步、浏览提交历史与文件 diff。
这是什么¶
该插件面向已运行 dsh web 的环境:在侧边栏挂载操作入口,通过宿主提供的只读 API 与写入 API 调用本机 git,不离开 Harness 即可完成常见版本控制动作。当前 package 版本为 1.1.0,许可证 MIT,要求 DSH >=0.2.2-rc.1。
核心功能¶
Changes(变更)页¶
- 工作区文件按 Staged / Unstaged(含未跟踪)分组,展示
AMDRU标记及+n / -n行数。 - 可按文件切换暂存状态,或在分组标题处一键 stage / unstage 全部。
- 并排 diff 带行号:工作区对索引、索引对 HEAD;未跟踪文件按新文件 diff 展示。
- 提交框支持
⌘/Ctrl + Enter提交,仅提交已暂存内容;按钮显示待提交文件数。 - Sync 执行
git fetch --all --prune,界面显示落后↓n/ 领先↑n。 - Pull ↓n 拉取远端提交,默认 rebase,可选 merge,并使用
--autostash保护未提交改动。 - Push 推送当前分支;首次推送使用
-u origin HEAD设置上游。 - 涉及远端写入的操作会先请求确认。
- Pull 冲突时显示红色横幅列出冲突文件,并提供 Abort merge(
git rebase --abort/merge --abort)。
History(历史)页¶
- 提交列表含短 hash、作者、日期、主题,支持 Load more 分页加载。
- 可查看单次提交涉及的文件列表,以及带行号的统一 diff(增删高亮、hunk 标题高亮)。
安装与启用¶
全局安装:
dsh plugin add dsh-plugin-git-commits
安装到指定 profile(各 profile 插件相互独立):
dsh plugin --profile web add dsh-plugin-git-commits
安装后需重启 dsh web 宿主以便挂载 bundle,并用下列命令确认插件已加载:
dsh plugins list
本机需在 PATH 中提供 git;若可执行文件不在默认路径,可设置环境变量 DSH_GIT_BINARY 为其绝对路径。
典型用法¶
- 重启
dsh web后打开 Web UI,从侧边栏进入 Git commits。 - 在 Changes 中查看未暂存与已暂存文件,按需 stage 单文件或整组,在 diff 中核对改动。
- 填写提交说明,使用
⌘/Ctrl + Enter或提交按钮完成 commit(仅 staged 内容)。 - 使用 Sync 查看与远端差距后,按需 Pull 或 Push;首次推送会自动设置 upstream。
- 切换到 History,浏览提交记录,点选某次提交查看文件列表与统一 diff。
插件读写通过宿主路由完成(只读 GET /git-commits-api/...,写入 POST /git-commits-write/...),具体路径与 JSON 体见项目 README。
适用场景与注意¶
适合: 已在 DSH Web 中开发、希望减少终端切换、在受控工作区内完成日常 Git 操作的开发者。
注意:
- 插件在 当前 dsh 进程权限 下执行
git命令;安装与启用前宜阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全策略。 - 命令仅在
workspaceRegistry登记的工作区(及 profile 默认目录)内运行,其它路径会被拒绝(403)。 - 推送会改写远端分支,拉取会改写工作区;界面会对这类操作要求确认。Pull 失败可能留下冲突状态,可用 Abort merge 回退到 pull 之前。
- 写入请求需同源;
git通过 argv 数组调用,不经 shell。读超时 20s,写超时 120s。
DSH 生态主张「一切皆插件」;社区目录站点与 DeepSeek / 幻方无官方从属关系,本插件来自社区维护者 simin-xxm。
结尾¶
dsh-plugin-git-commits 把暂存、提交、同步、历史与 diff 收进 Web UI 侧边栏,适合在 Harness 工作流里就地完成 Git 日常操作。更多信息见目录页 skillhub.cn/plugins/simin-xxm/dsh-plugin-git-commits 与仓库 github.com/simin-xxm/dsh-plugin-git-commits。