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
羽毛球分组比赛记分
小程序二维码

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

小夜