ECC:跨多个编码智能体的 harness 优化系统

ECC 是给 Claude Code、Codex、Cursor 这类编码智能体用的跨 harness 性能优化系统,把技能、记忆、安全门禁与发布门禁收敛成一套可复用资产。这篇文章讲清它装上之后能做什么、第一次上手要注意什么、配置和结果分别落在哪里,以及它在哪几种情况下不如更窄的同类工具。

同时用 Claude Code、Codex 和 Cursor 的人往往在同一个地方重复干活:把规则文件、hooks、MCP 配置和技能定义从一个工具搬到另一个工具,换一次 harness 就重写一遍。项目一多,这些散落的配置还会互相打架。

ECC 是一套跨 harness 的智能体性能优化系统,用 JavaScript 写成,给 Claude Code、Codex、Cursor 等编码工具统一提供技能、记忆、安全与发布门禁,装一次即可复用同一套配置。

它把 harness 当成可被共享的执行面。Claude Code 仍是一等公民,Codex、OpenCode、Cursor、Gemini、Zed 和纯终端工作流共享同一套 skills、rules、hooks、MCP 约定与发布门禁。仓库在 https://github.com/affaan-m/ECC,MIT 许可证,主要语言 JavaScript(67.0%),另有 Rust 17.3%、Python 12.4%、Shell 2.1%、TypeScript 1.0%、Swift 0.1%。抓取时 268345 star、40093 fork、240 个开放 issue。

ECC 项目主页上展示的 harness 操作系统示意图

第一次用它需要知道的事

npm 是主要分发通道。仓库以 ecc-universal 和 ecc-agentshield 两个包发布到 npm,同时提供 ecc@ecc 插件 slug 和 ecc-tools GitHub App。仓库根目录有 .tool-versions 锁定工具链版本,但事实表没有给出具体版本号。

OpenCode 这条线上要额外留意 bun。曾有一条 Issue 记录 OpenCode TUI 频繁报 bun: command not found,环境是 Windows 11 加 PowerShell,OpenCode 版本 1.15.11,目前状态已解决。

安装渠道有官方范围。README 用 WARNING 标出:只有 GitHub 仓库、npm 上的 ecc-universal 与 ecc-agentshield、GitHub App、插件 slug ecc@ecc 和官网 ecc.tools 属于官方来源,第三方重新上传的镜像不经项目维护与审查,可能夹带恶意代码。

仓库体积不小。52909 KB 的体量意味着完整 clone 一次比多数工具类仓库慢,如果只想试一下,走 npm 包比拉源码更省事。

私有仓库的托管能力是收费项。开源部分永久 MIT 免费,ECC Pro 的 GitHub App 面向私有仓库,从 $19/seat/mo 起。

最短上手路径

  1. 先确认目标 harness 就位,v2.2.0 的引导安装器覆盖 Claude Code、Codex 和 Kimi 三套。
  2. 在 Claude Code 里走引导安装,或者用原生插件命令装 ecc@ecc,两条路装的是同一个插件,二选一,不要再叠一层完整的手动 Claude 安装。
  3. 需要额外配置时对照仓库根目录的 .env.example 填环境变量;.mcp.json 管 MCP 约定,.claude-plugin/ 与 .codex-plugin/ 分别是两个 harness 的插件定义目录。
  4. 记不住命令写法就翻 COMMANDS-QUICK-REF.md(12.8 KB),它集中列了常用命令。
  5. 验证是否装好,在会话里触发一次技能或 hooks,看它是否按预期响应。仓库里没有说明这一步的标准验收方式。

它实际上能做哪些事

跨 harness 复用

  • 共享资产层:同一套 skills、rules、hooks、MCP 约定和发布门禁被多个 harness 共用。2.0 起把 Claude Code、Codex、OpenCode、Cursor、Gemini、Zed 与纯终端工作流都算作执行面。仓库根目录为每个 harness 各留了一份隐藏目录,.claude/、.codex/、.cursor/、.gemini/、.kimi/、.kiro/、.opencode/、.qwen/、.trae/、.zed/ 都在其中。
  • 插件化分发:以 ecc@ecc 插件形态装进 Claude Code。历史上有过一条 Issue,装插件时报 plugins.0.source: Invalid input,属于 schema 校验问题,状态已解决。
  • Hermes 与 OpenClaw 的自动化迁移:把 Hermes 的 cron/scheduler、gateway dispatch、memory_tool 等能力迁到 Claude 原生路径上,用 /loop、/schedule 和 MCP 记忆服务承担原来的角色,状态已解决。

记忆与自我学习

  • Instincts(本能):会话里学到的行为会沉淀下来供后续复用。早期版本所有 instincts 全局存储,跨多个项目时会互相污染,后来加了项目级隔离,状态已解决。
  • 跨会话记忆与 SQLite 共享上下文图:2.0 吸收了 Hermes 与 OpenClaw 的记忆架构,让会话知识跨 session 累积;共享上下文图用 SQLite 存储,agent 可读写,存的是文件、函数这类实体。该项目在 Issue 中被列为已交付。

编排、审查与治理

  • Agent orchestrator:一个 lead agent 协调 2 到 20 个 teammate agent,负责委派任务、监控进度、合并结果。Issue 里标注评论 54 条,状态已解决。
  • 多会话 TUI 与可视化 worktree 管理:前者用分屏界面同时启动、监控、停止、恢复多个 agent session;后者给每个 agent 自动建 git worktree,带 diff 查看,完成后自动合并。
  • Plan Canvas 与 diff 感知审查:Plan Canvas 让你在浏览器里审查 agent 的计划,指着某一段说事,不用在对话里重新打一遍。diff 感知的上游审查会分析真实 diff、审查评论的解决情况、预判后续问题,并生成针对性的 issue 与 PR,属于 ECC Tools 的工作流。
  • 安全与治理门禁:v2.2.1 是 2.2 的 bug 与安全补丁,其中 GateGuard 与治理门禁被列入安全与数据保护条目。同一版本的发布流程要求 npm 归档包在 Linux、macOS 和 Windows 上全部通过生命周期测试才能发布。

参数速查

仓库里没有给出集中式的可调参数清单。能直接接触到的配置文件是这些:.env.example(3.1 KB)是环境变量模板,.mcp.json(0.1 KB)管 MCP 约定,.tool-versions(0.2 KB)锁工具链版本,.coderabbit.yaml(1.7 KB)配 CodeRabbit,.gitleaksignore 是密钥扫描的白名单,hooks/hooks.json 定义 hooks 条目。这些字段各自的取值范围,仓库里没有逐项说明。

输出与结果位置

装好之后,skills、hooks 与门禁在 harness 内部生效,结果直接出现在你的编码会话里。Plan Canvas 渲染在浏览器中。多会话 TUI 管理器是终端里的分屏界面。ECC Tools 这条线走的是 GitHub App,审查结果以 PR 评论和生成的 issue 形式落回仓库。仓库里没有说明是否有独立的报告目录或本地输出文件。

实际使用中的坑

插件的 schema 校验踩过两次。一次是 plugins.0.source: Invalid input,装插件直接失败,16 条评论、23 个 reaction;另一次是 hooks/hooks.json 里全部 27 条 hooks 在 Claude Code 2.1.x 下加载失败,原因是 schema 期望 command 是字符串,仓库里写的是 argv 数组。两条目前都是已解决状态。

instincts 的作用域问题值得单独提。所有学到的本能原先不分项目全局存储,同时开几个项目就会互相干扰,后来补上了项目级隔离,已解决。

跨平台环境变量的坑有一条:OpenCode TUI 在 Windows 11 + PowerShell 下频繁报 bun: command not found,说明这条路径对外部运行时版本敏感,已解决。

上面这几条 Issue 在事实表里都标注为已解决。240 个开放 issue 说明项目迭代频率高,升级前后最好先看 CHANGELOG.md(14.6 KB)。

同类项目对比

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
ECC同时在用 Claude Code、Codex、Cursor 等多套 harness,想把规则、技能和门禁统一起来的团队以 ecc@ecc 插件装进 harness,npm 上另有 ecc-universal 与 ecc-agentshield 两个包;仓库本体约 52 MB插件安装依赖 harness 的插件市场,早期版本出现过 schema 报错;ECC Pro 的私有仓库能力按 $19/seat/mo 收费;npm 之外只有官网与 GitHub App 属官方渠道,第三方镜像不受审查需要的不只是记忆或技能中的某一项,而是跨 harness 共享的整套约定与发布门禁ECC
thedotmack/claude-mem只想要跨会话持久上下文、不想引入整套 harness 抽象的单个开发者仓库里没有说明部署细节定位集中在跨会话记忆这一件事上,不覆盖技能分发与发布门禁;其余能力未逐一核实你的痛点只有「会话之间上下文丢失」,装一个更窄的工具就够thedotmack/claude-mem
ComposioHQ/awesome-claude-skills想先翻一遍现成 Claude Skills 再决定装什么的人仓库里没有说明部署细节它是整理好的清单与资源集合,不提供安装器,也不会替你把技能装进 harness;其余能力未逐一核实你处在选型阶段,需要先横向看有哪些技能可用ComposioHQ/awesome-claude-skills

如果你的问题只是「会话之间记不住东西」,claude-mem 这类专注单一能力的工具装起来比 ECC 轻得多,不用背上跨 harness 的抽象层与 52 MB 仓库。ECC 的价值出现在你同时维护多个 harness、且需要一个地方统一规则与门禁的时候;只用一个工具、又不打算扩展到第二个的人,引入它的收益有限。awesome-claude-skills 与 ECC 解决的不是同一件事,前者是清单,后者是可安装的系统,放在这里只是给选型阶段的读者一个参照。

合规边界

ECC 会在代码库上自动跑 agent、建 worktree、合并分支、生成 PR,ECC Tools 还要把 GitHub App 装到仓库上并授权访问。这些动作只应作用在自有仓库或已获授权的目标上。把自动化审查、自动提交或自动合并挂到不属于自己的仓库,可能触及平台的服务条款,也可能带来代码泄露与误合并的风险。开启自动合并之前,先确认分支保护规则与审查流程还在生效。

什么时候值得用它

同时使用两套以上编码 harness,并且已经感到规则、hooks 和技能在重复维护时,ECC 的共享资产层能直接省掉这部分搬运工作。

团队需要在多个 harness 之间维持同一套发布门禁和安全策略时,把门禁做成跨 harness 的公共层比在每个工具里各配一遍更容易对齐。

已经开始用 agent 并行处理任务、需要 lead agent 协调多个 teammate 或者按 worktree 隔离改动时,ECC 内置的编排与 worktree 管理能覆盖这段流程。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 10.0 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)10.0 / 10
社区响应(权重 15%)10.0 / 10
文档质量(权重 15%)10.0 / 10
发布节奏(权重 10%)9.6 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

ECC 的价值在于把跨 harness 的重复配置摆上台面:skills、rules、hooks 与发布门禁收敛成一套共享资产,并把插件 schema 报错、hooks 加载失败、instincts 跨项目污染这些坑一并写清。适合同时用两套以上编码 harness、已在重复维护规则的团队。仓库约 52 MB,安装依赖插件市场,Pro 的私有仓库能力收费;

文中的 star、fork、开放 issue 数、仓库体积、许可证、价格与各 Issue 状态,均来自仓库与原作者公开披露,诀.com 未独立验证;文末焚评 10.0 分及各维度得分引自焚.com,口径以其评分方法页为准。未做装机或运行测试。

项目来源与说明

开源项目:affaan-m(affaan-m)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库