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