CLI Coding Agent 架构全景对比

五大终端 AI 编程工具按维度横向对比 — 基于开源代码与官方文档

📋 概览速查

一张表看完核心差异

维度 Claude Code Codex CLI Gemini CLI OpenClaw 🦞 OpenCode
开发语言 TypeScript
React + Ink
Rust 96%
Ratatui TUI
TypeScript
React + Ink
TypeScript TypeScript
Solid.js + Bun
开源协议 Source-available
(限商用)
Apache 2.0 Apache 2.0 Apache 2.0 MIT
模型支持 仅 Claude 系列
Opus/Sonnet/Haiku 4.x
仅 OpenAI 系列
codex-mini, o4, o3
仅 Gemini 系列
2.5/3.x Pro/Flash
多模型路由
Claude/GPT/Gemini/本地
75+ Provider
AI SDK 抽象层
子 Agent 成熟
Agent Teams + Worktree
完整
spawn_agent 五件套
实验性
generalist/investigator
ACP 协议
跨 Agent 编排
支持
Build/Plan + 自定义
沙箱隔离 OS 级 最强
Seatbelt/Bubblewrap
Docker 可选
GitHub Stars ~73k ~22k ~85k ~180k ~27k

🔄 核心循环 (Agentic Loop)

模型推理 → 工具调用 → 结果回传 → 继续推理。所有工具共享这个基础,但实现策略各异。

Claude Code

  • Generator-based async 迭代循环
  • 消息总线 + 优先级队列 (System > User > Tool)
  • 92% token 阈值触发 LLM 辅助压缩 (6.8x)
  • 双缓冲 RingBuffer (~10k msg/s)
  • React + Ink 流式渲染
  • Ctrl+C 即时中断/转向

Codex CLI

  • Queue-based Op/Event 协议
  • ThreadManager 管理 Codex 实例
  • Mutex 保护的 SessionState
  • Ratatui 全屏 TUI (ChatWidget)
  • headless 模式 (codex exec)
  • JSONL rollout 文件支持回放

Gemini CLI

  • cli (渲染) + core (推理) 双包分离
  • GeminiChat 管理会话历史
  • ToolRegistry → 执行 → 回传
  • MessageBus pub/sub + React Context
  • React + Ink TUI, Vim 模式支持
  • @ 命令 / ! shell / / 斜杠三种输入路由

OpenClaw 🦞

  • 事件驱动 + 多前端网关
  • 消息路由到 7+ 聊天平台
  • Skill 编排引擎驱动任务分发
  • ACP 协议做 Agent-to-Agent 通信
  • PTY 管理交互式子进程
  • 非纯编程 Agent — 通用助手定位

OpenCode

  • Client/Server 架构 (HTTP + SSE)
  • Tool.define + Zod schema 验证
  • 权限检查 → 插件钩子 → 执行 → 截断
  • Solid.js + OpenTUI (Elm 架构)
  • Tab 切换 Build/Plan Agent
  • SQLite + Drizzle ORM 持久化

🛠 工具层 (Built-in Tools)

内置工具是 Agent 操作世界的手脚。工具集越丰富,Agent 能力越强。

Claude Code 10+ 工具

  • 文件: Read, Write, Edit, MultiEdit
  • 搜索: Glob, Grep
  • 执行: Bash
  • 网络: WebSearch, WebFetch
  • 笔记本: NotebookRead, NotebookEdit
  • 任务: TodoRead, TodoWrite
  • Agent: Task (子 Agent 生成)

Codex CLI 精简工具集

  • 执行: Shell (短命令), UnifiedExec (PTY 长进程)
  • 文件: Apply Patch (diff 修改)
  • 搜索: Web Search (内置, 可缓存)
  • Agent: spawn_agent, send_input, wait, close_agent, resume_agent
  • 批量: spawn_agents_on_csv
  • MCP 外接其他工具

Gemini CLI 10+ 工具

  • 文件: read_file, write_file, replace, read_many_files
  • 搜索: glob, grep_search, list_directory
  • 执行: run_shell_command (PTY + 后台)
  • 网络: web_fetch, google_web_search
  • 记忆: save_memory (写入 GEMINI.md)
  • 技能: activate_skill
  • 交互: ask_user

OpenClaw 🦞 Skill 驱动

  • 不内置固定工具集
  • 通过 Skills 动态加载能力
  • coding-agent: 编排 CC/Codex/OC
  • web-browse: 网页操作
  • file-ops: 文件管理
  • email/calendar: 办公自动化
  • cursor-cli / kiro-cli 集成

OpenCode 15 工具

  • 文件: read, write, edit, patch, list
  • 搜索: grep, glob
  • 执行: bash
  • 代码智能: lsp (诊断/定义/引用)
  • 网络: webfetch, websearch (Exa)
  • 任务: todowrite, todoread
  • 技能: skill
  • 交互: question

🤖 Agent 层 (子 Agent / 多 Agent)

子 Agent 能力决定了工具能否拆分复杂任务并行推进。这是各产品差异最大的一层。

Claude Code 成熟

  • 内置子 Agent: Explore (只读快速), Plan (规划), General (全能)
  • 自定义 Agent: .claude/agents/ 目录 Markdown + YAML 定义
  • Agent Teams: 多 Agent 协作, SendMessage 通信
  • Git Worktree: 子 Agent 独立分支隔离
  • 并发: 最多 10 个并行子 Agent
  • 隔离: V8 isolate, 独立上下文

Codex CLI 完整

  • 五件套: spawn_agent, send_input, wait, close_agent, resume_agent
  • 内置角色: explorer (代码探索), worker (执行生产)
  • 并发: 默认 6 线程, 嵌套深度=1
  • Fork 上下文: 子 Agent 可继承父对话历史
  • 审批代理: 子 Agent 审批请求透明路由到父级
  • 批量: spawn_agents_on_csv, 最多 64 并发 worker
  • Feature Flag 控制 (Collab)

Gemini CLI 实验性

  • 内置子 Agent: Generalist (全能, 20 轮/10 分钟), Codebase Investigator (只读), CLI Help, Browser
  • 自定义 Agent: .gemini/agents/ 目录 Markdown + YAML
  • 远程 Agent: kind:remote + A2A URL
  • A2A Server: 暴露为 Agent-to-Agent 服务端
  • 局限: 严格父子层级, 无并行执行
  • 社区反馈: 实际触发不稳定 (Issue #18106)

OpenClaw 🦞 编排型

  • 定位: 不自建 Agent Loop, 而是编排其他 Agent
  • ACP 协议: Agent Client Protocol, 有状态会话管理
  • acpx CLI: Codex/Claude/Gemini/OC 统一命令面
  • PTY 管理: 后台进程运行交互式 Agent
  • Skills 编排: coding-agent Skill 协调多个 CLI

OpenCode 支持

  • 双主 Agent: Build (全权限) / Plan (只读) — Tab 切换
  • 内置子 Agent: General (全能), Explore (只读)
  • 自定义 Agent: JSON 或 Markdown 配置
  • @mention 调用: @agentname 触发子 Agent
  • 会话导航: Leader+Left/Right 切换子 Agent 会话

🔒 权限与安全层

Agent 拥有系统级操作能力,权限模型决定了安全边界的精细程度。

Claude Code

  • 四级模式: default → acceptEdits → plan → bypassPermissions
  • 规则语法: Bash(npm run *), Edit(/src/**), mcp__xxx
  • 评估顺序: deny → ask → allow
  • 配置层级: 企业 MDM → user → project → session
  • Sandbox: OS 级文件/网络隔离 (Bash 工具)
  • Checkpoint: 编辑前自动快照, Esc 撤销

Codex CLI

  • 三级沙箱: read-only (默认) → workspace-write → danger-full-access
  • 平台实现: Seatbelt (macOS), Bubblewrap+Landlock+seccomp (Linux), AppContainer (Win)
  • 审批策略: untrusted / on-request / never / on-failure
  • 子 Agent 审批: 透明路由到父级决策
  • 沙箱默认隔离网络 — 安全性最高

Gemini CLI

  • PolicyEngine 四模式: DEFAULT / YOLO / PLAN / AUTO_EDIT
  • 信任目录制: 文件夹须显式标记信任
  • 差异预览: 写入/执行前展示 diff 确认
  • 工具白/黑名单: tools.core / tools.exclude
  • MCP 信任: 可按 server 跳过确认
  • 无沙箱隔离

OpenClaw 🦞

  • 继承被编排 Agent 的权限模型
  • 网关层: API Key 路由和频道管理
  • Skill 粒度的权限控制
  • 用户确认制
  • Docker 部署可选隔离
  • 无原生沙箱

OpenCode

  • 工具级权限: allow / deny / ask 三态
  • Agent 级预设: Build (全权限) / Plan (只读)
  • 自定义覆盖: 每个 Agent 可独立配置工具权限
  • 审批弹窗: 操作详情 + diff 预览
  • 无沙箱隔离

🧠 记忆与上下文管理

跨会话记忆是 Agent 持续学习的基础。记忆层深度直接影响长期使用体验。

Claude Code 最深

  • CLAUDE.md 层级: 企业 → 用户 → 项目 → session
  • MEMORY.md: 跨会话自动记忆 (前 200 行自动加载)
  • Rules 目录: .claude/rules/ 分类指令
  • Session 持久化: 本地目录级自动保存
  • Checkpoint 快照: 编辑前文件内容自动备份
  • 上下文压缩: LLM 辅助, 92% 阈值触发

Codex CLI

  • AGENTS.md: 项目指令文件
  • Rollout 文件: JSONL 格式会话记录, 支持回放/续接
  • ContextManager: 跟踪历史 + token 计数
  • codex resume: 恢复先前会话全部状态
  • 配置层级: 内置 → ~/.codex/ → .codex/ → profile → CLI
  • --ephemeral 跳过持久化

Gemini CLI

  • GEMINI.md 层级: cwd → project root → ~/.gemini/
  • save_memory 工具: 模型主动追加记忆到 GEMINI.md
  • /memory 命令: add / show / refresh 管理
  • Session 存储: ~/.gemini/sessions/<hash>/
  • Chat 历史: ~/.gemini/history/
  • 7 层配置优先级: system → user → project → env → CLI

OpenClaw 🦞 向量增强

  • 向量记忆: Embedding 模型编码, 语义检索
  • 长期存储: 跨会话持久化, 多后端适配
  • 语义搜索: 根据相关性检索历史上下文
  • 多后端: 支持不同向量数据库存储
  • Skill 上下文: 每个 Skill 携带独立上下文
  • 记忆深度与向量模型质量相关

OpenCode

  • SQLite + Drizzle: 结构化会话存储
  • 上下文压缩: auto (自动) + prune (裁剪旧输出)
  • Token 预留: reserved 缓冲区 (默认 10k)
  • Undo/Redo: 会话级撤销/重做
  • 分享链接: 会话可生成共享 URL
  • 无跨会话学习记忆

🔌 MCP 与扩展机制

MCP (Model Context Protocol) 是工具生态的标准接口。扩展机制决定了社区可以在多大程度上增强 Agent 能力。

Claude Code 最丰富

  • MCP: stdio + HTTP + SSE, 三级作用域, 300+ 集成
  • Hooks: 12+ 事件 (PreToolUse, PostToolUse, Stop...) — shell/HTTP/prompt 三种处理器
  • Skills: .claude/skills/ 目录, YAML frontmatter
  • Slash Commands: .claude/commands/ 显式调用
  • Plugins: 分发包 (.claude-plugin/), 打包一切
  • SDK: Claude Agent SDK 编程式嵌入

Codex CLI

  • MCP Client: rmcp-client crate, stdio + HTTP
  • MCP Server: codex mcp-server 暴露 codex()/codex-reply()
  • Config Profile: 命名配置预设 (fast, slow...)
  • Feature Flags: codex features 启停实验功能
  • JSON-RPC 2.0: IDE 集成协议
  • 无 hooks/skills 体系

Gemini CLI

  • MCP: stdio + SSE + HTTP, McpClientManager
  • Extensions: 本地路径/git/GitHub Release 加载
  • Skills: .skill TOML 文件, SkillManager
  • Hooks: HookSystem 生命周期钩子
  • A2A Server: Agent-to-Agent 开放协议 (Linux Foundation)
  • 自定义工具: discoveryCommand + callCommand

OpenClaw 🦞 生态最广

  • Skills 市场: playbooks.com 社区贡献
  • ACP 协议: Agent Client Protocol, 有状态通信
  • MCP: stdio 支持
  • Hooks: 生命周期钩子系统
  • Playbook 编排: 多步骤任务定义
  • 多前端: Telegram/Discord/Slack/WeChat/Web

OpenCode

  • MCP: stdio + HTTP, OAuth 支持 (RFC 7591)
  • Plugins: src/plugin/ 钩子定义 + 自定义工具
  • Skills: Markdown 复用提示词
  • Custom Copilots: 自定义指令 + 文件引用
  • 动态导入: npm 包运行时加载

🏗 架构分层全景

从 UI 到模型,每一层的模块组成对比

Claude Code

UI: Terminal REPL · VS Code · JetBrains · Desktop · Web
安全: 四模式权限 · Settings 层级 · Sandbox · Checkpoint
扩展: Hooks 12+ · Skills · Commands · Plugins · MCP 300+
记忆: CLAUDE.md 层级 · MEMORY.md · Session · Rules
Agent: Agentic Loop · Teams · Worktree · 10 并发
工具: Read/Write/Edit/Bash/Glob/Grep/Web/Notebook
模型: Opus 4.6 · Sonnet 4.6 · Haiku 4.5

Codex CLI

UI: Ratatui TUI · Desktop App · IDE (JSON-RPC)
安全: 三级沙箱 · Seatbelt/Bubblewrap · 审批策略
扩展: MCP Client+Server · Config Profile · Feature Flags
记忆: AGENTS.md · JSONL Rollout · Resume · Context
Agent: spawn 五件套 · explorer/worker · CSV 批量 · 6 并发
工具: Shell · UnifiedExec · Apply Patch · Web Search
模型: gpt-5.3-codex · o4-mini · o3

Gemini CLI

UI: React+Ink TUI · VS Code · AI Studio Web
安全: PolicyEngine 四模式 · 信任目录 · 差异预览
扩展: MCP · Extensions · Skills · Hooks · A2A · 自定义工具
记忆: GEMINI.md 层级 · save_memory · /memory · 7 层配置
Agent: Generalist/Investigator/Help · 自定义 · A2A 远程 (实验)
工具: read/write/replace/glob/grep/shell/web/memory
模型: Gemini 3.x Pro · 2.5 Pro/Flash · 1M 上下文

OpenClaw 🦞

前端: Telegram · Discord · Slack · WhatsApp · WeChat · Web · CLI
网关: 消息路由 · 频道管理 · 模型 Key 管理
扩展: Skills 市场 · Playbook · Hooks · ACP · MCP
记忆: 向量 Embedding · 语义检索 · 多后端 · 长期存储
Agent: ACP 编排 · acpx CLI · PTY 管理 · Skill 调度
模型: Claude · GPT · Gemini · 本地模型 · 自由路由

OpenCode

UI: Solid.js TUI · Tauri Desktop · VS Code SDK
安全: allow/deny/ask · Agent 级预设 · 差异审批
扩展: MCP (stdio+HTTP+OAuth) · Plugins · Skills · Copilots
记忆: SQLite+Drizzle · 压缩+裁剪 · Undo/Redo · 分享链接
Agent: Build/Plan 双主 · General/Explore 子 · @mention
工具: 15 个 (含 LSP 代码智能)
模型: 75+ Provider · AI SDK · OpenCode Zen

📊 能力评估

8 个维度评分 (满分 5),基于开源代码与社区反馈

Claude Code

工具丰富度5
权限精细度5
记忆深度5
MCP 生态5
扩展机制5
Agent 协作5
模型多样性2
开源程度2

Codex CLI

工具丰富度3
权限精细度5
记忆深度3
MCP 生态4
扩展机制3
Agent 协作4
模型多样性2
开源程度5

Gemini CLI

工具丰富度4
权限精细度4
记忆深度4
MCP 生态4
扩展机制4
Agent 协作3
模型多样性2
开源程度5

OpenClaw 🦞

工具丰富度4
权限精细度3
记忆深度5
MCP 生态4
扩展机制5
Agent 协作5
模型多样性5
开源程度5

OpenCode

工具丰富度5
权限精细度3
记忆深度3
MCP 生态4
扩展机制4
Agent 协作4
模型多样性5
开源程度5

💎 独特差异点

每个产品"只有我有"的差异化能力

只有 CC 有

  • Checkpoint: 编辑前自动快照 + Esc 一键撤销整组改动
  • Agent Teams + Worktree: 多 Agent 在独立 Git 分支上并行协作
  • 四层扩展栈: Hooks → Skills → Commands → Plugins 逐层递进
  • 五级记忆层级: 企业 MDM → 用户 → 项目 → 会话 → 自动记忆
  • Claude Agent SDK: 编程式嵌入到你自己的应用

只有 Codex 有

  • Rust 核心: 96% Rust, 启动速度和内存占用最优
  • OS 级沙箱默认开: 三平台原生沙箱 (Seatbelt/Bubblewrap/AppContainer)
  • CSV 批量派发: spawn_agents_on_csv, 最多 64 并发 worker
  • 审批路由: 子 Agent 审批请求透明冒泡到父级
  • JSONL 回放: 会话完整记录, 支持回放和续接

只有 Gemini 有

  • 零成本入门: Google 账号免费用 Gemini 2.5 Pro
  • save_memory 工具: 模型主动决定存什么记忆
  • 1M token 上下文: 最大上下文窗口
  • A2A Server: Linux Foundation 开放标准, 暴露为 Agent 服务端
  • Google Search Grounding: 原生搜索结果引用

只有🦞有

  • 向量语义记忆: Embedding + 语义检索, 超越纯文本记忆
  • Agent 编排器: 不自建 Loop, 编排 CC/Codex/Gemini/OC
  • ACP 协议: Agent-to-Agent 有状态通信标准
  • 7+ 聊天前端: 从 Telegram 到微信, 用你习惯的 App 控制
  • 通用助手: 编程只是一个 Skill, 还有邮件/日历/文件

只有 OC 有

  • LSP 工具: 唯一内置 Language Server Protocol 集成
  • Tab 双主 Agent: Build/Plan 一键切换, 无需模式命令
  • Go 单二进制: 安装零依赖 (早期架构遗产)
  • 75+ Provider: AI SDK 抽象层支持最多模型后端
  • Client/Server: 支持远程访问 TUI
  • 会话分享: 生成 URL 分享给他人

🎯 选型建议

不同场景下的最佳选择

🛡 安全优先 → Codex CLI

默认网络沙箱 + OS 级隔离。处理不信任代码库的首选。Rust 核心保证性能。

🧠 深度开发 → Claude Code

记忆最深、扩展最丰富、Agent 协作最成熟。适合长期维护的大型项目。

💰 零预算 → Gemini CLI

Google 账号免费用 2.5 Pro。1M 上下文窗口处理超大代码库。

🌐 全能助手 → OpenClaw

不只是编程。邮件、日历、文件、多平台。用 Telegram 控制你的开发环境。

🔄 模型自由 → OpenCode

75+ Provider 随意切换。MIT 最宽松。TUI 体验精致。适合不想被锁定的用户。

Learning Hub