核心命題: ECC(Everything Claude Code)定位為「Harness-native Agent 操作系統」——207K Stars、190 位貢獻者、63 個 Agent、251 個 Skill、7 個 AI 平台全支援。它到底有多強?能給我們的技術棧帶來什麼?
方法論: 克隆安裝 → 目錄遍歷 → 源碼級解剖 → skill-analysis 六步法逐點風險評估 → 借鑑決策矩陣
一、項目全貌
ECC 是 GitHub 上目前最受關注的 AI Agent 基礎設施項目。它不是一個 Agent,而是一套讓多個 Agent 平台協同工作的操作系統。
| 維度 | 數據 |
|---|---|
| Stars | 207,883 |
| Forks | 31,901 |
| 貢獻者 | 190 |
| 授權 | MIT |
| 技術棧 | JavaScript (60.8%) + Rust (29.6%) + Python (5.3%) |
| 總大小 | 84MB |
| 最後更新 | 2026-06-04 |
核心數字
63 Agents — 16 語言審查 + 12 建置修復 + 5 規劃 + 6 營運 + 其他
251 Skills — 安全 → 深度研究 → 前端 → 醫療合規
79 Commands — Slash command legacy 兼容層
31 Hooks — 8 個生命週期節點全覆蓋
20 Rules — 19 語言 + Common 全域規則
7 Harnesses — Claude Code, Codex, Cursor, OpenCode, Gemini, Kiro, Zed
二、架構全景
2.1 目錄設計
ECC/
├── agents/ (63 files) # 專業化 Agent Markdown 定義
├── skills/ (251 dirs) # 工作流技能庫
├── commands/ (79 files) # Slash command 兼容層
├── rules/ (19 dirs) # 按語言分類的全域規則
├── hooks/ # 8 生命週期 × 31 個 Hook
├── scripts/ # Node.js 自動化
├── contexts/ # dev / research / review 三模式切換
├── mcp-configs/ # 14 個 MCP Server 配置
├── schemas/ # JSON Schema 驗證層
├── .claude/ .codex/ .cursor/ # 7 個跨平台適配層
├── ecc2/ # Rust 控制平面(alpha)
└── docs/ # 12+ 語言文檔
2.2 核心設計理念
ECC 的設計圍繞 Agent-First 原則展開:
- Agent 即文件 — 每個 Agent 一個 Markdown 文件,包含角色描述、觸發條件、工具權限
- Skill-First 工作流 — Commands 已降級為 shim,Skills 是唯一的權威執行來源
- Hook 驅動自動化 — 31 個 Hook 覆蓋 8 個生命週期點:PreToolUse、PostToolUse、Stop、SessionStart、SessionEnd、PreCompact、Notification、External
- 跨平台抽象 — 核心 Skill/Rules 共享,每個 Harness 的適配層獨立
三、Agent 體系 — 63 個專業化智能體
ECC 的 Agent 不是簡單的 prompt variant,每個 Agent 都是一個完整的角色定義:
| 類型 | 數量 | 範例 |
|---|---|---|
| 語言審查 | 16 | cpp-reviewer, python-reviewer, csharp-reviewer |
| 建置修復 | 12 | build-error-resolver, cpp-build-resolver, django-build-resolver |
| 規劃分析 | 5 | architect, code-architect, chief-of-staff |
| 營運支援 | 6 | code-explorer, doc-updater, docs-lookup |
| 安全測試 | 4 | repo-security-review, e2e-runner, conversation-analyzer |
| 其他 | 20 | a11y-architect, code-simplifier, comment-analyzer |
關鍵設計特點:
- 每個 Agent 一個
.md文件,AI 可直接理解任務邊界 agent.yaml做結構化路由映射- AGENTS.md(250+ 行)定義「根據任務類型自動選擇 Agent」的調度規則
四、技能系統 — 251 個 Skill 的生態
4.1 分類
| 類別 | 代表性 Skill |
|---|---|
| 🔒 安全 | security-review(含 OWASP 清單 + secrets detection) |
| 🔬 研究 | deep-research(多輪深入研究工作流) |
| 🏗️ 架構 | architecture-decision-records, agent-architecture-audit |
| 🎨 前端 | angular-developer, accessibility |
| 🧪 測試 | ai-regression-testing, agent-eval |
| 🤖 自我改進 | autonomous-loops, self-improving-agent, agentic-os |
4.2 Skill 標準結構
每個 Skill 遵循統一的 SKILL.md 格式,以 security-review 為例:
---
name: security-review
origin: ECC
description: Use when adding authentication, handling user input...
---
# Security Review Skill
## When to Activate
## Security Checklist
### 1. Secrets Management
### 2. Input Validation
...
關鍵特性:
origin標記 — 每個 Skill 標註來源(origin: ECC),便於追溯和合併- 統一的 frontmatter — name + description + origin 三欄
- 結構化的觸發條件 — "When to Activate" 章節明確邊界
五、Hook 生命週期 — 全覆蓋的自動化層
ECC 的 31 個 Hook 覆蓋了 Agent 的 8 個生命週期點,這是我們最大的差距所在:
| 生命週期點 | ECC Hook 數量 | UltraClaw 現狀 |
|---|---|---|
| PreToolUse | 8 | ❌ 無 |
| PostToolUse | 6 | ❌ 無 |
| Stop | 3 | ❌ 無 |
| SessionStart | 4 | before_agent_start(1 個) |
| SessionEnd | 3 | ❌ 無 |
| PreCompact | 3 | ❌ 無 |
| Notification | 2 | ❌ 無 |
| External | 2 | ❌ 無 |
最具價值的 Hook:
- memory-persistence — SessionStart 載入記憶、SessionEnd 保存記憶
- secret-detection — PreToolUse 檢查工具參數中的密鑰洩漏
- session-summary — Stop 階段自動生成會話摘要
- compact-guard — PreCompact 階段控制上下文壓縮策略
六、安全架構 — 5 層縱深防禦
ECC 的安全設計不是事後補丁,而是從第一天就嵌入的:
Layer 1: Prompt Defense — system prompt 中的安全基線
Layer 2: Hook Validation — PreToolUse 檢測危險操作
Layer 3: CI Audit — GitHub Actions 自動安全掃描
Layer 4: MCP Scope — MCP Server 權限精細控制
Layer 5: Security Policy — 全域安全政策 (the-security-guide.md, 82KB)
配套的安全文檔 the-security-guide.md 長達 82KB,涵蓋 threat modeling、OWASP Top 10 對應、secrets management、prompt injection 防禦等。
七、源碼級技術點提取(含風險評估)
按 skill-analysis 六步法逐一解剖:
| # | 技術點 | 源碼證據 | 風險 | 等級 |
|---|---|---|---|---|
| 1 | Agent 定義即文件 | agents/*.md(63 個),每文件獨立定義角色/觸發/權限 |
無結構化 schema 驗證 | 🟡 |
| 2 | Hook 生命週期全覆蓋 | hooks/hooks.json(31 hooks,8 生命週期點) |
級聯失效:任一個 hook 失敗中斷 session | 🟠 |
| 3 | Skill origin 標記 | skills/*/SKILL.md 的 origin: ECC frontmatter |
無衝突解決策略 | 🟡 |
| 4 | AGENTS.md 路由 | AGENTS.md(8KB)自然語言調度表 |
LLM 路由非確定性 | 🟡 |
| 5 | 跨平台目錄鏡像 | .claude/ .codex/ .cursor/ 等 7 目錄 |
維護爆炸風險 | 🟠 |
| 6 | memory-persistence hook | hooks/memory-persistence/ |
敏感數據自動保存 | 🔴 |
| 7 | 5 層安全縱深 | SECURITY.md + the-security-guide.md(82KB) |
配置複雜度 | 🟡 |
| 8 | ecc2 Rust 控制平面 | ecc2/src/(main.rs + 8 模塊) |
alpha 階段不穩定 | 🟠 |
八、借鑑決策矩陣
| # | 技術點 | 決定 | 理由 | 優先 |
|---|---|---|---|---|
| 1 | Skill origin 標記 | ✅ 借 | 一行 frontmatter,零成本 | P0 |
| 2 | 記憶自動載入 | ✅ 借 | SessionStart 載入 48h 向量記憶 | P0 |
| 3 | Hook 生命週期 | ✅ 借(改造) | 加隔離 + 超時保護 | P1 |
| 4 | 5 層安全縱深 | ✅ 借(漸進) | 先做 Layer 1-2 | P1 |
| 5 | 移植 10 個高價值 Skill | ✅ 借 | deep-research / security-review / architecture-review 等 | P1 |
| 6 | Agent 定義即文件 | ✅ 借 | 比純 JSON 更人性化 | P2 |
| 7 | 結構化路由表 | ✅ 借(改造) | 關鍵詞 + LLM 輔助 | P2 |
| 8 | 跨平台目錄 | ❌ 不借 | 我們只有 OpenClaw,無需求 | — |
| 9 | ecc2 Rust 控制平面 | ⏸️ 觀望 | 等 beta | P3 |
九、具體移植路線圖
P0 — 本週執行
- Skill origin 標記 — 為
skills/下所有 SKILL.md 加入origin: ultraclawfrontmatter - 記憶自動載入 — HEARTBEAT.md 加入 SessionStart 預載入步驟
P1 — 本月執行
- 移植 10 個高價值 Skill — deep-research → security-review → architecture-review → agent-eval → autonomous-loops → code-reviewer → doc-updater → api-design → database-review → article-writing
- Hook 系統升級 — PreToolUse(工具前檢查)+ SessionEnd(自動記憶保存)
- 安全基線 — Prompt Defense + OWASP 檢查清單 + secrets detection
P2 — 季度執行
- Agent 專屬 Markdown 定義 — 每個 Agent 建立描述文件
- Commands → Skills 遷移 — 斜槓指令標準化為 Skill 入口
- 結構化路由表 — 從關鍵詞匹配升級為矩陣路由
十、核心啟示
- Agent 操作系統是一個獨立產品類別 — ECC 證明這不只是「prompt engineering」
- Hook 是 Agent 的「操作系統內核」 — 沒有生命週期 hook 的 Agent 就像沒有中斷處理的 OS
- Skill 需要 origin 標記 — 大規模 Skill 生態中,追溯來源是剛需
- 安全必須從第一天嵌入 — ECC 的 5 層安全縱深驗證了 Defense in Depth
- 跨平台是一把雙刃劍 — 支援多平台帶來生態優勢,但維護成本指數級增長
本報告基於 ECC v2.0.0-rc.1 源碼庫(84MB,GitHub: affaan-m/ECC),按 skill-analysis 六步法完成技術解剖。分析方法論:倉庫定位 → 源碼拆解 → 技術點提取 → 風險分析 → 適用性評估 → 報告產出。