使用手冊

會話產生與 Git 協作

兩項相輔相成的功能:透過 vspawn 產生子任務並將其放入獨立的子會話中(可選地在隔離的 git worktree 中),以及一種圖形化合併功能,用來將平行分支重新整合。這兩者共同讓「多個代理程式同時處理同一個儲存庫」成為日常的工作流程。

1. 什麼是產生子任務

從任何會話中都可以分離出一個子任務:VelaTerm 會在目前節點之下建立一個新的子會話(樹狀結構變成階層式:父節點 → 子節點 → 孫節點),可選地為其配置一個隔離的 git worktree,並將任務描述作為新會話的 第一條訊息——新的代理程式在啟動後立即開始工作,無需再次說明。

如此一來,樹狀結構中就會出現一個真正的會話——它有自己的進程、完全互動且可重新開始——您隨時都可以觀看或切換進去。它並非隱藏的背景任務。

2. 四種進入方式

進入方式使用者Worktree
終端機指令 vspawn "task"任何會話中的您預設為關閉;需--worktree啟用
終端機指令 vspawn-tree "task"同上始終開啟
/vspawn task 在 Claude 對話中Claude 會產生它(並將任務擴展為一個內容豐富的完整提示)預設為關閉
/vspawn-tree task 在 Claude 對話中同上始終開啟

這兩種終端機指令會自動注入到每個會話的 PATH中——無需安裝。

使用/技能的先決條件:在 Claude 能夠使用/vspawn/vspawn-tree(或主動產生子會話)之前,請在設定 ▸ 一般中啟用Vela Skills。這會將/vspawn/vspawn-tree/vopen技能以套件形式安裝到~/.claude/skills/中;這些技能會在應用程式升級時自動保持最新。啟用後,請開啟一個新的 Claude 會話(或重新啟動現有的會話),讓代理程式取得這些技能。若沒有這一步,Claude 就不會知道這些指令——只能使用在終端機輸入的vspawn / vspawn-tree方式。

3. 產生前確認

預設情況下,每次產生子任務時都會先顯示一張確認卡片(位於右上角,非模態,不會佔用焦點):

產生確認卡片

  • 有三個可編輯的欄位:提示(多行)、代理程式類型(預設為父節點的類型),以及獨立 git worktree
  • 按下「啟動」即會開始子會話;按下「取消」則會放棄該請求。當一個代理程式同時產生多個子任務時,卡片會逐一處理(卡片上會顯示剩餘數量)。
  • 如果您希望完全跳過確認步驟,請在設定 ▸ 行為中關閉「產生前確認」。

4. Worktree:平行處理而不互相干擾

開啟 worktree 選項後,子會話會在自己的工作目錄中的新分支上工作——與主要工作區以及其他子會話隔離。這正是多代理程式平行處理的理想結構。管理功能位於會話的右鍵選單中的「Worktree ▸」之下:可查看變更、複製/打開 worktree 資料夾、刪除 worktree(可選擇強制丟棄未提交的變更)。

即使從非 git 目錄產生子任務也依然可行;此時會回退到共享父節點的目錄,且不會產生 worktree。

5. 合併:圖形化Git合併

當工作完成後,就將其合併回主分支。任何工作目錄為 git 儲存庫的會話(是否有 worktree皆可):右鍵點擊 → 「Git ▸ 合併…」即可打開合併對話方塊:

  • 您可以在其中選擇來源分支和目標分支,並可交換方向——將子分支合併回主分支,或將主分支拉取到子分支以更新其基準線,所有操作都在同一個對話方塊中完成。
  • 合併操作會在已檢出目標分支的工作樹中執行;如果來源樹中有未提交的變更,系統會先將這些變更提交,以避免資料遺失。
  • 遇到衝突時,系統會保留當前狀態,讓您(或某個代理程式)在終端機中解決衝突後再繼續。

合併操作不會自動刪除 worktree——請在確定無誤後,透過「Worktree ▸ 刪除 worktree…」來清理它。

6. 一個典型的工作流程

  1. 在主要會話中,讓 Claude 分析任務,然後/vspawn-tree refactor the checkout module產生子任務(需要 Vela Skills——見第 2 節)。
  2. 查看確認卡片上的提示,然後按下啟動——子會話會在其自己的 worktree 中開始運作,會顯示在側邊欄中其父節點下方,點狀圖示會變成綠色。
  3. 您繼續在主要會話中工作;當子會話有問題或完成任務時,其點狀圖示會變成黃色,並會出現通知。
  4. 切換進去查看,然後右鍵點擊 → 「Git ▸ 合併…」將其分支合併回主分支。
  5. 使用「Worktree ▸ 刪除 worktree…」進行清理,之後將子會話存檔以作紀錄。