前言¶
在 DSH Web GUI 中完成代碼編輯後,需要手動執行一系列機械操作:暫存、寫提交信息、切分支、拉取、合併、推送。這些步驟不僅佔用時間,還容易因爲人爲疏漏導致分支或提交信息不符合團隊規範。dsh-branch-flow 在編輯器右側放入一個狀態芯片,點擊即可打開分支/提交/合併面板,在輸入過程中按規範校驗分支名與提交信息,減少重複勞動並降低出錯率。
是什麼¶
dsh-branch-flow 是一個 DSH Web GUI 插件,由 crystal-hang 維護。它提供分支流程面板:狀態芯片顯示當前分支名與變更狀態(乾淨/有變更/衝突),點擊展開後可提交變更、推送到遠程、合併到目標分支、查看本地/遠程分支列表與創建新分支。插件通過規則校驗分支名與提交信息,並支持 AI 生成分支名與提交信息。
核心功能¶
- 狀態芯片:位於編輯器輸入行左側,顯示分支名、狀態點(綠色=乾淨、黃色=有變更、紅色=衝突)、變更數量與領先/落後分支數。點擊打開面板。
- 分支流程面板:依次包含提交變更、推分支、合併到目標分支,以及分支列表與創建分支。所有操作通過按鈕完成,插件不註冊模型工具。
- 分支列表:分爲本地分支(默認展開)與遠程分支(默認摺疊)。遠程分支來自
origin/*但未在本地創建,切換時會自動創建跟蹤分支。 - 分支搜索:一個搜索框同時過濾兩組分支(不區分大小寫),支持一鍵清空。摺疊組也會顯示匹配數量。
- 刷新分支:頂部按鈕執行
git fetch --prune並重新讀取分支列表。 - 提交變更列表:僅顯示已跟蹤的文件(修改/新增/刪除/重命名),未跟蹤文件默認隱藏,右上角顯示“N files not in Git”供展開。
- 分支規則校驗:創建分支時校驗名稱格式與語義,包括大小寫、字符集、長度、環境名、用途表達等。
- AI 輔助:當主機提供
llm和agentDefaultModel時,可生成分支名與提交信息;缺失時面板會明確報錯。
安裝與啓用¶
插件是 DSH 配置包,安裝前需確認 DSH 版本 ≥ 0.2.1-rc.2,主機提供 webServer、subprocess、workspaceRegistry 服務。使用時將 <profile> 替換爲你的配置文件名(通常爲 desktop):
# 1) 從 GitHub(推薦,可固定版本)
dsh plugin --profile <profile> add github:crystal-hang/dsh-branch-flow#v0.1.0
# 2) 從 GitHub,使用最新提交
dsh plugin --profile <profile> add github:crystal-hang/dsh-branch-flow
# 3) 從本地目錄(開發/個人使用)
dsh plugin --profile <profile> add link:/path/to/dsh-branch-flow
# 4) 從 npm(如已發佈)
dsh plugin --profile <profile> add dsh-branch-flow
安裝後刷新頁面。芯片會出現在模型選擇器左側。
典型用法¶
- 安裝後,芯片出現在編輯器輸入行左側,顯示當前分支名與狀態。
- 點擊芯片打開分支流程面板。
- 在面板中查看變更文件(僅已跟蹤),確認後點擊“提交”。
- 選擇“推分支”將變更推送到遠程。
- 在目標分支下拉框中選擇合併目標,點擊“合併”完成合並。
- 通過搜索框或刷新按鈕查看/切換本地或遠程分支,或創建新分支。
適用場景與注意¶
適合在 DSH Web GUI 中需要規範分支命名與提交信息的團隊。使用前請檢查源碼與許可證(MIT)。插件以當前 DSH 進程權限運行,注意權限範圍與安全。
短結尾¶
dsh-branch-flow 將分支流程與規則校驗整合到 DSH 編輯器中,減少重複操作並提升規範性。更多信息見:目錄頁 與 GitHub。