cloclo (claude-code-sdk) 研究筆記¶
資料來源¶
| 項目 | 連結 |
|---|---|
| GitHub Repo | SeifBenayed/claude-code-sdk |
| npm | cloclo |
| 授權 | MIT |
專案概述¶
| 指標 | 數值 |
|---|---|
| Stars | 93 |
| Forks | 26 |
| 語言 | JavaScript(單檔 claude-native.mjs,~18,500 行) |
| 建立日期 | 2026-03-23 |
cloclo(原名 claude-code-sdk)是一個多 Provider 的 AI Coding Agent CLI,目標是成為 Claude Code 的開源替代品。核心賣點是單檔架構 + 13 個 LLM 後端,從 Anthropic、OpenAI 到本地 Ollama 都支援,且可在 REPL 中即時切換。
與 Claude Code 的定位差異¶
Claude Code = 官方工具、僅 Anthropic 模型、閉源
cloclo = 開源替代、13 Provider、單檔可讀
Claude Agent SDK = 官方 SDK、每用戶一個 CLI 進程
cloclo NDJSON = 輕量嵌入、無額外進程開銷
核心功能¶
13 個 LLM 後端¶
| 分類 | Provider | 代表模型 |
|---|---|---|
| 雲端付費 | Anthropic | claude-sonnet-4-6, claude-opus-4-6 |
| 雲端付費 | OpenAI Chat | gpt-5.4, gpt-4o, o3 |
| 雲端付費 | OpenAI Responses | gpt-5.3-codex |
| 雲端付費 | Google Gemini | gemini-2.5-flash/pro |
| 雲端付費 | DeepSeek | deepseek-chat/coder |
| 雲端付費 | Mistral | mistral-small, codestral |
| 雲端付費 | Groq | llama-3.3-70b, mixtral-8x7b |
| 本地 | Ollama | 任何已 pull 的模型 |
| 本地 | LM Studio | 本地模型 |
| 本地 | vLLM | 本地模型 |
| 本地 | Jan | 本地模型 |
| 本地 | llama.cpp | 本地模型 |
REPL 中即時切換:/model codex → /model ollama/llama3.2
Agent 能力¶
- 完整 Agent Loop:streaming + tool calling + multi-turn + sub-agent
- 內建工具:Bash, Read, Write, Edit, Glob, Grep, WebFetch, WebSearch, Agent, MemoryShare
- Extended Thinking:
--thinking 8192 - MCP 整合:
--mcp-config servers.json - 6 種權限模式:auto → bypassPermissions
- Session 管理:resume, checkpoints, rewind
- Skills Marketplace:45+ skills 可瀏覽安裝
- NDJSON Bridge:程式化嵌入,任何語言可呼叫
外部工具整合¶
支援兩種外部工具類型:
| 類型 | 用途 | 範例 |
|---|---|---|
cli |
包裝 CLI 二進位 | gh, vercel, kubectl |
http |
包裝 REST API | 內部微服務、Webhook |
架構¶
AgentLoop (streaming, tools, permissions, hooks)
├── AnthropicClient → /v1/messages
├── OpenAIClient → /v1/chat/completions
├── OpenAIResponsesClient → /v1/responses
└── OpenAI-compat → Gemini, DeepSeek, Mistral, Groq, local
每個 Provider 實作 detect(), createClient(), resolveAuth(), capabilities。AgentLoop 只讀 capabilities,不檢查 provider 名稱。
目前限制 / 注意事項¶
- 單檔 18,500 行:可讀但不易維護,PR 合併困難
- Stars 僅 93:社群規模小,穩定性未經大規模驗證
- 安全分類器依賴 LLM:28 BLOCK rules + 7 ALLOW exceptions,但準確度未知
- OAuth 登入:支援 Anthropic Pro/Max 和 ChatGPT Plus/Pro 訂閱直接用
研究價值與啟示¶
關鍵洞察¶
-
「Provider-agnostic Agent Loop」的正確抽象:AgentLoop 從不
if (provider === "openai"),而是透過 capabilities 合約讓 provider 自描述能力。這是多 Provider Agent 的教科書級抽象。 -
單檔架構的取捨:18,500 行單檔讓安裝和部署極簡(
npx cloclo),但犧牲了可維護性。適合原型期,不適合大型團隊。 -
NDJSON Bridge 是最被低估的功能:允許任何語言透過 stdin/stdout 與 Agent 互動,不需要啟動完整 CLI 進程。這比官方 Claude Agent SDK 的「每用戶一個 CLI 進程」輕量得多。
-
Skills Marketplace 的野心:45+ skills +
/marketplace命令,試圖建立生態系統。但 93 stars 的社群規模難以支撐。
與其他專案的關聯¶
- Claude Code:cloclo 試圖成為其開源替代品,功能覆蓋相當完整
- Learn Claude Code(
docs/learn-claude-code.md):learn-claude-code 教你理解原理,cloclo 給你一個可用的實作 - Everything Claude Code(
docs/everything-claude-code.md):everything-claude-code 是 Claude Code 的擴展,cloclo 是獨立替代品