IrgenSlj/agora

GitHub: IrgenSlj/agora

Agora 是一个 local-first 的 AI agent 工具信任与治理平面,用于在多 host 环境中验证、审计、策略管控 MCP server 和 Agent Skills。

Stars: 1 | Forks: 0

Agora — the trust plane for agentic tooling

npm MIT CI

Registry 回答的是“有什么”。目前没有任何工具回答当你安装并运行 agent 工具时,唯一重要的问题:**该项目在此策略下,是否应该信任此 artifact——以及如果明天这个答案变了,会发生什么?**这就是 Agora。 Agora 是一个位于多源 registry 之上的“海关机构”,而不是一个竞争性的目录。它处理的是“证据”——可验证、可审查的证明——而从不使用不透明的数字“信任评分”。它是 host 中立且 local-first 的:无需账号,不依赖任何托管后端,所有命令均支持 `--json`。

agora doctor, search, scan, and freeze in the terminal

审计你已运行的工具 · 一次性搜索所有 registry · 拦截进入的工具 · 将其冻结为可移植的 profile

## 为什么需要它 agent 工具生态系统拥有超过 2 万个已发布的 MCP server 和快速增长的 skills 生态系统,但几乎没有任何签名/溯源规范,且有文档记录的 2025–2026 年供应链攻击记录(typosquatting server、rug-pull、描述污染、凭据窃取)——并且**完全没有撤销机制**。Agora 提供了一层验证机制:在安装和运行时验证来源、在 sandbox 中观察行为、基于证据执行策略,并能够真正执行撤销。 ## 安装 ``` npx -y agora-hub doctor # zero-install: audit every MCP server across your hosts npm i -g agora-hub && agora # or install once ``` 将 `agora` 注册为任何 MCP client(Claude Code、Cursor、Windsurf、Gemini/Codex CLI、Zed)的 MCP server——零安装命令 `npx -y agora-hub mcp`。从源码构建(需要 [bun](https://bun.sh)):`git clone` · `bun install` · `bun run build` · `bun link`。 ## 四大平面 Agora 围绕你的 agent 栈组织为四个平面(完整规范请参见 [`AGORA_BRIEF_v2.md`](./AGORA_BRIEF_v2.md)): - **Federate** —— 通过一次搜索横跨多源上游 registry(以官方 MCP Registry 为权威来源,其次是 Glama、PulseMCP 及 skills)。Agora 从不在目录规模上竞争;它的有效目录是所有人的集合,并通过 [purl](https://github.com/package-url/purl-spec) 进行去重。Smithery 和 Hugging Face 可作为非权威的可选研究来源。 - **Verify(证据)** —— 来源验证(Sigstore / npm 和 GitHub 证明)、带 rug-pull **drift**(偏移)检测的 schema 和描述哈希、记录 server 实际读取/写入/联系了哪些内容的 sandboxed `vet`,以及 canary token 窃取检测——所有这些都作为标准的 **in-toto / DSSE 证明**输出,供你检查和导出。 - **Gate(策略)** —— 真正的 policy engine([Cedar](https://www.cedarpolicy.com/)):你的 `.cedar` 规则基于证据、按项目决定可以安装、同步或提供哪些内容——外加带有防回滚的签名**撤销 feed**(这是该生态系统最明显的缺失)。 - **Manage** —— 可移植的 `agora.toml` profile 和已提交的 `agora.lock`(机器真相:确切了解已安装、已哈希、已验证的内容);针对每个 host 的 config 进行精准的原子写入;`agora serve` 将 Agora *本身*作为 MCP server 暴露给 agent,因此 agent 是第一等的次要用户。 ## 状态——实事求是 Agora 正在根据 v2.0 简报进行中期构建。上述平面描述是**设计理念**;此表是**目前的实际进度**。分阶段路线图见 [`docs/V2_EXECUTION_PLAN.md`](./docs/V2_EXECUTION_PLAN.md)。 | 能力 | 状态 | |---|---| | **Manage** —— 栈管理器、多 host adapter、`plan`/`apply`、`sync --from` | ✅ 已上线 | | **Federate** —— 多源、offline-first 目录搜索 (`agora search`) | ✅ 已上线 *(8 个源中默认查询 4 个)* | | **Gate** —— `agora acquire` 上的启发式海关关卡(注入 / 偏移 / 权限检查) | ✅ 已上线 *(正被证据 + Cedar 替换)* | | **Verify** —— Sigstore 来源 · 偏移证明 · sandboxed `vet` · 证明导出 | 🔜 构建中 (S3, S6) | | **Gate** —— Cedar policy engine · 签名撤销 feed | 🔜 构建中 (S4, S5) | | **Serve** —— 面向 agent、带策略过滤发现的 MCP server | 🔜 构建中 (S7) | **“通过了关卡”意味着没有已知的危险信号,绝不意味着“安全”。**这种区分是刻意的,并体现在每一个显示判定结果的地方。Agora 从不伪造数据或计数;如果无法连接到某个源,它会如实说明。 ## 目前可用的功能 ``` agora doctor # one table of every MCP server across all your hosts + drift agora search postgres # multi-source catalog search across upstream registries agora acquire mcp-postgres # resolve → gate → write config (the customs office) agora plan # Terraform-style diff of your stack vs. agora.toml (no writes) agora apply # reconcile host configs to match the profile agora sync --from # clone someone's whole agent setup — every entry runs the gate agora integrate --all # install Agora into every host, using its own stack machinery ``` `agora.toml` 是你整个安装过程的可移植、声明式 profile——提交它,任何人都可以通过 `agora sync --from ` 复现你的配置。写入操作是**精准的**:adapter 会保留所有无关的 key 并进行原子写入。`agora.toml` 中绝不会存储任何凭据。 ## 定位 - **是海关,而不是 registry。**Agora 搜索现有的 registry;它从不在目录规模上竞争。 - **是证据,而不是评分。**每个判定都是基于可验证证明评估的策略——产品中任何地方都不存在不透明的数字信任评分。 - **Host 中立。**OpenCode、Claude Code、Cursor 和 Windsurf 是四个平等的集成,而不是单一的身份。 - **Local-first,无需账号。**每个核心功能都能针对磁盘上的缓存离线工作——性能可能下降,但绝不中断。无需身份验证,无需 session,不依赖任何托管后端。 ## Host 集成 | Host | 机制 | |---|---| | 任何 MCP client (Claude Code、Cursor、Windsurf、Gemini/Codex CLI、Zed) | 注册 `agora mcp` —— `npx -y agora-hub mcp` | | OpenCode | 原生 plugin (工具 **+** hooks) | | Claude Code | `/plugin marketplace add IrgenSlj/agora` → `/plugin install agora` (工具 + `/agora` + skill) | `agora integrate [host|--all]` 使用其自身的栈管理器机制将 Agora 安装到每个 host 中——栈管理器管理的第一件事就是 Agora 本身。 ## 开发 ``` bun install bun run test # vitest, hermetic (no network) bun run lint # biome bun run typecheck # tsc bun run build # tsc + copy catalog + chmod +x dist/cli.js bun src/cli.ts # run from source, no build needed ``` Node ≥ 20,仅支持 ESM。方向由 [`AGORA_BRIEF_v2.md`](./AGORA_BRIEF_v2.md) 锁定;执行计划见 [`docs/V2_EXECUTION_PLAN.md`](./docs/V2_EXECUTION_PLAN.md)。欢迎提交 PR——请参见 [`CONTRIBUTING.md`](./CONTRIBUTING.md)。 ## 许可证 [MIT](./LICENSE) — © IrgenSlj。
标签:AI智能体, Lerna, MCP, MITM代理, 动态分析, 工具管理, 文档安全, 策略执行, 自动化攻击