Claw Code:把 CLI agent harness 做成 Rust 版,還把「先 doctor 再開工」變成流程
Claw Code 不是單純把 CLI agent 重寫成 Rust,而是把 onboarding、doctor 檢查、JSON 輸出、mock parity harness 與權限控制一起納入產品設計。對正在做 coding agent 或開發者工具的人來說,這是一個很值得拆解的 repo。
Claw Code:把 CLI agent harness 做成 Rust 版,還把「先 doctor 再開工」變成流程
如果你只看 AI coding tools 的 demo,很容易誤以為重點是「它能不能幫你寫出一段程式碼」。
但真正值得研究的,往往不是輸出檔案,而是它怎麼被啟動、怎麼被驗證、怎麼被控管、怎麼被重跑。
Claw Code 就是這類 repo 的代表。它是 Claw Code CLI agent harness 的公開 Rust 實作,核心工作區在 rust/,主要入口是 claw CLI。從 README 和使用文件來看,它不是只把一個舊工具「搬到 Rust」,而是把一整套 agent 工作流一起整理成可重複執行的產品表面。
截至我查看時,這個 repo 已經有 19 萬+ stars,而且最近仍然持續更新。這讓它不只是「又一個 coding agent 專案」,而是很適合拿來觀察:一個 agent 工具要怎麼從 demo 變成真正可用的工程系統。
先從第一步開始:doctor
Claw Code 最讓我有感的地方,是它把「先檢查環境」做得很明確。
官方文件直接把 /doctor 放在第一個建議動作:先啟動 claw,再跑 doctor health check。這個設計很務實,因為 agent 類工具最常見的問題,從來不是模型不會回答,而是:
- API key 沒設好
- 權限模式不對
- 工作區沒有初始化
- session 狀態不一致
與其讓使用者在失敗後自己猜,不如把診斷流程變成產品的一部分。這也是 Claw Code 跟很多「看起來很會」的 AI 工具不一樣的地方:它先承認真實世界很髒,再提供一個乾淨的起跑線。
它不是只有 REPL,還有完整的 CLI 工作流
從 USAGE.md 看,Claw Code 的重點不是只有互動式 REPL,而是一整套可機器化的操作面:
cargo build --workspace
./target/debug/claw
/doctor還有:
claw init:初始化專案,建立.claw、.claw.json、.gitignore與CLAUDE.mdclaw prompt "...":單次執行 promptclaw --output-format json ...:把核心命令輸出成可腳本化格式claw state:讀取 worker stateclaw agents/claw mcp/claw skills/claw sandbox:把 agent 生態需要的周邊能力也納進來
這些功能看起來很像「工具列表」,但其實是在傳達一個很重要的訊息:agent 不是一個 prompt,而是一套可運行的系統。
如果你在做開發者工具,這種設計比單純追求模型輸出更值得學。
Rust 的價值,不只是「更快」
很多人看到 Rust rewrite,第一反應是效能。
但 Claw Code 更有意思的地方,是它把 Rust 用在一個更現實的目標:讓 agent 的行為可預測、可驗證、可回放。
在 rust/README.md 裡,它把能力列得很完整:
- provider flows + streaming
- interactive REPL
- tool system(bash、read、write、edit、grep、glob)
- web tools
- permission system
- MCP server lifecycle
- session persistence + resume
- git integration
- machine-readable JSON output
- slash commands
另外,專案還有 deterministic mock Anthropic service、clean-environment CLI harness、mock parity scenarios。這類東西很少出現在對外宣傳頁上,但對真正要把 agent 做成產品的人來說,卻是關鍵。
因為最後決定工具能不能上線的,往往不是「它會不會回答」,而是:
- 它能不能在乾淨環境中重現?
- 它能不能被測試?
- 它能不能安全地跑工具?
- 它能不能把狀態寫回去?
- 它能不能把失敗模式變清楚?
Claw Code 的方向很明顯:先把這些問題變成一等公民,再談智能。
我覺得最值得學的是:它把「系統」放在「成果」之前
這個 repo 的哲學文件有一句話很準:如果你只看生成出來的檔案,你就看錯層了。
這句話放在 agent 時代特別有意義。
因為我們現在很容易被「結果」迷惑:
- 生成了幾個檔案
- 寫了多少行 code
- 一次任務完成得多漂亮
但真正拉開差距的,是背後那套協作結構:
- 人怎麼下指令
- agent 怎麼拆解任務
- 如何檢查
- 如何恢復
- 如何把通知與追蹤移出上下文視窗
Claw Code 很像是在公開演示:當 agent 工具成熟到一定程度,產品賣點就不只是「幫你做事」,而是「怎麼穩定地做事」。
如果你在做 coding agent,這個 repo 值得怎麼看
我會建議從這幾個角度讀 Claw Code:
- 先看 onboarding:第一次跑起來要做什麼?
- 再看 diagnostics:
/doctor解決哪些常見失敗? - 再看 automation surface:它如何支援 JSON、session、state、init?
- 再看安全與權限:工具執行如何被管控?
- 最後看 parity / harness:它怎麼驗證行為沒有跑掉?
如果一個 agent 專案只展示「會回答」,那通常還不夠。
如果它連如何讓人放心地使用都設計好了,才開始接近一個真正可持續的產品。
結語
Claw Code 讓我最有印象的,不是它把 CLI agent 做成 Rust,也不是它有哪些命令,而是它很清楚地把一件事說明白:
AI 工具的競爭,最後會從「誰會生成內容」走向「誰能把流程定義得更可靠」。
對正在研究 coding agent、開發者工具或 AI 工作流的人來說,這是一個很值得拆解的 repo。
它不是一個單純的 demo。它是在把 agent 產品化這件事,做成可閱讀的系統設計。
參考資料
- GitHub: https://github.com/ultraworkers/claw-code
- Usage guide: https://github.com/ultraworkers/claw-code/blob/main/USAGE.md
- Rust workspace: https://github.com/ultraworkers/claw-code/blob/main/rust/README.md
- Parity status: https://github.com/ultraworkers/claw-code/blob/main/PARITY.md
- Philosophy: https://github.com/ultraworkers/claw-code/blob/main/PHILOSOPHY.md