前言¶
在 DeepSeek Harness(DSH)里写代码、跑智能体时,工作区里的 Git 改动往往要切到终端或 IDE 才能暂存、对比、提交。对话和轨迹视图能覆盖会话过程,但缺少一套贴近日常开发的版本控制界面。
dsh-github 由 PivotStackIntelligence 维护,在 DSH Web Harness 的会话视图环中增加第三个「Source Control」标签页,布局与交互对齐 VS Code 原生 Git Source Control 视图。下面介绍它的定位、能力与安装方式。
这是什么¶
dsh-github 是面向 DeepSeek Harness 的 Source Control 与 GitHub 仓库面板插件。它在会话主区域提供左侧 SCM 面板与右侧 diff 查看器的分栏布局,只显示当前会话工作区的仓库状态;切回对话标签即恢复聊天界面。
插件走本机 Git 配置(SSH 密钥、HTTPS credential helper、remote 等),不调用 GitHub API,不保存 GitHub token,不实现 OAuth,也不依赖 GitHub CLI。GitHub 相关链接在浏览器中打开;创建 Pull Request 通过 GitHub Compare 页面完成。Git 写操作需用户明确触发,每次操作后会重新读取仓库状态。
当前版本为 v0.2.0,MIT 许可证,GitHub 仓库约 26 stars。
核心功能¶
Source Control 标签页¶
会话视图环中,Source Control 与对话、轨迹并列。标签活跃时占满主区,无遮罩;仅展示当前会话 workspace 对应的仓库。
仓库头部与提交栏¶
仓库头部显示 workspace 名称、当前分支、ahead/behind 计数、GitHub 链接和刷新按钮。
提交栏支持多行 commit message、Amend 复选框,以及 Commit 下拉(Commit / Commit & Push / Commit & Sync / Undo Last Commit)。圆形 Sync/Publish 按钮旁显示 ↑n ↓n 计数。
改动分组与 diff¶
改动按 STAGED CHANGES、CHANGES、MERGE CHANGES 分组(未跟踪文件归入 CHANGES),可折叠,带数量 badge。组级动作包括全部暂存、全部取消暂存、全部丢弃。文件状态 badge 颜色对齐 VS Code:A 绿、M 棕黄、D 红、R/C 蓝、U 绿、! 黄。
diff 查看器支持 side-by-side 与 inline 两种模式,带行号与增删着色;文件头显示旧路径 → 新路径。冲突文件提供 Accept Current / Accept Incoming / Accept Both。丢弃单个或全部改动时通过内联确认弹窗,不使用裸 window.confirm。
提交历史、分支与远程¶
Commits 区段可按 message/author 搜索,展示短 SHA、标题、作者、相对日期与 refs badge;展开后可查看完整信息与逐文件 diff,并执行 Copy SHA、Checkout Commit、Create Branch、Create Tag。
Branches 区段高亮当前分支,支持 checkout、rename、delete、merge-into-current、rebase-onto。
Remotes 区段展示各 remote 的 fetch/push URL,支持 fetch、fetch (prune)、add、remove。
标签、stash 与合并状态¶
Tags 支持列表、create、push、delete。Stashes 支持列表、apply、apply & drop、drop、查看 diff。进行中的 merge 或 rebase 可从面板继续或中止。
Git 输出与自动刷新¶
可折叠的 Git 输出区段展示最近 git 命令及其脱敏后的输出。
打开标签时立即刷新;标签活跃期间每 3 秒轮询一次(切走后暂停);窗口 focus 或 visibility 变化时也会刷新。commits、branches、remotes、tags、stashes 等区段首次展开时懒加载,之后随每次 status 刷新更新。
环境要求¶
安装前确认以下条件:
- DeepSeek Harness
>=0.1.0-rc.6 PATH中可用 Git- 已配置 Git remote 与 credential helper(push、fetch、pull 需要)
从源码构建还需 Node.js >= 22.19、pnpm >= 9。
安装与启用¶
SkillHub 目录页与 GitHub README 给出的安装方式为从本地目录构建并注册到 Web profile:
pnpm install
pnpm run build
dsh plugin --profile web add .
重新构建插件后需重启 Web Harness。重启后,会话视图环中会出现第三个 Source Control 标签(与对话、轨迹并列)。
典型用法¶
查看与暂存改动¶
- 在 DSH 中打开含 Git 仓库的会话 workspace。
- 点击会话视图环中的 Source Control 标签。
- 在 CHANGES 分组中查看未暂存与未跟踪文件,使用
+暂存单个文件,或使用组级「全部暂存」。 - 右侧 diff 查看器对比选中文件的改动。
提交与同步¶
- 在提交栏填写 commit message;需要修正上一次提交时勾选
Amend。 - 点击
Commit,或从下拉选择 Commit & Push、Commit & Sync。 - 使用圆形 Sync/Publish 按钮查看 ahead/behind 计数并同步远程。
浏览历史与分支操作¶
- 展开 Commits 区段,按 message 或 author 搜索历史提交。
- 展开某条提交查看逐文件 diff,按需 Copy SHA、Checkout Commit、Create Branch 或 Create Tag。
- 在 Branches 区段 checkout、rename、merge-into-current 或 rebase-onto。
通过浏览器创建 Pull Request¶
插件不内置 PR 创建流程。推送分支后,点击仓库头部的 GitHub 链接,在浏览器中打开对应页面,通过 GitHub Compare 页面发起 Pull Request。
适用场景与注意¶
适合谁
- 在 DSH Web Harness 中开发,希望不离开会话界面完成暂存、diff、提交、分支与远程操作的用户。
- 已习惯 VS Code Git Source Control 布局,希望在 DSH 中获得相近体验的开发者。
使用注意
- 插件以当前 DSH 进程权限运行,读写的是本机会话 workspace 下的 Git 仓库。安装前应阅读源码并确认 MIT 许可证与行为边界。
- 不替代 GitHub CLI 或 GitHub API 集成:无 token 管理、无 OAuth、无法在面板内直接创建 PR。
- push、fetch、pull 依赖本机 Git 凭据配置;SSH 或 HTTPS credential helper 未配置时,同步操作会失败。
- 自动刷新在标签活跃时每 3 秒轮询;大型仓库或频繁切换标签时留意性能与网络开销。
相关链接¶
dsh-github 把 VS Code 风格的 Source Control 视图带入 DSH 会话主区,适合在智能体开发流程中就地管理 Git 改动,再通过浏览器完成 GitHub 侧协作。
- SkillHub 目录页:https://www.skillhub.cn/plugins/PivotStackIntelligence/dsh-github
- GitHub 仓库:https://github.com/PivotStackIntelligence/dsh-github