aoci-spec/aoci-code
A persistent, Git-versioned map of your whole codebase and database schema that coding agents read before they touch anything. Local-first MCP server + CLI in Go: a governed repository index of code knowledge that gives Claude Code, Codex, Cursor, and opencode long-term context, memory, and code intelligence.
AOCI-CODE – 为 AI 编程代理提供的持久化、Git 版本控制代码库索引
它是什么
AOCI-CODE 是一个轻量级的 Go 语言命令行工具和本地 MCP (Model-Control-Protocol) 服务器,用于为软件项目建立纯文本索引。该索引记录了每个源文件的用途、依赖关系、提供的公开符号以及任何非显而易见的约束条件。索引与代码并存,通过 Git 进行版本控制,并随着代码变更自动保持更新。
为什么它对 AI 代理很重要
- 一次性理解 – 基于 LLM 的编程助手(例如 Claude Code, Cursor, OpenCode, Codex)可以通过加载 AOCI 索引,在单次传递中读取整个项目,而无需重复扫描存储库。
- 快速交接 – 当新的开发人员或新的代理接手代码库时,只需将代理指向现有的索引;代理即可立即了解每个文件的角色、契约和约束。
- 持续维护 – MCP 服务器会监控存储库;变更后会标记受影响的条目,代理会随之更新,确保索引与实际代码保持一致。
- 仅限本地,隐私优先 – 所有处理都在开发人员的机器上进行;不会将任何源代码或凭证发送到任何地方。
核心概念
| 概念 | 描述 |
|---|---|
| FRAS 条目 | 每个文件一行:F (功能/用途), R (必要读取), A (可用符号), S (安全约束)。示例:atomic.go[CG9L]: F:Provides durable replace CAS … |
根文件 (aoci.txt) |
声明哪些索引文件属于当前的“认知集”(CognitionSet)。 |
元文件 (aoci.meta.txt) |
存储标签字典、FRAS 规则和编写约束。 |
代码文件 (aoci.code.txt) |
模型为源文件生成的 FRAS 条目。 |
数据库文件 (aoci.database.txt) |
MySQL/PostgreSQL/openGauss 的可选表级条目。 |
| MCP 服务器 | 在编程代理和索引之间进行协调的本地进程,处理 init, scan, maintain 等操作。 |
典型工作流程
- 安装 二进制文件(下载签名版本或
make build)。 - 初始化 存储库:
aoci init --locale en-US --agent codex。这会写入配置文件、.gitignore条目和空的索引骨架。 - 扫描 存储库:
aoci scan。代理读取每个受管理的文件,模型写入 FRAS 条目,并创建索引文件。 - 启动 UI (可选):
aoci ui --detach --json– 提供一个网页面板,显示索引健康状况、覆盖率百分比和待处理更新。 - 正常开发。当代码或测试变更时,MCP 服务器会标记受影响的条目;代理会自动更新它们。
- 验证一致性:随时使用
aoci verify或aoci check。
支持的环境
- 操作系统 – Linux, macOS, Windows (单一二进制文件,无 CGO)。
- 代理 – 任何支持 MCP 协议的基于 LLM 的编程代理(Codex, Claude Code, Cursor, OpenCode 等)。
- 数据库 – MySQL, PostgreSQL, openGauss 6.0.5 (可选表级认知)。
它如何融入 AI 工具链
AOCI-CODE 位于 LLM 模型和代码库之间:
LLM model → (writes) → AOCI index (plain-text) → MCP server → Coding agent → Code / Tests
模型只需要生成简洁的 FRAS 条目;代理消耗索引来规划变更,减少上下文大小并消除重复的存储库扫描。
入门(快速入门片段)
# 1. 下载签名版本或从源码构建
# 2. 将二进制文件放置在稳定的绝对路径,例如 /usr/local/bin/aoci
# 3. 在项目根目录执行:
aoci init --locale en-US --agent codex
aoci scan
# 4. 要求代理启动 UI 并建立索引
首先确认 AOCI MCP 服务器已连接,然后为此项目建立 AOCI 索引。
UI 将返回一个链接,例如 http://127.0.0.1:8080/#/project,显示覆盖率、待处理更新以及 FRAS 条目的可搜索视图。
授权与状态
- 版本 – v0.1.0-rc17 (发布候选版)。
- 授权 – Fair Source License 1.1 + MIT (FSL-1.1-MIT)。
- 成熟度 – 早期阶段,但已用于高达 70 万行代码的商业代码库。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目