详细对比了Codex CLI、Claude Code、Cursor、Cline等9款主流AI编程工具的运行方式、价格、模型切换能力和扩展生态,附各工具实际用户使用的模型分布数据。
OpenRouter 数据显示,9 种开发辅助工具中,Claude Code 用户使用 GLM 5.2 的频率超过了所有 Claude 模型的总和。先选工具,再选模型。
TL;DR: 该选哪个开发辅助工具?
这 9 款工具中,有 2 款在其主要智能体界面上完全无法指向外部模型。另有 3 款可以,但有限制条件。剩下的 4 款则把模型当作一行配置来对待。这个区分标准对你最终的费用和锁定程度的影响,比本文任何基准测试都更关键。
Harness 是包裹在模型外围的程序,它将 token 生成转化为在你的代码仓库中实际执行的工作。模型是引擎,harness 则是变速箱、底盘和制动系统。
具体来说,harness 承担着模型自身无法完成的 5 项职责:它组装上下文,决定哪些文件和之前的对话轮次被发送出去;它定义并执行工具,让 read_file 调用真正读取文件;它管理权限,让 rm -rf 要么直接执行、要么弹窗确认、要么直接拒绝;它处理恢复逻辑,决定当补丁未能应用或测试失败时该怎么做;它维护会话状态,使其中断后可以恢复,而不是从头开始。
这解释了为什么两个使用相同模型的开发者会报告截然不同的使用体验。把 GPT-5.6 Solo from Codex 换到 Cline 中,模型完全相同,但文件读取策略、工具 schema、重试策略和审批流程全都不一样。人们搜索的类别名称各有不同(agent harness、coding agent、AI coding tool),但描述的都是同一层。
4 个维度可以将它们区分开来,而且只有第 4 个维度在你真正上手之前很难看清。
运行位置。纯终端型(Codex、Claude Code、OpenCode、Reasonix、Pi)、集成在编辑器内(Cline、Cursor、Copilot),或作为独立智能体管理器拥有自己的窗口(Antigravity 2.0)。这决定了你是否能用管道连接它、设置定时任务,或通过 SSH 运行它。
模型是否由你选择。最清晰的二分类。要么工具从配置中读取一个 base URL,要么模型列表是厂商提供的,二者必居其一。
扩展方式。有 hooks、子智能体、skills 和 MCP 服务器,与一个刻意做得很精简、等你在此基础上构建的循环形成对比。Claude Code 和 Pi 在这个问题上故意走向了两个极端。
控制循环在压力下的表现。这是决定你会不会继续使用这个工具的关键。它是否在编辑前读取正确的文件、保持 diff 范围可控、运行你的检查项、从测试失败中恢复而不乱撞、以及在中断后能否恢复?2026 年 7 月一个关于辅助工具选择的长帖(r/AI_Agents)在这一点上完全达成一致,最赞的评论说得比我们更到位:
人们往往过度关注模型,而对执行循环重视不足。
这是本文的出发点。模型质量现在是基本门槛,真正的差异化在于循环行为,而这也是没有任何基准测试会报告的东西。
既然循环行为是我们的核心论点,我们做了一个测试。我们构建了一个包含真实 bug 的小型 Python 仓库:一个重试辅助函数捕获的是 urllib.error.HTTPError,而 OpenAI SDK 抛出的是 openai.RateLimitError,所以 429 分支永远不会被触发,测试必然失败。我们让 9 款工具中的 6 款(Codex CLI、Claude Code、Cline、OpenCode、Reasonix 和 Pi)指向同一个网关,用完全相同的 prompt 在完全相同的仓库中运行:运行测试、说出这行代码的根本原因、用 unified diff 展示修复方案、不编辑任何其他内容。
6 款工具都正确说出了根本原因,这既是最无趣的发现,也是最需要先声明的结论。差异出现在细节层面。Codex CLI、OpenCode 和 Cline 在回答前先运行了测试;Claude Code、Reasonix 和 Pi 则通过阅读代码直接回答。在死去的 import urllib.error 遗留问题上,Codex 在正文中明确指出了它,而 Claude Code 悄悄把它放进了 diff 里;其余 4 款则完全没动它。有 4 款工具生成的补丁仍然包含 if e.code != 429 这个守卫条件。其中 3 款显式地写了出来,1 款只改了 except 行而把它留了下来。一旦你捕获的是 openai.RateLimitError,这个守卫条件就永远不会通过:它的 .code 是 API 返回的字符串错误码,而不是 HTTP 状态码(状态码在 .status_code 里),所以 e.code != 429 永远为真,重试路径永远不可达。
最后这个问题更多是模型的产物而非 harness 的产物,这恰好说明了一点:harness 决定循环是否验证自己的补丁,而以上 6 款工具没有一个这么做了。
另外 3 款工具无法用这种方式测试:Copilot 和 Cursor 需要付费席位才能在自定义 provider 下进入智能体模式;Antigravity 则需要 Google 账号登录才会与任何外部服务通信。下面的相关章节来自厂商文档和第一方 CLI 输出,而非等效的实际运行测试,特此说明。
大多数横评告诉你该买哪个工具就结束了。更实用的问题——也是人们真正在搜索的问题——是:拿到工具后该用什么模型。OpenRouter 为选择加入追踪的应用发布了各模型的使用量数据,这让这个问题变成了数据而非观点。
以下是截至 2026-08-11 为止、来自每款工具公开 OpenRouter 应用页面的 30 天数据。
顺着最后一列往下看,就是每款工具的性格测试。
Claude Code 是集中度最高的,而且集中在别人家的模型上。GLM 5.2 单独就占了其前十流量的 49%。把 Opus 4.8、Sonnet 5、Opus 5 和 Fable 5 加起来,Anthropic 自家的阵容总计 1.98T,而 GLM 5.2 一个模型就以约 1.6 倍的优势压过它。Kimi K3 和两个 DeepSeek V4 Flash 版本也进入了前十。被人们评价为循环行为最出色的 harness,对于这个用户群体来说,本质上更像是别人家引擎的 chassis。
Codex 是单一文化的天下。其前十中有 7 个是 OpenAI 模型,加起来约占前十总量的 86%。3 个外来者(DeepSeek V4 Flash、Nemotron 3 Ultra、GLM 5.2)分享剩下的 14%。这就是 Responses-only 约束在聚合层面呈现的样子:它不是一堵墙,但确实是一个过滤器,而且大多数人都懒得翻过去。
Cline 从一开始就把成本纳入了考量。DeepSeek V4 Flash 以 1.26T 领先,Step 3.7 Flash 紧随其后为 812B,第一个 Anthropic 模型出现在第十位,量为 87.7B,约占前十的 2.6%。Cline 用户在优化的是每个任务的成本,而不是排行榜上的模型名次。
Pi 是这里 4 款有数据的工具中分布最平坦的。其第一大模型占 20%,前十跨越了 DeepSeek、Zhipu、Moonshot、Anthropic、OpenAI、xAI 和 Nvidia。对于一款宣传语是"原语而非功能"的工具来说,使用模式与宣传完全吻合。
这些数据没有覆盖的东西,以及你不应该被任何人糊弄的东西。OpenRouter 只能看到经过 OpenRouter 且选择加入追踪的应用产生的流量。每个在 Anthropic 订阅上运行 Claude Code、在 ChatGPT 计划上运行 Codex、在 GitHub 自有推理上运行 Copilot、或在 Cursor 自有模型上运行 Cursor 的人,都是看不见的。所以这不是市场份额,而是更窄的东西——但对任何阅读 harness 对比的人来说也更有用:这是当选择权真正在开发者手中时,他们做出的选择。还要注意谁完全缺席了。Antigravity、GitHub Copilot、OpenCode 和 Reasonix 在这份数据中没有任何条目,原因各不相同,下面的章节会解释清楚。
按模型分的简要版本
如果你来这里是为了找某款特定模型的最佳 harness,而非反过来:
纯终端运行方式,通过 npm i -g @openai/codex 安装为 Rust 二进制文件,附带一个独立的桌面应用。配置位于 ~/.codex/config.toml,项目说明放在 AGENTS.md。在过去 30 天里,它在 OpenRouter 全球应用排名中达到第 15 位,在编码智能体中排名第 8——这比它的人气所暗示的要小,因为大多数 Codex 用户从未离开过 ChatGPT 计划。
捆绑在 ChatGPT 订阅中,或按用量计费对接 API key。捆绑销售是为什么它的 OpenRouter 足迹被低估了。
支持 AGENTS.md、MCP 服务器,还有一个导入命令可以把 Claude Code 和 Cursor 的配置迁移过来。其沙箱是这一轮测试中最强的:macOS 上使用 seatbelt、Linux 上使用 Landlock 加上 seccomp 实现 OS 级隔离,在此基础上叠加多层级审批模式。如果你设置了自动批准 shell 命令,这个差距值得真金白银。
它让你锁定在什么里面
这个协议而非供应商。Codex 只支持 OpenAI Responses API;wire_api = chat 已被移除,当前版本拒绝以此启动。因此网关必须暴露 /v1/responses,而非仅仅 /v1/chat/completions,且支持是按模型而非按网关划分的。有两个细节反复让人踩坑:模型 ID 前缀只在 custom model_providers 条目下才生效,网关广告了某个模型并不意味着该模型可通过 Responses 访问。设置细节见 ofox Codex 集成指南和模型提供商页面。
"按模型而非按网关"这点说起来容易,但很难想象它的实际面貌,下面是我们遇到它时的真实经历。Codex 0.147.0 配以正确的 provider 配置块,在每次请求时都返回 Invalid 'input[0].tools[0].description': empty string。我们在网关前放了一个记录日志的反向代理,读出 Codex 实际发送的请求体:它在一条 developer message 中声明了工具命名空间,而 functions 命名空间附带的 description 是 ""。用同样的请求体重放给五个模型和三个网关,其中一个直接拒绝,一个根本没有 Responses provider,还有一个成功补全。只要填上那一个空字符串,之前失败的模型就返回 200 了。这件事从头到尾都不是网关的问题,也不是我们的问题。客户端发出一个字段,有些上游将其验证为 minLength: 1,有些则忽略它。
这个经验教训值得带到任何 harness 中:当客户端和网关出现分歧时,先捕获有线格式再开始改配置。我们花了一个代理和五分钟就解决了;如果靠猜测 wire_api 的值,可能会花掉整个下午还得出的错误的结论。
通过 npm 安装的终端工具,带插件生态和 IDE 桥接层。它在 OpenRouter 全球应用排名中位列第 2,token 量 7.97T,覆盖 302 个不同模型。
需要 Claude 订阅,或 API 按量计费,或第三方网关。这三条路径差异很大,所以"Claude Code 要花多少钱"这个问题没有统一答案。
它是这里所有工具中扩展性最强的。Hooks 在工具事件上触发,子智能体在自己的上下文中运行作用域任务,skills 打包可复用流程,MCP servers 添加工具,CLAUDE.md 携带项目级指令。如果你想让 harness 编码你的团队流程而非你自己的习惯,这是唯一支持这么做的工具。
比名字暗示的要少。ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN 可以将它重定向到任何支持 Anthropic Messages API 的端点,这就是为什么 GLM 5.2、Kimi K3 和 DeepSeek 都出现在它的使用数据中。两个环境变量就是全部流程。
注意模型之间的继承差异。GLM 5.2 正确命名了异常类型不匹配,但它的 patch 保留了 if e.code != 429 这个守卫条件,而这永远不可能通过:openai.RateLimitError 的 .code 是字符串错误码,不是 HTTP 状态码。同样的 harness,同样的提示词,不同的模型,diff 结果稍差一些。真正的锁定在于行为层面:系统提示词、工具 schema 和上下文策略都是为 Claude 模型调优的,所以换入的模型会继承为别的模型构建的假设。如果你正往相反方向迁移,我们有从 Claude Code 到 Codex 的分步迁移指南。详情见 ofox Claude Code 集成指南及其模型提供商页面。
到处都是,这是令人困惑的部分。Antigravity 现在以四个独立产品发货:Antigravity 2.0,一个用于并行运行多个本地智能体的桌面命令中心;Antigravity CLI,终端界面;Antigravity IDE,完整编辑器;以及用于编写自己智能体的 SDK。它于 2025 年 11 月作为智能体优先的 IDE 推出,此后从那里向外扩展。
一些报道声称 Gemini CLI 即将被淘汰并由 Antigravity CLI 替代。我们去寻找原始来源,但没有找到。截至 2026-08-11,该说法缺乏依据。google-gemini/gemini-cli 仓库并未归档,没有任何弃用通知,仍然在 preview、stable 和 nightly 频道发布。antigravity.google 和 Google Developers Blog 都没有相关说明。将两者视为并存直到 Google 另有声明。
写本文时对个人开发者免费,有付费组织层级和更高使用配额,适用于 Google 高档 AI 订阅计划。你购买的是配额而非 token。
2.0 manager 可以并发运行多个智能体,并让主智能体派生临时子智能体,这样并行工作不会污染主上下文。内置浏览器让它能够以视觉方式(而非通过断言)验证 UI 变更。
模型菜单。Antigravity 暴露的是 Google 自有模型加上一组精选的第三方选项,没有 base URL 可以重定向。它在 OpenRouter 的应用数据中没有条目,因为根本没有什么可路由的。如果你已经标准化在某个网关上,Antigravity 是这轮盘点中唯一无法加入的工具。
从 flag 层面就可以确认这一点。我们安装了 CLI(brew install --cask antigravity-cli,版本 1.1.12),它的整个选项列表中没有 --base-url、--provider 和 --api-key。让它列出模型并不会给你列表,而是给你一堵登录墙。
那道登录墙也是 Antigravity 是这里唯一完全没有纯 key 路径的工具的原因。Copilot 和 Cursor 没有进入失败测试运行,是因为带自定义 provider 的 agent 模式需要付费席位,但有席位就能用。Antigravity 则要求先有 Google 账号才会和任何东西对话,付再多的钱也改变不了这一点。
覆盖 GitHub 所及之处:VS Code 和其他 IDE、终端中的 Copilot CLI、云端编程智能体(可打开 Pull Request),以及 GitHub 内的代码评审。覆盖面广就是产品本身。
这一点已经变了,关于它的很多文章已经过时。计费现在走 GitHub AI Credits,1 credit 等于 $0.01。免费为 $0,Pro 为 $10/月含 $15 credit,Pro+ 为 $39 含 $70,Max 为 $100 含 $200,Business 和 Enterprise 席位另行定价。内联补全和下一个编辑建议完全不消耗 credit;chat、agent 模式、代码评审和 Copilot CLI 才消耗。最近的 changelog 条目加入了按周期的 credit 可视化和可以在 CLI 和 SDK 中设置的会话限制。由于定价页面经常变动,在根据这些数字做预算之前请查看当前的计划页面。
支持 MCP servers、自定义指令和仓库级配置,外加 CLI 中的自动模型选择(按任务类型路由)。
模型菜单,带一个星号。Copilot 自有界面运行 Copilot 自有模型。外部端点只有通过第三方 VS Code 扩展才能访问,且仅限于 Copilot Chat,仅限个人订阅;Business 和 Enterprise 席位无法使用,而 Tab 补全始终跑 GitHub 的模型。ofox Copilot 集成指南记录了那条路径,包括具体 provider 字段,也诚实说明了它在哪里止步。
作为一个独立编辑器。它是这轮盘点中采用最广泛的付费工具,在 OpenRouter 编码智能体排名中位列第 11,30 天内 471B token,约为同平台 Claude Code 流量的十七分之一。这个差距就是重点而非缺陷:Cursor 的推理是自有的,所以几乎不需要任何东西离开。
采用按席位订阅加使用量层级。
Rules 文件、MCP servers 和强大的多文件编辑循环。它的 Tab 模型是人们最常说无法替代的功能,这也是即使智能体工作在别处运行也保留这个编辑器的真正原因。
比这里任何其他工具都多,我们自己的文档也直白地说了这一点。ofox Cursor 页面的标题是兼容性声明而非设置指南:Tab 补全被硬编码到 Cursor 的模型中且无法替换、Agent 模式无法配合自定义 provider 使用、免费账户完全无法使用自定义模型,甚至那条可行的 Chat 路径也会被 Auto 模式覆盖。它最终给出的建议是有经验的用户独立得出的结论:将 Cursor 作为编辑器使用,在其内置终端中运行 Claude Code 或 Codex CLI。这与其说是变通方案,不如说是两层应该如何分工的准确描述。
作为 VS Code 和 JetBrains 内的扩展。它在 OpenRouter 全球排名中位列第 4,IDE 扩展中位列第 2,自 2024 年 10 月活跃至今,是 OpenRouter 应用数据中这里最老的工具。
扩展本身免费。你提供一个 key,使用数据显示用户选择这个 key 时牢牢考虑着成本。
Cline:最大的提供商覆盖面加先规划后执行
先规划后执行分离、用于管理并行工作的任务面板、MCP 服务器,以及用于验证前端变更的浏览器自动化。其规划界面确实比大多数终端智能体更强大。
The provider surface is the widest here by a distance: 185 providers on the list, with "OpenAI Compatible" as a first-class entry rather than an escape hatch buried in advanced settings.
提供商覆盖面是这里最广的:列表上有 185 个提供商,其中"OpenAI 兼容"是一等公民,而不是隐藏在高级设置中的逃生通道。
锁定程度
几乎没有锁定。任何 OpenAI 兼容或 Anthropic 兼容的端点都能用,DeepSeek V4 Flash 因此成为其十大流量中占比 37% 的来源。将其指向一个网关只需一条 cline auth 命令,之后的循环行为与使用第一方密钥时完全相同。
用户报告最多的失败模式是循环可靠性而非锁定问题:在 r/AI_Agents 帖子中,一位用户描述任务在格式错误的工具调用上停滞,转而使用了一个处理得更优雅的分叉。这是一份单独的报告,值得作为一份参考,但它指向了关键轴心——循环而非模型。我们自己也遇到过一个类似的粗糙边缘:通过 OpenAI 兼容路径将 CLI 指向具备推理能力的 Claude 模型时失败,报错 internal text part ... _reasoning_0 not found,而同一端点上的非推理模型运行正常。设置方法见 ofox Cline 集成指南。
OpenCode:天生与模型无关
以终端为主,附带桌面应用和编辑器界面,通过 npm 安装为 opencode-ai,MIT 许可,带有 AGENTS.md 用于项目指令。它没有出现在 OpenRouter 的应用排名中,这反映的是跟踪 opt-in 机制而非用户缺失。
免费开源。仅需支付 token 费用。
AGENTS.md、MCP 服务器,以及覆盖 models.dev 上每个提供商的provider层(我们在 2026-08-11 检查时有 183 个),支持会话中途切换。ofox 作为内置 provider 交付,所以设置只需一个环境变量而非 JSON 配置块。
锁定程度
没有结构性锁定——这正是其整个设计理念。在同样的失败测试任务中,它是展示工作最完整的一个:运行测试套件、打印回溯,然后阅读源码后才作答。
权衡在于,没有任何默认供应商的框架也不会有供应商为你调优提示词,所以要让它发挥最佳表现需要比 Claude Code 或 Codex 更多的配置。ofox OpenCode 集成指南涵盖了 provider 设置,我们在 OpenCode vs Codex CLI 中对两款终端智能体进行了正面比较。
Reasonix:社区构建、DeepSeek 调优、以缓存为先
一个本地引擎支撑四个入口:CLI 和 TUI、桌面应用、浏览器界面,以及通过 ACP 与同一后端通信的 VS Code 扩展。它作为单个静态 Go 二进制文件交付(CGO_ENABLED=0),在任意 OS 上通过 npm i -g reasonix 安装,或在 macOS 上通过 brew install esengine/reasonix/reasonix 安装。1.23.0 版本于 2026-08-10 发布,因此维护状态活跃。
首先需要对名称进行纠正。Reasonix 不是 DeepSeek 的产品。它是 github.com/esengine/DeepSeek-Reasonix 上的社区项目,MIT 许可,有自己的网站 reasonix.io。DeepSeek 官方文档将 Claude Code、GitHub Copilot 和 OpenCode 列为已记录的智能体集成,并未提及 Reasonix。承载其大部分报道的第三方网站在页面上明确声明它是独立且无关联的。这个工具是真实且有趣的;但其上的 DeepSeek 品牌并非官方。
免费开源,加上模型费用。设计目标是让第二个数字保持较小。
MCP 服务器贡献工具和提示词,扩展协议 v1 边车则更进一步,可以拦截运行时事件、添加提供商,以及发布版本化的插件包。一切都在单个 reasonix.toml 中声明,没有硬编码模型。它还附带了长时间无人值守运行所需的安全设施,而 Pi 有意省略了这些:计划模式、权限层、工作区沙箱,以及你可以读取和撤销的每轮检查点。这里唯一无人提供的功能是:在两个缓存稳定的独立会话中同时运行执行器模型和规划器模型。
锁定程度
协议层面没有任何锁定:任何 OpenAI 兼容端点只需一个配置项,reasonix.toml 就是全部。
有趣的偏向在于循环本身,它围绕 DeepSeek 的前缀缓存行为设计,因此长时间运行的会话会持续命中缓存而不是重新支付上下文费用。如果你让智能体连续运行数小时,这是一个真正的差异化优势;如果你以短脉冲方式工作,则几乎无关紧要。由于 DeepSeek 的缓存在完整单元上匹配而非字节级前缀匹配,节省在会话后期才到来;根据工作的形态来规划,而不是标题上的缓存率。
Pi:一个有意几乎不附加工具的框架
终端模式,也支持 print/JSON 输出、RPC 服务和可嵌入 SDK。通过 npm i -g @earendil-works/pi-coding-agent 安装;0.84.1 版本于 2026-08-07 发布。它在 OpenRouter 全球应用排名中位列第 7,带有 2.79T token 和 MIT 许可。
免费开源。
一个扩展 API,以及刻意精简的其他部分。Pi 不带 MCP、不带子智能体、也没有计划模式,并将这描述为一种选择而非路线图缺口:原语,而非功能。如果你需要这些能力,就在扩展面上自己构建。对于已经有明确智能体行为偏好的团队,从一个裸循环开始比对抗他人默认设置更快。对于其他所有人,第一天的工作量会更大。
锁定程度
没有任何锁定,其使用数据证明了这一点:15+ 个提供商、会话中通过 /model 切换模型,以及这里测量中所有工具里最平坦的模型分布(其顶级模型仅占 20%)。添加一个只是在 ~/.pi/agent/models.json 中加一个块,仅此而已。
有一个值得注意的警告,因为项目本身有公开文档:Pi 没有内置的文件系统、进程、网络或凭证访问权限系统,因此沙箱化是你的责任。如果你要给它处理任何敏感内容,请在容器中运行它。r/AI_Agents 帖子中也有一位用户报告称 Pi 在同等工作中比竞争对手的框架消耗明显更多的 token,这符合将上下文策略留给用户的设计。
其他值得了解的 AI 编程智能体
这些没有得到完整章节的原因要么是它们占据的细分市场较窄,要么是我们无法对它们进行同样的实践验证。