Claude Code、Codex、Cursor 三分天下,ECC 凭啥当那个『7 框架通吃』的中间层
【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC
2026 年的 AI 编程市场,工具之争早已不是"补全快不快"的体感之争,而是"Agent 生态谁能形成闭环"的平台之争。一边是 Claude Code 靠原生插件体系和深度的工程化能力守住开发者心智,一边是 Codex 背靠 OpenAI 的模型与沙箱能力快速蚕食 CLI 市场,Cursor 则凭借 IDE 体验占据编辑器阵地——三家各有边界、互不兼容,团队一旦在不同项目、不同工具间切换,Skills 要重写、Hook 要重配、上下文记忆全部归零。ECC(Everything Claude Code)正是从这个裂缝里长出来的:它不押注任何一家,而是把"技能、纪律、记忆"抽象成一套与 harness 无关的中间层,让同一套工程系统在 7 个以上框架间平移。这篇文章将结合仓库源码拆解 ECC 的通吃策略、实现机制,以及作为中间层必须付出的对齐成本。
三分天下:各守边界的三大 harness
把三个主流工具放在一张表里,边界差异立刻清晰(见 README 平台支持矩阵 中的跨工具能力地图):
| 能力 | Claude Code | Codex | Cursor |
|---|---|---|---|
| 指令层 | 原生插件 | 原生AGENTS.md | 项目规则(Project Rules) |
| Skills | 原生已装集合 | 原生插件集合 | 构建依赖/项目集合 |
| Agents/委派 | 原生 agents | Codex 多 Agent 角色 | 构建依赖的项目 agents |
| Hooks | 原生插件 hooks | 需显式信任的审查子集 | Hook 适配器(安装路径仍有差异) |
| 与 Claude Code 的对齐度 | 主参考 | 部分 | 部分 |
三个平台的共同问题是:能力各自封闭、格式各自为政。Cursor 的 hook 事件甚至比 Claude Code 多(20 对 8),但两者的事件协议完全不同;Codex 原生 hook 集合更窄,需要用AGENTS.md、可选model_instructions_file覆盖和沙箱权限来补齐指令与策略层。对团队而言,这意味着每一次工具切换都是一次"工程配置重写",而这正是 ECC 选择做中间层的市场依据。
通吃策略之一:配置复用,一套资产多处落地
ECC 的核心资产是 68 个 Agent、293 个 Skills、94 个命令、规则与 hooks(见 AGENTS.md)。它不把这些资产绑定在某一个 harness 的私有格式上,而是坚持三套通用契约:
- AGENTS.md 作为跨工具通用文件:仓库根目录的 AGENTS.md 同时被 Claude Code、Cursor、Codex 和 OpenCode 读取(GitHub Copilot 改用
.github/copilot-instructions.md),这是"一次编写、四处生效"的指令底座; - SKILL.md + YAML frontmatter 作为技能标准格式:同一份技能定义可以跨 Claude Code、Codex、OpenCode 加载,技能只在任务需要时按需装载,避免把整个仓库灌进每次会话;
- DRY 适配器模式:Cursor 通过
.cursor/hooks/adapter.js把自身的 stdin JSON 转成 Claude Code 的 hook 格式,再复用同一套scripts/hooks/*.js,而不是为每个平台复制一份 hook 实现。
落地的入口是统一的多 harness 安装器。ECC 2.2 的向导支持在一条命令里选定 Claude Code、Codex、Kimi Code 的任意组合,并在首次写入前对每个选项做 preflight(见 scripts/install-guided.js):
npx ecc-universal@2.2.3 install --guided \ --harness claude --harness codex --harness kimi \ --claude-scope local --claude-hooks standard \ --profile core --yes更细的配置复用体现在规则层:规则(Rules)是"常驻加载"的,所以 ECC 在 README.md 中明确建议只装rules/common加一个语言包,避免上下文被常驻规则拖垮。针对不同技术栈,项目还提供了证据驱动的栈识别映射(见 config/project-stack-mappings.json),通过tsconfig.json、package.json等指示文件自动关联对应规则、技能与默认命令,让"换一个仓库不用重新教"落到实处。
通吃策略之二:技能互通与跨工具持久化记忆
如果说配置复用解决的是"静态资产搬家",那么记忆互通解决的才是"动态上下文搬迁"——这是普通配置同步工具做不到的。
ECC 的 Memory Vault 把记忆抽象为可移植的ecc.memory.v1Markdown 文档,而非各家的会话转录或收件箱(见 skills/unified-memory/SKILL.md)。项目记忆落在<repo>/.ecc/memory/project/(由 fail-closed 的.gitignore保护),团队记忆走版本化共享,用户记忆在~/.ecc/memory/。一个典型的跨工具交接长这样:
# 在 Hermes 里把进度写成交接文档,目标指向 Codex ecc memory handoff \ --from hermes \ --target codex \ --title "Continue authentication migration" \ --body-file ./handoff.md # 换到 Codex 里搜索并续接 ecc memory search "authentication migration" --target-harness codex ecc memory read <memory-id>记忆之上还有持续学习层。ECC 的 instinct(直觉)机制把真实会话中验证过的模式提炼成带置信度评分的原子化经验:v1 靠 Stop-hook 提取完整技能,命中率只有 50%~80%;v2 改为 PreToolUse/PostToolUse 钩子观测(100% 可靠),产出可导出、可导入的 instinct,并按置信度阈值(默认 0.7)与项目/技术栈相关性排序后注入上下文(见 README.md 的 Hook 运行时控制一节)。这意味着在 Claude Code 里沉淀的工程经验,可以原样迁移到 Codex、Cursor 的会话里复用,而不是每个工具各练一套。
中间层的代价:对齐成本、版本漂移与诚实的边界
"一次配置到处用"听上去很美,ECC 也毫不讳言其代价——平台支持矩阵(README.md)用 "stable / beta / experimental / instruction-only" 四档明确标注了能力差距,并声明这些是能力声明而非营销分层:
- Claude Code 是主参考,其他都是降级:Cursor 目前是 Beta 项目适配器,Agent 发现机制随 Cursor 构建版本变化,且安装器路径尚未暴露与 Claude 相同的 hook 集合(对应 issue #2419);OpenCode 只随包提供目录子集;
- GitHub Copilot 是纯指令级支持:没有 ECC hooks、运行时 agent、委派或原生技能发现,只有
.github/prompts/里的/plan、/tdd、/security-review等提示文件; - Hook 是天然的不对齐区:Codex 不提供 Claude 式 hook 执行对等能力,原生插件的 hook 子集必须在
/hooks里显式信任;Cursor 则靠适配器转换协议、并在ECC_AGENT_DATA_HOME上做数据隔离,防止两个工具互相覆盖会话文件(见 README.md 的 Agent data home 一节); - 版本漂移是常态:ECC 2.2.3 的安装器明确"既不静默装入每个检测到的 harness",也对 Kimi Code 等适配器声明"ECC hooks、模型/提供商设置与认证不配置"——多 harness 意味着多一份需要跟踪其上游变更的适配代码,这正是维护者选择"单维护者、每周跨 7 个 harness 发布"这种节奏的原因。
最值得称道的或许是那份 docs/MANUAL-ADAPTATION-GUIDE.md:面对 Grok 这类连钩子、斜杠命令、仓库级技能激活都没有的聊天式工具,ECC 并不假装"全功能支持",而是提供一套语义迁移法——最小技能包、上下文压缩规则、命令意图转写为常驻指令,明确声明"你复现的是行为而非镜像每个文件"。
结论:中间层的价值在于"可预期"
三分天下不会短期结束,反而会因为各自加深护城河而让"中间层"更有价值。ECC 的答案不是消灭差异,而是把差异显式化:用 AGENTS.md 统一指令、用 SKILL.md 统一技能、用 Memory Vault 统一记忆,再用一张诚实的支持矩阵告诉你每个 harness 能拿到几成功力。对一个多工具团队而言,真正的效率红利不是"每个工具 100% 功能",而是"换工具时你的工程资产和纪律不归零"——这才是"7 框架通吃"这句话背后最扎实的工程语义。
【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考