Codewhale:用 Rust 寫成、支援 40 多家模型的終端機 Coding Agent,每一步都留下「收據」
本內容僅供參考,詳細使用規則與工具安全性與否,建議要進行相關安全性測試與評估
終端機 Coding Agent 的戰場早已擠滿了選手:Claude Code、Codex CLI、OpenCode、Gemini CLI……每一個都綁著自家或特定的模型。Codewhale(Codewhale-hq/Codewhale)的切入點是「任何模型都能用」:以 Rust 撰寫,內建 40 多家模型供應商,也能接本機模型。它在 10 月 30 日的 AI 開源趨勢報告中被列為終端機 Agent 的代表,目前約 41.2k stars,main 分支已超過 14,000 次 commit。
1. 專案背景與定位
Codewhale 採 MIT 授權,README 的自我介紹是「一個可在終端機中使用、支援任何模型的開源 Coding Agent」:它會閱讀 repo、編輯檔案、執行指令,直到任務完成或需要你的輸入為止。
它不只是一個 TUI,而是一個共用同一個引擎的多介面工具:終端機互動介面、給腳本與 CI 用的 codewhale exec、本機網頁介面 codewhale web(綁定 127.0.0.1)、codewhale review --pr N 做 PR 審查,以及提供 HTTP 存取的 Runtime API 與給 Zed 等編輯器用的 Agent Client Protocol(ACP)。
2. 技術架構與核心設計
- 三種工作模式:Plan(規劃)、Work(實作)、Operate(操作)。
- 三種權限等級:
- Ask:執行任何非唯讀的 shell 指令前都會詢問
- Auto-Review:由規則與一個審查模型決定是否放行
- Full Access:完全不詢問,並關閉 Codewhale 的沙盒
- 作業系統沙盒:macOS 使用 Seatbelt、Linux 使用 bubblewrap(需已安裝);shell 被禁止讀取
~/.ssh、~/.aws等憑證儲存位置。 - 可稽核、可回復:
/receipts記錄每一個變更的檔案、執行的指令、網路與 MCP 呼叫,以及每一次核准;/undo與/restore提供回復機制;/preview-request可預覽經遮蔽處理的請求內容。 - 長任務支援:sub-agent、fleet(多 Agent 編隊),以及可以 check-in 進 repo 的工作流程。
- 擴充:MCP server、Skill、plugin、hook,以及實驗性的 Code mode。
- 指令檔案:讀取
AGENTS.md;CLAUDE.md等其他工具的指令檔需要使用者主動選擇才會載入——避免不同 Agent 的規則互相干擾。 - 模型彈性:40 多家內建供應商(Anthropic、OpenAI、DeepSeek、Google、Mistral、Moonshot、OpenRouter、xAI 等)、任何 OpenAI 相容端點,以及 Ollama、vLLM、SGLang 的本機模型;
/model auto可以每一輪自動挑選模型。預設模型是 DeepSeek 的deepseek-flash。
3. 社群熱度與生態採用
約 41.2k stars、3.6k forks,超過 14,000 次 commit,open issue 只有 57 個、open PR 只有 9 個——開發非常活躍而且維護得相當乾淨。安裝方式涵蓋 curl 腳本、winget、npm、Cargo、Docker、Nix,預編譯二進位檔支援 Linux、macOS、Windows 的 x64 與 arm64,另有 Termux 預覽版;社群也維護了一個 VS Code 擴充功能。
4. 局限性與潛在風險
- Windows 沒有作業系統沙盒:README 明說 Windows 目前沒有 OS 層級的沙盒,在 Windows 上使用時,權限設定要更保守。
- Full Access 會關閉沙盒:最高權限模式不只「不再詢問」,連沙盒都會關掉。在 CI 中使用
exec時,應確保執行環境本身就是拋棄式的容器。 - Auto-Review 依賴模型判斷:由審查模型決定是否放行指令,本質上仍是機率性的;高風險的 repo 建議維持 Ask 模式。
- Telemetry 預設開啟:會送出彙總資料,可用
codewhale config set telemetry false關閉。 - 預設模型的資料流向:預設使用 DeepSeek 的模型,企業使用前應確認程式碼送往的模型供應商是否符合公司政策,必要時改用自架模型。
- 多項功能仍為實驗性:Code mode、ChatGPT 驗證、Computer Use(僅 macOS、預設關閉)都標示為實驗性;原生桌面版尚未公開。
- 一行安裝腳本:
curl | sh等於完全信任下載當下的腳本,可改用套件管理器或驗證後的二進位檔。
5. 應用價值與適用場景
最適合不想被單一模型綁住的開發者與團隊:可以依任務切換不同供應商的模型、用本機模型處理敏感程式碼,或用 /model auto 在成本與品質之間自動取捨。/receipts 對需要稽核紀錄的團隊特別有價值——每一次 Agent 做了什麼、誰核准的,都有據可查。exec 與 review --pr 則讓它可以直接放進 CI 做自動化任務與 PR 初審。
Monday 的觀點與架構建議
/receipts是這個專案最值得推廣的設計:Agent 的每一個動作都應該留下可查詢的收據。這和 iFixAi 的稽核、Orca 的 diff 註解一樣,都在回答同一個問題——「Agent 到底做了什麼?」- 「指令檔預設只讀
AGENTS.md」是很細膩的設計:當一個 repo 同時存在多種 Agent 的設定檔,明確的載入規則可以避免意外的行為。 - 建議的權限策略:日常開發用 Ask、熟悉的低風險 repo 用 Auto-Review、Full Access 只在拋棄式容器或 CI 中使用;Windows 使用者另外搭配 WSL 或容器取得隔離。
- 從 Orca 的多 Agent 編排到 Codewhale 的多模型支援,可以看到 Coding Agent 正在走向「模型可替換、介面可組合、行為可稽核」的方向——這也意味著未來選擇 Agent 工具時,模型本身反而不再是唯一的考量。
參考來源
- GitHub:Codewhale-hq/Codewhale
- AI 開源趨勢日報:agents-radar 2026-10-30
- 相關文章:Orca:同時指揮一整隊 Coding Agent 的開源工作台
Friday