ECC:23 万 Star 的 AI Agent Harness 操作系统

ECC:AI 编码 Agent 的操作系统

GitHub Trending 上一个名为 ECC 的项目正以每天新增近 700 颗星的速度增长,总 star 数已突破 23 万。它的定位是"AI Agent Harness 操作系统"(Agent Harness Operating System),为 Claude Code、OpenAI Codex、Cursor、Gemini CLI、Zed 等主流 AI 编码工具提供一套统一的工程化基础设施。

这个项目的全名是 affaan-m/ECC,由单一维护者开发,MIT 开源。它的核心理念可以用一句话概括:你的 AI Agent 能写代码,ECC 给它一套协作工程系统。

解决什么问题

使用 Claude Code 或 Cursor 这类 AI 编码工具时,开发者常常遇到几个重复出现的痛点:计划消失在聊天记录里、"请使用 TDD"只是模型可能忘记遵守的指令、同一个上下文既写代码又审代码导致盲区、记忆仅依赖保存完整对话记录、质量检查完全依赖提醒。

ECC 的做法是将这些流程制度化。它通过 skills(技能)、agents(子代理)、hooks(钩子)和 rules(规则)四个层级,把工程实践嵌入 Agent 的工作流程中,而不是在提示词里加几句指令。

核心架构

ECC 的组件体系包含以下几层:

Agents(67 个子代理):每个子代理有独立的上下文窗口和工具权限,负责特定任务。比如 planner 负责功能规划,code-reviewer 在全新上下文中做代码审查,security-reviewer 执行漏洞分析,build-error-resolver 修复构建失败。还有针对特定语言的审查代理:Go、Python、TypeScript、Java、Kotlin、Rust、C++、F# 都有专属的 reviewer 和 build-resolver。

Skills(281 个技能):这是 ECC 的工作流主界面。技能按需加载,不常驻上下文。覆盖 TDD 工作流、安全审查、后端模式(API 设计、数据库迁移、缓存)、前端模式(React、Next.js)、部署模式(CI/CD、Docker、回滚)、以及 ML 工程化(mle-workflow)。技能还包括 niche 领域如 ClickHouse 分析、Perl 模式、Swift 并发。

Commands(94 个命令):作为 skills-first 迁移期间的兼容入口保留。如 /ecc:plan 规划功能、/code-review 代码审查、/build-fix 修复构建、/security-scan 安全扫描。

Hooks(运行时钩子):在工具事件触发时自动执行脚本,运行在模型上下文之外。比如 SessionStart 加载上下文,Stop 阶段生成会话摘要,PreToolUse 检查代码质量。钩子可通过 ECC_HOOK_PROFILE=minimal|standard|strict 控制严格程度。

Rules(规则):始终加载的项目或语言标准。按 common/(语言无关)加语言专属目录组织,包括 TypeScript、Python、Go、Swift、PHP、HarmonyOS/ArkTS 等 12 个语言生态。

Instincts(直觉):从真实会话中自动学习模式,带置信度评分。会话结束时自动提取,当相关场景出现时被回忆。可通过 /evolve 将相关直觉聚类为可复用技能。

工作流程示例

ECC 推崇的工程流程是一条闭环链路:

text
plan -> test -> implement -> review -> verify -> remember -> improve

以开发新功能为例:

  1. /ecc:plan "添加用户认证":planner 代理生成实施蓝图,包含架构决策和任务拆解
  2. 激活 tdd-workflow 技能:tdd-guide 代理强制先写失败测试(RED),再实现最小代码使其通过(GREEN),然后重构(REFACTOR)
  3. /code-review:code-reviewer 在全新上下文中审查代码,寻找回归和盲点
  4. 修复发现的问题并添加回归测试
  5. 验证构建、lint、类型检查和测试全部通过

ECC 强调"结果不只是代码,而是证据链":计划文档、失败测试、通过测试、审查发现、最终验证,每一步都留下可追溯的记录。

Plan Canvas:浏览器内审阅计划

ECC 2.1 引入的 Plan Canvas 是一个值得关注的特性。Agent 写完计划后,会打开一个仅本地访问的浏览器画布。开发者可以点击计划中的特定部分,附加编号注释,在侧边栏与 Agent 对话,然后点击"批准计划"或"要求修改"。

审批结果直接映射到 /plan 的确认关卡。计划中的 Mermaid 图表会实时渲染。这个工具与具体 harness 和模型无关:它是一个说 JSON 的命令行工具(ecc-plan-canvas),任何 Agent 都能驱动它。

AgentShield:Agent 配置安全审计

AgentShield 是 ECC 的安全组件,诞生于 2026 年 2 月的 Claude Code Hackathon(Cerebral Valley x Anthropic)。它扫描 Agent 配置中的漏洞、错误配置和注入风险,覆盖 5 个类别:密钥检测(14 种模式)、权限审计、钩子注入分析、MCP 服务器风险画像和 Agent 配置审查。

bash
npx ecc-agentshield scan          # 快速扫描
npx ecc-agentshield scan --fix    # 自动修复安全问题
npx ecc-agentshield scan --opus   # 三个 Opus 4.6 Agent 红蓝对抗分析

--opus 模式运行三个 Claude Opus 4.6 Agent 组成红队/蓝队/审计员管线。攻击者寻找漏洞利用链,防御者评估保护措施,审计员将两者综合成优先级排序的风险评估。输出格式支持终端(A-F 评分)、JSON(CI 管线)、Markdown 和 HTML,严重发现在 CI 中返回退出码 2 可作为构建门禁。

Unified Memory Vault:跨 Harness 上下文共享

ECC 2.1 正在开发统一记忆金库(Unified Memory Vault),让 Claude、Codex、Hermes、Kimi 等 harness 共享一种本地可检查的 Markdown 格式来做持久化上下文和交接。

bash
ecc memory init --scope project
ecc memory handoff --from hermes --target codex \
  --title "继续认证迁移" --body-file ./handoff.md
ecc memory search "authentication migration" --target-harness codex

记忆是未审查的上下文,不能当作可执行策略。重要声明需要对照权威来源核实,被接受的知识应提升为受治理的项目文档。

跨 Harness 支持

ECC 的适配范围是它最大的差异化之一。除了第一方支持 Claude Code 和 Codex,它还通过 install.sh --target <harness> 适配以下平台:

Harness安装方式说明
Cursor--target cursor项目级 .cursor/ 适配器
OpenCode--target opencode构建插件负载后安装
Gemini CLI--target gemini项目级 .gemini/ 配置
Zed--target zed项目级 .zed/ 适配器
Antigravity--target antigravity独立安装指南
Qwen CLI--target qwen项目级配置
Hermes--target hermes独立设置指南
Kimi Code--target kimiMoonshot AI 的 CLI

GitHub Copilot 的支持已内置于仓库中,通过 .github/copilot-instructions.md.github/prompts/ 提供指令层。

安装与商业模式

ECC 的安装以 Claude Code 插件为主路径:

text
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc

这个项目采用开源核心加商业化的模式。MIT 许可证永久免费,ECC Pro 是面向私有仓库的托管 GitHub App,私有仓库定价 19 美元/座位/月。Sponsors 和 Pro 订阅者资助开发工作。README 中强调单一维护者每周在 7 个 harness 上发布更新。

npm 包 ecc-universal 提供通用 CLI,ecc-agentshield 提供安全扫描器。两者都通过 npm 安装。

项目有三个公开标识符:GitHub 仓库 affaan-m/ECC、Claude 插件标识 ecc@ecc、npm 包 ecc-universal。它们不可互换,各自服务于不同的分发渠道。

技术栈

ECC 的代码使用 JavaScript/TypeScript 为主,辅以 Shell、Python、Go 和 Perl。所有钩子和脚本使用 Node.js 编写以保证跨平台兼容(Windows、macOS、Linux)。仓库大小约 48MB,包含 997+ 内部测试。

配置管理方面,ECC 支持自定义 API 端点和模型网关,兼容自托管模型。通过环境变量 ANTHROPIC_BASE_URL 等配置,ECC 的工作流不依赖特定模型供应商。

开发者影响

对于已经在使用 Claude Code 或 Codex 的开发者,ECC 提供的是一个"标准化层"。它把你可能已经在手动做的事情(写测试、做代码审查、检查安全)变成可复用、可强制执行的流程。281 个技能意味着大量常见工程任务已经有了现成的工作流定义,开发者不需要从零开始编写 Agent 指令。

ECC 的记忆系统也解决了 AI 编码工具的一个根本限制:上下文窗口的有限性。通过将会话摘要、学习到的模式和可复用技能持久化到文件系统,ECC 让 Agent 的"记忆"不再仅限于当前对话窗口。

项目地址:github.com/affaan-m/ECC