你的 Agent 会写代码,但它没有「工程系统」
裸奔的 Claude Code 是什么体验?你让它做个功能,它写完了;你让它写测试,它可能忘了;你让它自查,它用刚写代码的同一个上下文自我表扬;三天后新开会话,它又把架构决策重新发明一遍。不是模型不行——是流程、纪律、记忆这些「工程基础设施」全压在 prompt 里,而 prompt 是会被模型遗忘的。
今天的主角 ECC(affaan-m/ECC)直接把这个问题定义成「操作系统层」的事:你的 Agent 是 CPU,ECC 是装在上面的操作系统——进程管理(子 Agent 调度)、文件系统(技能库)、内存(跨会话记忆)、安全模块(AgentShield)全给你配齐。23.9 万 Star、3.6 万 Fork,2026 年 1 月 18 日创建,7 个月冲到 GitHub 全站前排,昨天(8月9日)还在推 commit。这个涨势,比我们写过的 claude-mem(90K)还猛一个量级。
它到底是什么
一句话:ECC 是给 Coding Agent 用的「组织系统」——67 个专职子 Agent、284 个技能、94 个命令、按语言分层的 rules、hook 运行时、跨会话记忆和本能学习,全部打包成一套可安装的工作流。
作者是 Affaan M.(@affaan-m),单人维护但每周跨 7 个 harness 发版。核心理念就一句:Optimize the context window. Persist everything else.(优化上下文窗口,其余全部持久化)。它不替代你的 Agent,而是装进 Claude Code / Codex / Cursor / OpenCode / Hermes 等 harness,让「先计划、先写失败测试、换新上下文审查、验证后记住」成为 Agent 的默认行为,而不是你每次手动叮嘱的话。
- 238,970 Star,2026年1月18日创建,JavaScript 为主(Shell/TS/Python/Go/Java/Perl 混合),MIT 协议,官网 ecc.tools
- 67 个专职子 Agent——planner、architect、code-reviewer、security-reviewer、build-error-resolver、e2e-runner、refactor-cleaner,以及 Go/Python/TS/Java/Kotlin/Rust/C++/F#/HarmonyOS/ML 的专属 reviewer 和 build-resolver
- 284 个技能——tdd-workflow、security-review、eval-harness、verification-loop、search-first,外加 Python/Django/Go/Laravel/Quarkus/Spring Boot/C++/Perl/Swift 的语言 patterns+TDD+安全+验证四件套
- 会进化的记忆——continuous-learning 把会话里的成功模式提炼成带置信度分数的「instincts(本能)」,还能 /evolve 聚类升级成正式技能
- AgentShield 安全审计——扫描 prompts、hooks、MCP 配置、权限、密钥和 agent 文件,1282 个测试、102 条规则
- v2.1.0(7月27日)——Plan Canvas 浏览器审计划、Kimi Code 安装目标、自托管 GPU 计算路径;另有 Rust 写的 ecc2 控制平面原型在树内开发
核心机制:它不是技能合集,是五层「操作系统」
跟普通 skills 仓库最大的区别:ECC 把能力按职责拆成五层,各管各的,不互相污染上下文。
1. Agents:把活儿派给「专职员工」,而不是让一个人干所有事
67 个 agent 每个都是独立上下文、独立工具权限的「员工」。写功能先派 planner 出实施蓝图,写代码走 tdd-guide,写完派 code-reviewer 用全新上下文审——你刚写代码的上下文会自我确认偏差,换个人看才能抓回归。构建挂了派 build-error-resolver,TypeScript 项目就派 typescript-reviewer,生产 ML 改动派 mle-reviewer。隔离是核心:计划、实现、审查各自有独立的 context window,互不污染。
2. Skills:按需加载的工作流,不占常驻上下文
284 个技能是「任务需要时才加载」的。TDD 不是一个「请你写测试」的提醒,而是一个带证据门的 RED → GREEN → REFACTOR 工作流:先捕获失败测试证据,实现到 GREEN,再换上下文审查,最后验证 build/lint/types/tests 全绿。一条功能开发留下的不只是代码,而是一条证据链:计划、失败测试、通过测试、审查发现、最终验证。
3. Rules:常驻的「公司制度」,按语言选择性安装
Rules 是 always-loaded 的,所以 ECC 特意设计成按需装:rules/common(语言无关的编码风格、git 工作流、测试要求、安全红线)+ 你实际用的语言包(TypeScript/Python/Go/Swift/Java/PHP/Perl/Kotlin/C++/Rust)。装多了就是纯烧上下文,README 反复强调「只装 common + 一个你真正在用的语言包」。
4. Hooks + Memory Vault:上下文之外的一切,持久化
Hook 运行时挂在 SessionStart / UserPromptSubmit / PostToolUse / Stop / SessionEnd 五个阶段,跑在模型上下文之外——session 摘要、上下文压力检查、强制执行都在这里做。记忆走 Unified Memory Vault:.ecc/memory/(项目级)+ ~/.ecc/memory/(用户级)统一存成可检查的 ecc.memory.v1 Markdown,Claude / Codex / Hermes / OpenClaw / Kimi 共用一份,跨 harness 交接直接 ecc memory handoff --from hermes --target codex。
5. Instincts:从你的真实会话里「长」出来的经验
这是 ECC 最独特的一层:不是人写死的技能,而是从你 Agent 的真实会话中自动提炼的模式。每次会话 Stop 阶段,continuous-learning 钩子提取「这次做对了什么」,生成带置信度分数的 instinct 存进本地。装多了可以 /evolve 把一群相似的 instincts 聚类、人工确认后升级成正式技能——你的 Agent 用得越久,越懂你项目的脾气。这才配叫「会进化的记忆」。
和 superpowers / agent-skills / claude-mem 比,差在哪
我们之前写过 superpowers(26.9万 Star 的技能框架)、agent-skills(8.5万 Star 的生产级技能库)、claude-mem(9万 Star 的记忆系统)——ECC 跟他们不是竞争关系,是「全家桶 vs 单品」的关系:
| 维度 | ECC(23.9万 Star) | superpowers(26.9万) | agent-skills(8.5万) | claude-mem(9万) |
|---|---|---|---|---|
| 定位 | Agent 组织系统(OS) | 开发方法论技能框架 | 生产级技能集合 | 跨会话记忆引擎 |
| 子 Agent | 67 个专职,独立上下文 | 少量 | 少量 | 无 |
| 技能数量 | 284 个 | 十几个核心技能 | 80+ 个 | 1 个检索 skill |
| 记忆 | Memory Vault + 本能学习 | 无 | 无 | SQLite+向量全自动 |
| 安全审计 | AgentShield(102 规则) | 无 | 部分 | 无 |
| 跨 harness | 12+(Claude/Codex/Cursor/OpenCode/Hermes…) | Claude Code 为主 | Claude Code 为主 | 6 个 |
| 安装成本 | 高(组件多、注意别叠装) | 低 | 低 | 中(Bun/uv 依赖) |
| 适合谁 | 想把 Agent 当团队用的人 | 要方法论不要全家桶 | 要现成高质量技能 | 只缺记忆这一块 |
结论:superpowers 是「心法」,agent-skills 是「兵器库」,claude-mem 是「记忆模块」,ECC 是「把心法、兵器、记忆、安保全管起来的那个公司」。单品各有各的纯粹,但如果你不想维护四五套配置的拼装,ECC 一个包解决;反过来,如果只需要其中一块,装全家桶确实有点重——这也是它 README 里选择性安装设计存在的原因。
上手:一条命令装完,先跑 /ecc:plan
# 推荐:引导式安装(Claude Code 插件 + 多 harness 向导)
npx ecc-universal setup
# 多 harness 一起装(Claude + Codex + Kimi 可选)
npx ecc-universal install --guided
# 或者用 Claude Code 原生插件市场
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc
# 装完先看看有什么
/plugin list ecc@ecc
日常用法就是「先计划、再干活」:
/ecc:plan "Add user authentication with OAuth"
# -> planner 出实施蓝图,Plan Canvas 里点着批注、批准后再动工
# -> tdd-workflow:先写失败测试(RED),实现到 GREEN
# -> /code-review:换全新上下文审查
# -> /security-scan:AgentShield 扫一遍
# 安全审计也可以独立跑
npx -y ecc-agentshield scan --path .
# 跨会话记忆
ecc memory init --scope project
ecc memory handoff --from claude --target codex --title "继续认证迁移" --body-file ./handoff.md
ecc memory search "authentication migration" --target-harness codex
实际体验的几个坑
- 别叠装安装方式——README 用加粗大字警告:Claude 插件 + Codex sync + 手动 install 三选一,同一种 harness 叠装两种方式会重复安装 skills/commands/hooks,症状是命令出现两份、hook 执行两遍。装乱了直接跑
node scripts/ecc.js doctor+repair,别手删 - Rules 是常驻上下文,装多了真的会烧 token——284 个技能是「按需加载」不占上下文,但 rules 是 always-loaded。手册反复强调只装 common + 一个语言包,全装 = 每个会话白烧一大截上下文
- Codex 路径没有 hook 运行时——平台支持矩阵写得很清楚:Codex 是「supported sync」,不支持 ECC hooks,记忆自动捕获、会话摘要这些在 Codex 上不生效,只能用 AGENTS.md 和权限补偿。想要完整体验得上 Claude Code
- multi-* 命令要额外装 ccg-workflow——
/multi-plan、/multi-execute这些多模型编排命令不在基础安装里,得先npx ccg-workflow初始化,否则命令静默不工作 - MCP 不会自动启用——插件安装不会自动开 ECC 自带的 MCP server(就一个 chrome-devtools 默认连接器),要自己用
/mcp或项目级.mcp.json显式启用。ECC 的策略是「skill 包 CLI/REST,少用 MCP」,跟市面上「MCP 越多越好」的路线正好相反 - README 里有个官方安全警告——只从官方渠道装(GitHub 仓库、npm 的 ecc-universal/ecc-agentshield、GitHub App、插件 slug
ecc@ecc),第三方转发和镜像可能带毒,这是少见的把供应链风险写进 README 顶部的项目
跟我们有关的一件事
这个项目跟本工坊读者的关系几乎是贴脸的:ECC 的跨 harness 支持列表里明确有 Hermes(./install.sh --profile minimal --target hermes,还配了专门的 HERMES-SETUP 指南),Memory Vault 的 handoff 示例里就直接写着 --from hermes --target codex。它可能是目前唯一一个把 Hermes 当一等公民写进文档的「组织系统」级项目。
就算你不装它,它的三个设计也值得抄进自己的 Agent 工作流:一是「计划先于实现」的门控——plan 不确认不许动工,把 Agent 的冲动写代码治了;二是「换上下文审查」——自己写的代码自己审必瞎,派独立上下文审是性价比最高的质量杠杆;三是「本能学习」的闭环——会话结束自动提炼成功模式、带置信度、可聚类升级,这是记忆之上再长一层的「经验」。
要不要我帮你把 ECC 的 67 个 agent 清单和 284 个技能目录拉全,看看哪些直接能用到你手头的项目上?或者对比一下它和 superpowers 装进同一个 Claude Code 会不会打架?
适合谁用
- 受够了「每次都要在 prompt 里重申纪律」的人——TDD、审查、验证变成默认流程而不是口头叮嘱
- 多 Agent / 多 harness 混用的人——Claude Code 干活、Codex 干别的,Memory Vault 一份记忆两端读
- 团队想统一 Agent 行为标准的人——rules + agents 就是「公司制度 + 岗位分工」的代码化
- 担心 Agent 安全的人——AgentShield 把 prompts/hooks/MCP/密钥当攻击面扫,这个视角目前独一份
- 在 superpowers / agent-skills 之间纠结的人——ECC 是「我全都要」的答案,但前提是接受它的安装复杂度
总结
ECC 的野心在标题里就写明了:Agent Harness Operating System。它赌的是「Agent 能力的瓶颈不在模型,在工程组织」——再强的模型,没有计划门控、没有独立审查、没有持久记忆、没有安全审计,也就停留在「很会写代码的实习生」;ECC 想把这些变成操作系统级的默认项。23.9 万 Star、7 个月、单人维护、每周发版,市场已经用脚投票。
代价也很真实:全家桶的安装复杂度、rules 烧上下文的隐患、Codex 无 hooks 的功能残缺、以及「别叠装」这种只有系统级项目才有的坑。但如果你是那种「Agent 用得多到开始嫌它野」的人,ECC 大概率是你下一个周末的快乐源泉。MIT 协议,随便抄。
项目地址:github.com/affaan-m/ECC(官网:ecc.tools · 引导安装:npx ecc-universal setup)