Harness vs Codex CLI vs Claude Code,谁该用什么
先给结论:这三家不是同一个赛道的三个选手,是三种对「agent 该长什么样」的不同回答。比的不是谁更强,是哪种任务该交给谁。
下面从三个维度横评:架构理念、信任边界、插件生态。每家都标版本、标来源,结论都能回核。
0 为什么是这三家
它们覆盖了当下最主流的三条路线:
- DeepSeek Harness(dsh):把 DeepSeek 模型包成一个带内核、带信任边界、可回放的命令行 agent,走的是微内核路线。
- OpenAI Codex CLI:终端原生的 coding agent,直接把工具注入命令行进程,走的是轻量 CLI 路线。
- Claude Code:围绕 Claude 的 agent loop 做了大量 first-party 工具,走的是产品化 agent 路线。
竞品侧的事实我只用公开资料(官方文档、社区拆解),不编 Star、不编内部数据。下面逐维度拆。
1 架构理念:微内核 vs CLI 注入 vs agent loop
dsh 是微内核。 它的内核 Cordis 只管五件事:Plugin、Context、Service、Typed Events、Effects。所有能力以插件形式注册进内核,内核本身保持 thin。这意味着你可以换模型(注册一个 ctx.llm 适配器)、换环境(重定向 ctx.fs / ctx.shell),而不动调度逻辑。Harness 在这里的含义是:模型只负责推理,调度、沙箱、回放这些外围全部由 harness 承担。
Codex CLI 是 CLI 注入。 它没有一个「内核」概念,本质就是 prompt 加上 LLM(默认 GPT-5 Codex,早期 o3 / o4-mini)再加上本地 executor。工具直接挂进进程:shell 执行命令、apply_patch 用 unified-diff 做事务性编辑、MCP 接外部服务。架构更轻,更接近「一个会写代码的命令行」。代价是拼装自由度低,你改不了它的内核,只能按它给的工具集走。
Claude Code 是 agent loop 加 first-party 工具。 它也跑 agent loop,但 first-party 工具非常全:todo list、web fetch、subagents 一应俱全,依赖 Claude 的 tool-use trajectories。比 Codex 更产品化、工具更开箱即用,但内核不开放给第三方拼装,扩展走它的 Skills 与 MCP 通道。
一句话区分:dsh 把内核交给你拼,Codex 把内核藏起来只给你工具,Claude Code 把内核和工具一起包成产品。
2 信任边界:四道闸 vs 双旋钮 vs 权限加 Hooks
三家都标榜安全,但实现路径完全不同,下面逐家看失败时的默认态。
dsh 走 fail-closed 四道闸。 失败时默认拒绝而非放行。沙箱三档里 read-only 是 fail-safe 默认,confine 失败即拒绝 spawn;越权要过 approval 接缝,没配 channel 即 deny;强副作用在 checkpoint 落盘;升级要过 escalation 的有序序列,缺 channel 直接抛错。四道闸是叠加的,任何一道失败都 fail-closed。
Codex CLI 走 OS 级强制沙箱加双旋钮。 沙箱是操作系统层面的:macOS 用 Apple Seatbelt(sandbox-exec),Linux 默认 bwrap 加 seccomp,Windows 走 WSL2 的 Linux 沙箱。它有两个独立旋钮,这是它和 dsh 最大的结构差异:一个是 sandbox mode,决定命令的物理能力(read-only 禁写禁网、workspace-write 默认且 cwd 内可写、danger-full-access 无沙箱);另一个是 approval policy,决定越界时的行为(suggest 默认、auto-edit、full-auto、untrusted、on-request、never)。常见生产组合是 full-auto 加 workspace-write。网络则靠防火墙 allowlist,只放行 API 端点,其余 DROP。
Claude Code 走 fail-closed 权限加 Hooks。 不匹配显式 allow 规则即提示用户,评估顺序 deny 大于 ask 大于 allow,first match wins。规则写在 .claude/settings.json 里。比前两家多一层确定性拦截:Hooks 是生命周期里的代码钩子,PreToolUse 可以 exit 2 直接阻断工具调用。还有 4 层设置层级(Managed 大于 Project 大于 Local 大于 User),企业可以自上而下统一策略。Subagents 则隔离 context window,把大任务拆成互不污染的子会话。
三类实现各有取舍:dsh 把默认态钉死在拒绝、Codex 把能力拆成两个旋钮、Claude Code 把拦截做成可编码的 Hook。对「AI 能碰我服务器吗」这个问题,三家都答了,但 dsh 答得最偏底层、Codex 答得最偏 OS、Claude Code 答得最偏组织管理。
3 插件生态:开放内核 vs MCP 桥接 vs 产品化全家桶
dsh 生态来自开放内核。 Cordis 的插件机制允许你自己写插件,也允许用 Composio 这类现成集成通过 MCP 桥接进来。生态早期,但路径清晰:会写 TS 就能接自己的工具。
Codex CLI 生态依赖 MCP。 它原生支持 MCP servers,能接社区维护的 server。生态规模跟着社区走,没有官方插件市场这种集中入口。
Claude Code 生态最产品化。 Skills、MCP、Subagents、Hooks 再加上官方 plugin 概念,工具链最完整,上手最省心。代价是锁定在 Claude 体系内,离开就带不走。
不神化任何一方:dsh 生态小但可改可观测,Codex 轻但拼装受限,Claude Code 全但锁定。你的选择权取决于你愿意为哪种能力付代价。
4 三向对比表
把三个维度收成一张表,版本与依据都标清。
| 维度 | DeepSeek Harness | OpenAI Codex CLI | Anthropic Claude Code |
|---|---|---|---|
| 架构理念 | 微内核(Cordis 五要素),内核可拼装 | CLI 注入,工具挂进程内,无内核层 | agent loop 加 first-party 工具,产品化 |
| 信任边界 | fail-closed 四道闸,默认拒绝 | OS 级沙箱加双旋钮(mode + policy) | fail-closed 权限加 Hooks,4 层设置 |
| 插件生态 | 开放内核,自写或 MCP 桥接(早期) | 原生 MCP,靠社区 | Skills / MCP / Subagents / Hooks 全家桶 |
| 默认安全姿态 | read-only 为 fail-safe 默认 | workspace-write 为默认 mode | 每工具首用提示(default 模式) |
| 适合人群 | 想拼装、想回放、研究者 | 轻量快、单一 coding 任务 | 企业、工具全、产品化团队 |
| 主要依据 | dsh 0.1.0-rc.7 · commit 99f6f02 | OpenAI Codex CLI 公开文档 · 2026-07 | Claude Code 官方文档 · v2.0+ |
这张表是机制层面的横评,不是排行榜。下一节按人群给直接建议。
5 分人群推荐矩阵
不同人的痛点不一样,给同一个答案才是真不负责。
| 人群 | 首选 | 备选 | 依据 |
|---|---|---|---|
| 独立开发者 | Codex CLI(轻、快、贴近命令行) | Claude Code(工具全) | 单兵作战要快上手、低配置,Codex 一条命令跑起来 |
| 企业 / 团队 | Claude Code(权限分层、Hooks、合规) | dsh(fail-closed 四道闸、可回放) | 要统一策略与可审计,Claude Code 的 4 层设置加 Hook 最省心 |
| 研究者 / 平台方 | dsh(微内核可改可观测) | Claude Code(subagents 做实验) | 要改内核、要回放轨迹,dsh 的 Cordis 把扩展点全露出来 |
补充一句:dsh 对研究和平台方最友好,因为它把内核交给你;对只想立刻干活的企业,Claude Code 开箱即用的工具链更划算;对只想敲命令解决问题的个人,Codex 最轻。
6 怎么用这两张表
用这两张表的方法:先定位你是哪类人,再看首选那一列对不对得上你的现状,最后读依据栏判断它能不能说服你。三家的推荐度不是评分,是匹配度。你现在是单兵作战、要统一策略、还是要改内核做研究,三个问题答完,人选基本就定了。功能清单里谁多谁少不重要,重要的是控制权落在谁手里。别被功能数量带着走,功能多不等于适合你,反而可能多付一份学习和维护的代价。
给一个具体的选人思路:如果你今天只想敲一条命令让 AI 帮你改个 bug,Codex 最直接;如果你在一个要审计、要统一权限的团队,Claude Code 省心;如果你打算在它上面做二次开发、要回放每一次决策,dsh 把内核和轨迹都露给你。三家的差异不在强弱,在控制权的归属:dsh 把控制权交给你,Codex 把控制权留在 CLI 里,Claude Code 把控制权收进产品里。想清楚你要多少控制权,人就选对了。
收尾
三家不是谁替代谁,是三种「agent 该怎么造」的回答。dsh 把内核交给你拼、Codex 把内核藏起来只给你工具、Claude Code 把内核和工具一起包成产品。选谁,看你是想改内核、想快上手、还是想开箱即用。