前言¶
DeepSeek Harness (DSH) 採用插件化架構,旨在通過插件擴展能力。在本地開發環境中,管理 Git 分支、工作樹狀態以及維護上下文是常見操作。dsh-git-workbench 旨在通過自動化會話環境選擇和上下文注入,解決 Git 工作流中的繁瑣問題。
這是什麼¶
這是一個 DSH Git 開發工作臺插件。它捕獲倉庫狀態(分支、ahead/behind、工作樹狀態、工作樹列表、暫存、最近提交),在會話開始時詢問在哪個分支或工作樹開發,並通過 /git 命令、git_workbench 代理工具和設置頁面切換分支/創建和管理工作樹。
核心功能¶
- 自動 Git 上下文(只讀):每個會話都會注入當前分支、ahead/behind、工作樹狀態(staged/modified/untracked/conflicts)、工作樹列表、暫存列表和最近提交。非 Git 目錄保持靜默。
- 新會話環境選擇(可跳過):使用
autoAsk時,代理會詢問一次要開發哪個環境(停留在當前分支、切換分支、創建新分支、打開現有工作樹或創建新工作樹)。 /git斜槓命令:提供分支切換、合併、分支創建、日誌、暫存管理等命令。git_workbench代理工具:代理可調用受防護的操作,與命令行具有相同的防護欄。- 側邊欄 Git 面板(Web):在側邊欄中查看工作臺覆蓋層,選擇工作區,查看狀態,並執行操作。
- Composer Git 棱條(Web):輸入框行顯示分支和乾淨/髒狀態,以及環境選擇。
- 合併與清理策略(代理規則):合併到主分支後,詢問是否刪除分支/工作樹。
- 防護欄:阻止在髒樹時切換分支;需要
--force才能移除髒的工作樹。默認情況下,allowForceSwitch和allowForceWorktreeRemove關閉。
安裝與啓用¶
使用官方安裝命令:
dsh plugin --profile web add dsh-git-workbench
典型用法¶
安裝後,打開一個 Git 倉庫會話,Git 上下文會被注入。可以使用以下命令進行管理:
/git status - 注入當前 git 上下文快照
/git switch <branch> - 切換分支
/git merge <target> - 將當前分支合併到目標
/git branch <name> - 創建分支並切換
/git log [N] - 最近提交
/git stash [push|list|pop|drop] - 暫存管理
/git worktree list/add/remove - 工作樹管理
適用場景與注意¶
- 工作樹管理:DSH 將每個工作樹視爲一個獨立的工作區/會話。
/git worktree add <branch>會創建工作樹並提示打開一個新會話。 - 髒樹防護:切換髒樹分支被阻止;工具返回
needsDecision(選項:stash first / force / cancel)。強制是allowForceSwitch(默認關閉)。 - 工作樹移除:移除工作樹不會針對主工作樹或當前會話的目錄;髒工作樹需要
--force。 - 依賴要求:需要
dsh >= 0.1.0-rc.6和Node >= 22.19.0。 - 模塊導入:不要從外部主機插件導入
@deepseek-ai/*以避免重複的模塊實例破壞工具調度。 - 生態背景:DSH 的設計理念是“一切皆插件”。該插件在社區目錄 https://www.skillhub.cn/plugins/kaixinbaba/dsh-git-workbench 註冊,與 DeepSeek 或幻方無官方從屬關係。
結語¶
該插件通過命令行、代理工具和 Web 界面,爲 DSH 用戶提供了完整的 Git 開發工作臺功能。更多細節和源代碼,請訪問 GitHub。