UStackUStack
Baton icon

Baton

Baton 以隔離 git worktree 並行編排多個 AI 程式碼代理,提供狀態監控與差異檢視,送出 PR 前先比對變更。

Baton

Baton 是什麼?

Baton 是一款終端原生應用程式,可並行執行多個 AI 程式碼代理。它在隔離的 git 工作區中編排代理執行,讓每個任務都能獨立運行而不互相干擾。

其核心目的是在您檢視與整合代理輸出時,減少協調成本。Baton 提供每個工作區的狀態監控、基於差異的變更檢視,以及 git 感知控制,例如分支、Pull Requests 和每個工作區的檔案瀏覽。

主要功能

  • 並行任務的工作區隔離:每個工作區由獨立的 git worktree 與分支支援,旨在防止代理執行互相衝突(無需在工作區間進行 stash/切換)。
  • CLI 原生多代理編排:在完整終端工作階段中執行終端 AI 程式碼代理(非簡化包裝)。網站列出支援 Claude CodeCodexOpenCodeGemini CLI,以及「任何 CLI 代理」。
  • 工作區監控與狀態徽章:標記狀態徽章顯示代理是否等待輸入、成功完成或發生錯誤。工作區以儀表板形式群組,讓您一目了然需要注意之處。
  • Git 感知變更檢視:Monaco 驅動的差異檢視器顯示每個代理的變更,支援分割與統一差異模式,並在開啟 PR 前提供個別檔案回滾功能。也支援與分支比較,不限 main
  • 內建工作區管理:從想法快速建立工作區(自動產生分支名稱、標題與描述)。封存完成的工作區,並批次停止/封存/刪除多個工作區。
  • 範本、搜尋與瀏覽:將 shell 指令與代理提示儲存為可重用範本,執行模糊檔案搜尋與全文內容搜尋(fzf + ripgrep),並瀏覽提交歷史與檔案歷史(含每個提交的差異)。
  • 終端與編輯器工作流程:每個工作區支援多終端分頁與窗格分割、可搜尋的高亮輸出,以及 Shift+Enter 多行輸入。編輯器包含 git blame 與 Monaco 檔案檢視器。
  • Git GUI 動作與 PR 建立:從應用程式一鍵擷取/拉取/變基/推送,並開啟 GitHub 或 GitLab 的 Pull Requests(如同頁面所述)。
  • 代理預設與自訂指令:定義多種代理 CLI 預設,包含不同啟動模式、旗標與自訂啟動腳本。設定透過終端工具執行的自訂代理指令。
  • MCP 伺服器支援:代理可從對話中啟動新 Baton 工作區、並行執行任務,並直接更新工作區標題/描述(透過整合 MCP 伺服器)。

如何使用 Baton

  1. 啟動 Baton,並描述您想建置的內容。
  2. Baton 使用專用 git worktree 與分支建立隔離工作區,隨即啟動代理。
  3. 使用儀表板與狀態徽章確認代理是否完成、發生錯誤或等待輸入。
  4. 變更準備就緒時,開啟差異檢視器檢視代理修改內容,回滾不需要的個別檔案,然後從應用程式開啟 Pull Request。
  5. 完成任務後,封存工作區以保持工作區邊欄整潔。

使用情境

  • 隔離分支的並行功能開發:為多個程式碼任務建立獨立工作區,讓每個代理執行獨立於其 git worktree,完成後逐一檢視與 PR。
  • 審核優先的代理輸出以確保 PR 安全:使用 Monaco 差異檢視器(分割/統一)逐檔檢查每個代理變更,回滾特定檔案,滿意後開啟 PR。
  • 處理需要輸入的代理提示:監控「輸入」狀態徽章,當代理等待時回應並繼續,無需在分頁間切換。
  • 調查程式碼變更原因:在 Baton 內使用 git blame 與提交歷史檢視追蹤行變更至提交,並以差異檢視檔案歷史(包含行級統計與 git 歷史的重新命名追蹤)。
  • 重用驗證過的指令與提示:將 shell 指令與代理提示儲存為範本,從工具列在不同工作區執行。

常見問題

Baton 支援哪些 AI 程式碼代理?

網站明確列出 Claude CodeCodex (Codex CLI)OpenCodeGemini CLI,並說明 Baton 可執行 any CLI agent

Baton 如何避免代理執行間的合併衝突?

Baton 將每個工作區隔離為獨立的 git worktree 與專屬分支。頁面描述這可防止代理執行互相干擾,避免在任務間切換或暫存需求。

「input」狀態代表什麼?

在工作區監控 UI 中,input 標記表示代理正等待您的輸入。

開啟 PR 前能否檢視變更?

可以。Baton 提供差異檢視器,讓您審核每個 AI 代理的變更,並可在開啟 Pull Request 前還原個別檔案。

Baton 是否為終端機工具?

是的。產品描述為「以終端機為核心」,強調 CLI 原生代理執行,以及終端機功能如分頁、窗格分割與可搜尋輸出。

替代方案

  • 本地 git + 手動代理執行與獨立分支:您可自行在各分支/worktree 執行代理,然後手動檢視差異並開啟 PR;這通常缺乏 Baton 的集中監控面板與內建差異/責備/工作區管理。
  • IDE 內建 AI 助理功能:基於 IDE 的 AI 工具可在編輯器內提供代理聊天與程式碼建議,但可能無法提供 Baton 所述的 worktree 隔離並行執行模式與終端機導向的多代理工作流程。
  • 無 git worktree 隔離的任務/代理編排工具:一般編排平台可協調多代理執行,但 Baton 強調使用真實 git worktree 與任務專屬分支,將代理輸出分離以供檢視。
  • 版本控制導向的檢視工作流程(差異 + PR 工具):程式碼檢視工具有助檢查變更與管理 PR,但通常不結合並行 AI 代理執行與工作區層級狀態追蹤。