AI News HubLIVE
站內改寫2 分鐘閱讀

Show HN:Fleet Deck – 在一面板上檢視機器上所有 Claude Code 會話

Fleet Deck 是一個本地工具,可即時監控和管理所有正在執行的 Claude Code 會話。它提供一個看板,顯示每個會話的狀態、衝突提醒、需求佇列,並支援任務分配、遠端控制、會話恢復等功能。核心架構零模型呼叫,依靠鉤子事件和確定性邏輯,確保安全與高效。

來源Hacker News AI作者: lacion

Fleet Deck 是一個專為管理多個 Claude Code 會話而設計的本地監控與控制面板。無論你是在同一個倉庫的不同工作樹中啟動多個會話,還是臨時建立幾個輔助任務,Fleet Deck 都會將它們統一展示在一個瀏覽器看板上。每個會話都有一個獨特的呼號(如 falcon-a3f2),並顯示其即時狀態:排隊、工作中、驗證中、需要你、空閒、離線。這些狀態完全基於鉤子遙測,而非會話自報,從而避免了“覺得自己快完成了”的樂觀誤導。

衝突檢測是 Fleet Deck 的核心功能之一。當兩個會話在 30 分鐘內嘗試編輯同一檔案時,這兩個會話都會收到一條“協調,不要覆蓋”的上下文警告,同時看板上的相關卡片會閃紅。該檢測還支援工作樹感知:如果在倉庫的兩個不同工作樹中編輯同一個檔案,它也能提前預測未來的合併衝突。

看板上的“需要你”軌道會收集所有來自會話的許可權請求、選擇題、MCP 表單以及“我應該用 bcrypt 還是 argon2?”這類問題,你可以直接從看板作答。終端甚至不再顯示這些提示,而是直接列印“⎿ 已由 PermissionRequest 鉤子允許”並繼續執行。此外,Fleet Deck 還提供郵件功能,你可以向單個會話、整個倉庫或所有會話傳送訊息。訊息在下一個輪次邊界送達,空閒會話通常會在幾秒內收到通知。

Fleet Deck 還包含一個輕量級的編排器。你可以透過“assign auto: fix the flaky test”這樣的指令讓看板自動選擇一個最佳候選會話(空閒、負載最低、倉庫匹配)來執行任務,整個過程透過 SQL 查詢完成,不呼叫任何模型。你的 Token 不會被額外消耗。看板上的“+ Spawn”按鈕可以啟動一個全新的互動式 Claude 會話,並在 tmux 視窗中執行,你可以即時觀看其工作,也可以隨時終止它。

高階功能包括批次生成:勾選“batch”後,可以在輸入框中按行列出多個任務,每個任務會建立一個獨立的 git 工作樹和分支,互不干擾。3x 字首可以讓同一任務並行執行三次,以便競速找出最佳結果。在啟動前,表單會精確展示會話數量,讓你對資源使用一目瞭然。

Fleet Deck 的設計強調零模型呼叫和失敗開放。守護程序(fleetd)是一個 Node.js 後臺程式,使用 SQLite 儲存狀態,預設只繫結本地迴環地址 127.0.0.1,因此外部無法訪問。即使守護程序崩潰,鉤子會靜默超時,會話照常執行,不影響工作。看板本身是基於 React 的單頁應用,透過 WebSocket 與守護程序通訊。

對於使用者關心的安全性:Fleet Deck 的核心不做任何模型呼叫,只進行確定性邏輯處理。唯一的額外消耗是每次會話的 ~100 token 的簡短報告和偶爾的提醒。遠端控制功能允許透過 claude.ai 從手機操控會話,但預設繫結迴環,只有設定 FLEETDECK_BIND=0.0.0.0 並配置令牌後才能從 LAN 訪問。

Fleet Deck 還支援會話恢復(Revive)。當機器重啟或 tmux 崩潰後,已丟失的終端不會丟失工作——git 工作樹和會話記錄仍在磁碟上。離線但工作樹和記錄完整的卡片會顯示“⟲ revive”按鈕,點選後使用 --resume 標誌在原始工作樹中重新啟動會話,保留相同的呼號和完整歷史,甚至會話 ID 也會延續。

安裝方面,Fleet Deck 可以透過 Claude 外掛市場安裝:只需在終端中執行兩條命令,然後任何新的 claude 啟動都會自動向看板註冊。它要求 Node 22.5+,無需額外的 npm 安裝(守護程序作為單個捆綁檔案提供),並支援 Linux、WSL2 和 macOS。tmux 是可選的,但啟用後可以檢視終端面板或生成工作執行緒。

總之,Fleet Deck 為 Claude Code 使用者提供了一個強大的空中交通管制塔,幫助管理複雜的工作流程,減少衝突和混亂,同時保持極低的開銷和極高的可靠性。