前言¶
在 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