前言¶
在 DeepSeek Harness (DSH) 的 Web 環境下,會話通常對應一個具體的工作區目錄。當項目使用 Git 管理時,開發者需要頻繁在本地不同分支間切換。手動執行 git checkout 命令打斷工作流,且在 Web 界面中操作不夠直觀。dsh-git-branch-switcher 插件直接在會話頭部提供分支膠囊,將 Git 操作集成到 DSH 的 UI 中。
這是什麼¶
這是一個 DeepSeek Harness (DSH) Web 客戶端插件。由 mixin-ai 維護。它通過在會話頭部顯示一個膠囊按鈕,讓用戶能夠直接在 DSH 界面中查看當前 Git 分支並進行切換,避免頻繁在終端和界面間跳轉。
核心功能¶
- 分支膠囊顯示:在會話頭部右上角顯示當前 Git 分支(僅在 Git 管理的工作區中顯示)。
- 分支切換:點擊膠囊彈出分支面板,列表中當前分支會以 ✓ 高亮,點擊任意分支即可執行
git checkout。 - 狀態同步:支持
detached HEAD狀態,顯示短提交哈希;每 30 秒自動刷新,並支持點擊 ↻ 按鈕手動刷新。 - 錯誤反饋:切換失敗時(如本地有衝突改動),會顯示 Git 原始報錯信息。
- 主題與安全:所有顏色使用
--dsw-*主題 token,適配亮/暗模式;Git 命令與會話 Shell 使用同一套沙箱策略執行。
安裝與啓用¶
執行以下命令將插件安裝到 Web profile:
dsh plugin --profile web add "github:mixin-ai/dsh-git-branch-switcher#main"
安裝後重啓 Web profile 以加載插件:
dsh --profile web
典型用法¶
- 打開一個工作區爲 Git 倉庫的會話。
- 在會話頭部右上角點擊分支膠囊。
- 在彈出的面板中選擇目標分支進行切換。
- 若需立即同步最新狀態,點擊面板內的 ↻ 按鈕重新讀取分支列表。
適用場景與注意¶
- 適用範圍:該插件僅在 Git 管理的工作區中才會顯示分支膠囊。
- 版本要求:依賴 Node.js 版本爲
^22.19.0或>=24.0.0。 - 安全性:插件通過
shell服務執行 Git 命令,遵循與會話 Shell 相同的沙箱策略。分支名經過單引號轉義並拒絕控制字符,防止命令注入。
短結尾¶
該插件通過將 Git 操作下沉到會話頭部,降低了 Web 環境下分支切換的操作成本,適合需要頻繁在 DSH 中進行代碼切換的開發者。插件詳情與源碼位於:GitHub。