dsh-github:在 DeepSeek Harness 里用 Source Control 面板管理 Git 仓库

前言

在 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 标签(与对话、轨迹并列)。

典型用法

查看与暂存改动

  1. 在 DSH 中打开含 Git 仓库的会话 workspace。
  2. 点击会话视图环中的 Source Control 标签。
  3. 在 CHANGES 分组中查看未暂存与未跟踪文件,使用 + 暂存单个文件,或使用组级「全部暂存」。
  4. 右侧 diff 查看器对比选中文件的改动。

提交与同步

  1. 在提交栏填写 commit message;需要修正上一次提交时勾选 Amend
  2. 点击 Commit,或从下拉选择 Commit & Push、Commit & Sync。
  3. 使用圆形 Sync/Publish 按钮查看 ahead/behind 计数并同步远程。

浏览历史与分支操作

  1. 展开 Commits 区段,按 message 或 author 搜索历史提交。
  2. 展开某条提交查看逐文件 diff,按需 Copy SHA、Checkout Commit、Create Branch 或 Create Tag。
  3. 在 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
羽毛球分组比赛记分
小程序二维码

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

小夜