今天 GitHub Trending 日榜第三位是 affaan-m/ECC,页面上写着今日新增 1,057 星。同一时段按 GitHub API 读回来:280,957★、41,779 个 fork、222 个未关 issue,主语言 JavaScript,许可 MIT,建仓 2026 年 1 月 18 日,最近一次推送就是今天。npm 上的 ecc-universal 最新版是 2.2.3,registry 记录发布于 10 月 2 日,累计发过 13 个版本,上周下载 14,080 次;配套的 ecc-agentshield 上周 17,009 次。作者 affaan 在 README 里自述,2025 年 9 月拿过 Anthropic 与 Forum Ventures 合办的黑客松冠军。

一句话:它不是又一个技能包,是把工程流程装进 Agent

  • 它的口号就是一次取舍。README 顶着一行 “Optimize the context window. Persist everything else."——上下文窗口里的东西要省,其他一切都要落盘。
  • 它固化的是流程,不是知识。计划的落点是可编辑的产物而不是聊天记录;TDD 是一道带证据的红→绿→重构闸门;写代码的和审代码的不是同一个上下文;会话结束要蒸馏成摘要、instinct 和可复用技能。
  • 它的形态在 harness 这一层。同一份内容放在仓库根目录当唯一真源,各平台适配器只做打包或映射,而不是给每个工具维护一份副本。
  • 为什么现在冲上来。2.2 线把安装改成引导式向导,一次覆盖 Claude Code、Codex、Kimi Code,并带上 doctor、修复和卸载;最近一次发版是 10 月 1 日。

功能一:71 个子代理,按语言和岗位分工

  • 语言岗铺得最细:Go、Python、Kotlin、Java、Rust、C++、F#、Ruby、TypeScript 各有一个 reviewer,其中 Go、Kotlin、Java、Rust、C++ 还各配一个 build-resolver,专治构建报错。
  • 专业岗补位:planner(功能落地计划)、architect(系统设计取舍)、tdd-guide、code-reviewer、security-reviewer、refactor-cleaner(清死代码)、doc-updater、e2e-runner(Playwright)、database-reviewer、mle-reviewer(生产 ML 管线评审)、pytorch-build-resolver(训练报错)、harmonyos-app-resolver。
  • 三个不太像编码代理的:chief-of-staff 管沟通分诊与起草,harness-optimizer 调 harness 配置,loop-operator 跑自主循环。
  • 格式可以直接抄:一个子代理就是一个带 YAML frontmatter 的 Markdown 文件,填 name / description / tools / model,写完丢进 agents/ 就生效。

功能二:311 个技能,编码以外的更值得看

编码类覆盖了主流栈的"四件套”:Django、Laravel、Spring Boot、Quarkus 各有一份 patterns、一份 security、一份 tdd、一份 verification;之外还有 api-design、database-migrations、deployment-patterns、docker-patterns、postgres-patterns、regex-vs-llm-structured-text 这种决策框架,以及 cost-aware-llm-pipeline(LLM 成本优化与模型路由)。

非编码类对做内容和副业的人更直接:

技能用它做什么
article-writing按你给的语气写长文,官方描述是"不带通用 AI 腔"
content-engine一份内容改写成多平台分发的物料
market-research市场、竞品、投资人研究,要求带出处
investor-materials路演稿、一页纸、备忘录、财务模型
investor-outreach定向募资邮件与跟进
videodb视频音频的摄取、检索、剪辑、生成、推流
osint-investigation开源情报方法论:竞争假设、证伪、影像核验
  • 加载方式决定了能不能一起装。官方把概念按上下文行为分开:技能按需加载,子代理各自隔离上下文,规则是 always loaded,hook 跑在模型上下文之外,instinct 按相关性召回。话里的意思很明确:技能可以多装,规则要少装。

功能三:97 个命令,官方自己说它正在被技能取代

  • 保留的入口:/ecc:plan、/code-review、/build-fix、/refactor-clean、/context-budget(看上下文压力)、/save-session 与 /resume-session、/security-scan、/learn-eval。
  • 退役的自选:/tdd、/eval、/e2e、/verify 被移进 legacy-command-shims/,要显式 opt-in 才会出现。
  • 官方立场是技能优先:仓库里写着新的工作流应该先落进 skills/。命令还在,作用是给习惯斜杠开头的人一个兼容入口。
  • 一条推荐的日常顺序:建功能先用 /ecc:plan "描述这个功能" 出计划,再走 tdd-workflow;修 bug 先写一个能复现的失败测试;交活前 /security-scan 加 e2e-testing,最后 /test-coverage 确认覆盖率。

功能四:hooks 会替你在模型外面动手

  • 触发方式是工具事件。官方示例给的是"编辑 .ts/.tsx/.js/.jsx 时,如果文件里有 console.log 就回一条提醒"。
  • GateGuard 拦破坏性命令:rm、带 force 或路径的 git checkout、破坏性的 find -exec 在真正执行前被拦下;供应链 IOC 扫描放在 CI 里跑。
  • 上下文占用可调:SessionStart 注入的额外上下文默认上限 8000 字符,可以整个关掉,给低上下文或本地模型省额度;instinct 默认最多注入 6 条、置信度低于 0.7 的不注入,再按项目与技术栈相关性加权排序。
  • 这个能力有代价:hook 是在你的机器上执行的脚本,装之前要读。官方也把这一条写进了安全指南。

功能五:记忆能跨 harness 交接,但信任边界划得很死

  • 格式是一份 Markdown。项目记忆在 .ecc/memory/,个人记忆在 ~/.ecc/memory/,文档格式叫 ecc.memory.v1,不复制厂商的对话记录。
  • 交接命令是核心动作:ecc memory handoff --from hermes --target codex,另一侧用 ecc memory search "authentication migration" --target-harness codex 取回。我们自己在服务器上跑的就是 Hermes,ECC 的适配器清单里也确实有 hermes 这一项,不过被归在实验档。
  • 三道护栏:记忆正文只接受 --stdin 或 --body-file,不能当命令行参数塞;首版所有条目都是 create-only 且标为未复核;个人范围要操作者显式打开 ECC_MEMORY_ALLOW_USER_SCOPE=1。
  • MCP 只开四个口子:memory_save、memory_search、memory_read、memory_doctor,而且每个服务必须绑定小写 harness 身份,调用方不能自称。

功能六:AgentShield 把配置本身当攻击面

  • 扫的是 agent 周边:提示词、hooks、MCP 配置、权限、密钥、agent 文件。
  • 三种跑法:agentshield scan --path . 只扫,加 --fix 顺手修,加 --opus --stream 换模型并流式输出;也能接进 CI 的 GitHub Action。
  • 有一条很硬的自我设限:必须用已经审阅过的 ecc-agentshield 二进制,官方明说在注册表上发布本身不构成审计,并且不给一个固定的审计版本号。这种话很少见,反而更像安全工具该有的样子。

功能七:一份内容,多套 harness

官方把差异写成了一张能力声明矩阵,而不是营销档位:

harness状态关键限制
Claude Code稳定主力插件会把装好的目录清单告诉模型,在意上下文占用就改用精选安装
Codex原生插件支持原生 hook 要你在 /hooks 里显式信任,且没有 Claude 式的 hook 对齐
Qoder原生插件只启用被审阅过的 SessionStart hook,非交互 PATH 里要有 Node 18+
Cursor / OpenCodeBeta 适配子代理发现随 Cursor 版本变化 / 只带目录子集,要自己在 OpenCode 里连 provider 选模型
GitHub Copilotinstruction-only 与 BetaChat 侧只放指令文件、hook 不适配;CLI 侧不装 hooks 和规则
Gemini、Zed、Antigravity、Qwen、Hermes、OpenClaw、Kimi 等实验性最小适配只保证文件落位与指令可移植,不承诺与 Claude 功能对等

怎么用起来:一条命令,三种备选

前置:Node.js 18 或更新、Git、Claude Code 2.1 或更新(走插件路径时)。README 建议先 node --version、git --version、claude --version 三个都确认过再装。

  • 推荐路径:npx ecc-universal@2.2.3 setup。向导会先清点官方市场和你本机已有的安装范围,再决定装、更新还是安全迁移到 user、project、local 之一;装完新开一个会话,用 /plugin list 查 ecc@ecc 有没有启用。
  • 原生插件路径:在 Claude Code 里执行 /plugin marketplace add https://github.com/affaan-m/ECC 加 /plugin install ecc@ecc。两条路装出来的东西一样,选一条就停手。
  • 多 harness 一条命令:npx ecc-universal@2.2.3 install --guided,可以同时勾 Claude Code、Codex、Kimi Code;勾完先预演:npx ecc-universal@2.2.3 install --guided --harness codex --dry-run。
  • 上下文吃紧或本地模型:npx ecc-universal@2.2.3 install --profile minimal --target claude,这个档位有意不带 hooks-runtime。

三条会踩的规矩:

规矩为什么
每个 harness 只选一种装法叠着装会重复技能、命令、hook 和配置;装到多个 harness 不重复,同一个 harness 装两次才重复
规则按语言和项目挑规则是 always loaded,全装等于每个会话都多背一份标准
先读 hook 再装hook 在模型外替你的机器执行脚本,官方也要求先审

免费的边界在哪

平台自己分了三档:

档位价格你买到什么
Free$0OSS 全量 + 公共仓库的 GitHub App 分析,每月 10 次,每次最多 200 commits
Pro$19 / 席位 / 月私有仓库分析、PR 触发审计、每席位 50 次分析(整个安装池化)、每次 1000 commits、AgentShield 支撑的扫描、大 push 自动触发;年付约省 17%
Enterprise联系销售不限次数、每次 5000 commits、SSO 治理与审计日志、自定义规则包、专属 onboarding 与 SLA

一句话:纯本机自己用,OSS 那份 MIT 的就够;Pro 卖的是"托管 GitHub App 那一层",和仓库里的技能、代理、命令无关。

和站内写过的几个比

项目它管的那一层与 ECC 的差别
marketingskills50 个营销技能领域纵深,ECC 是全局流程加一个更宽的目录
mattpocock-skills38 个工程技能同一个思路的轻量版,ECC 多了子代理、hook、记忆
context-mode上下文窗口优化一个插件解决一件事,ECC 把上下文预算写进安装档位
ifixai审计 Agent 有没有干该干的事都盯信任,ifixai 出成绩单,ECC 出 AgentShield 扫描

我的判断

  • 谁该上:同时用 Claude Code 和 Codex 的人值一次;想要"计划留痕、换上下文评审、跨工具记忆接力"的独立开发者和小团队也值;完全不写代码、只想要 article-writing 和 content-engine 这类技能的人,可以按 minimal 档只取技能,别整包吞。
  • 谁再等等:只用单一 harness、已经有一套自己调顺的 CLAUDE.md 或 AGENTS.md 的人。311 个技能加 97 个命令的目录,插件路径下会整份告诉模型,先算一下你的上下文账单。
  • 谁别碰:把 hook 当黑盒直接装的人;从第三方镜像或搬运包下载的人——README 自己贴了警告,只有仓库、两个 npm 包、GitHub App、ecc@ecc 和官网是官方渠道,其他镜像可能带恶意代码。
  • 已知缺陷照抄官方:Windows 原生下 continuous-learning v2 的观察者守护进程与 memory-vault 写入有未修缺陷(#2489、#2626);macOS 的独立 GAN shell 路径与系统自带 Bash 3.2 不兼容,而且带一个分数解析缺陷(#2674);Codex 拿不到 Claude 式 hook;仓库 222 个未关 issue,发版节奏靠一位维护者加赞助撑着。

本文由拾光札记编辑部整理,勘误请联系我们