内容
AXONON — 人工智能编码代理的上下文编排://raw.githubusercontent.com/sammyjaxon/master/docs/assets/axon-hero.png)
**相同的上下文,任意人工智能编码代理。**
> *与代理无关的执行和上下文网络。*
每次你切换编码代理——从 Claude Code 到 Codex 再到 Cursor——或者在离开项目几天后继续工作,你的人助手都会从头开始。AXON关键时刻(git 提交、会话边界)捕获上下文,并在 MCP 或普通的 `.axon/context.md` 文件上按需显示,从而解决了这个问题一次安装,持续记忆,适用于。
---
## 技术栈
AXON 是一个三部分的自托管的前端——安装一个即可获得全部
| 角色 | 项目 |
|---|---|---|
AXON** | 跨代理内存 + MCP 编排仓库) | `axon` |
| **GLYPH** | 图形感知检索——决定 *哪些* 上下文 | [`glyph-kg`](https://github.com/sammyjdev/glyph-kg),通过 pip 拉取 |
| **rtkx** | 上下 + 可逆存储——决定 *多* | [`rtkx`](https:///sammyjkx),通过 rtk-install |
GLYPH 和 rtkx的、独立测试项,而不是一个压缩的上下文保留在 LLM 窗;完整的预压缩原始数据通过一次_context` MCP 调用即可恢复(通过ON_RTK` 选择加入如 Headroom 之类的捆绑涵盖了的领域——逆检索(其 CCR 缓存)一个广泛的引擎。AXON每个层窄且可独立更换(GL)和压缩(rtkx)层可以独立、基准测试,而无需触栈的其余部分。
---
## 快速入门
AXON 尚未在 PyPI 上。 从源代码安装:
```bash
git clone https://github.com/sammyjdev/axon.git
cd axon
pip install -e .
```
这取 GLYPH。 还 **rtkx压缩引擎(下载的二进制文件到 `~/.axon/bin`,无需 Rust 工具链):
```axon rtk-install
```
`axon doctor` 然后报告整个堆栈(axon、rtkx、caveman、GLYPH)。
在仓库中初始化 AXON(安装 git 钩子并索引代码):
```bash
axon init //your-repo
```
将 MCP 服务器与您的编码代理注册。对于 Claude Code,请 `.claude/settings.json添加以下内容:
```json
{
cpServers": {
"axon": {
" "axon",
"serve"]
}
}
```
`axon serve` 在标准输入/输出 MCP 服务器。注册后,工具 `axon_get_context`、`axon_capture`、`axon_handoff`、`axon_search`、`axon_export_now`、`axon_validation_stats` 和 `axon_health` 在您的代理会话中可用。
每个工具都按风险分类(`read` / `write` / `destructive`)并在共享的 `trace_id` 下发出结构化的跟踪记录,用于工具延迟和成功率仪表盘。两个——`axon` 和 `axon_mark——需要 `AXON_ALLOW_DESTRUCTIVE=1`true` / `yes` / `on`同意令牌。写入受限制的上下文(`work`)始终被拒绝,返回 `DENYED_TOOL_WRITE`。参见 [ADR-013](docs.md#adr-013-tool-risk-classification-policy-g-tracing-middleware) 和 [dec-109](isions/dec-109-tool-tracing-and-risk-gating.md## 提供商配置文件
AXON 通过 `AXON` 选择的配置文件路由。内置了两个 配置文件 | 使用场景 |
|---|---|---|
| `free`(默认) | Groq Llama 3.1/3.3 + NVIDIA NIM Llama 3.1 70B(免费层) | 无 API 支出;速率限制;在一个 16 GB 笔记本电脑上运行良好,无需本地模型 |
| `paid`Router Claude Haiku/Sonnet/Opus( 层)+ 付费 | 更高质量和配额;通过 统一计费设置(免费):
```bash
export AXON_PROVIDERfree
export GROQ_API_KEY=gsk_...
exportIM_API_KEY=nvapi-...
```
每个提供商都有一个 **速率限制门控**(默认值:Groq 25/min 和 13000/day,NIM 50 950/day),可以通过ON_<PROVIDER_RPM` / `AXON_<PROVIDER>_PD` 配置。 当时,调用失败并Y_RATE_LIMIT` 而不是被模型失败吞 参见 [`dec-106`](docs/decisions/dec-profiles.md [`.env.example`](.example) 以获取完整的配置界面。
本地 Ollama启用**(截至 dec-106,`AX_OLLAMA=)。 它仍然支持具有的用户;D3 不变。
---
## 工作原理
```mermaid
flowchart LR
subgraph Capture
[git 事件\n提交后 / 推送后 / 初始化]
SH[会话\n开始 / 结束 end
subgraph 存储
PG[(Postgrevector\n会话、决策、图、向量)]
subgraph 回忆
MCP[MCP axon_get_context\n\naxon_handoff]
axon/context.md\n文件备用]
end
代理
CC[Claude Code]
CX[Codex]
Cursor]
end
--> PG
SH --> PG
PG --> MCP
PG --> CF
MCP --> CC
CX
MCP --> CU
CF
CF --> CU
```
捕获 **仅驱动** —— git 提交/推送/初始化和代理/结束。 无后台计时器,无空闲成本dec-104](docs/dec-104-not-time-driven.md。
存储是一个具有 **pgvector** 的单个 **PostgreSQL** 实例,用于嵌入:会话、决策、ADR、代码依赖图和代码向量都存储在 Postgres 中([dec-121](docs/decisions/dec-121-postgres-unified-storage.md))。SQLite、Redis、Qdrant 和 mem0 已在此整合过程中。Neo4j 已被单独评估和[dec-101](docs/decisions/dec-101-revoke-d4-drop-neo4j.md))。
是 **MCP(stdio)**。中的 `.axon/context.md` 文件作为不支持 MCP 的备用文件同步([dec-103](docs/dec-103-cross-agent-mcp-primary.md))。
---
## 用例
### 代理交接,无上下文丢失
您花了一个下午的时间使用 Claude Code,推送了一个分支,然后在第二天继续在 Codex 中工作。 如果没有 AXON,Codex头开始。 有了,MCP axon_handoff`x 提供了前一会话的决策、开放问题和代码索引——无需复制粘贴。
### 多日项目
在一个跨越的项目中,不是您最近的五个三周前做决策。 AXON 从提交消息和会话摘要中捕获决策到 Postgres,因此 `axon search` 和 `axon` 返回实际重要的内容,而不是过时的历史记录。
生成的架构文档
AXON 的 LLM 评估提交和会话事件断架构决策。 ` adr` 和 `axon export architecture` 将结构 注释写入 Obsidian 保险库,将捕获的文档,无需手动编写 ADR。
---
## 比较
最接近的工具是其他跨代理内存,而不是编辑代理ider、Cline),记录是内置的,代理:
|ON | claude-mem | Headroom | |
|---|---|---|---|---|
| **主要目标** | 决策捕获 + 跨代理连续性 | 自动捕获活动 | 令牌压缩层 | 主持的 API |
| **捕获内容** | 决策(git / 会话) | 每次工具使用,持续进行 | 传递的内容(压缩它) 的事实/观察可逆压缩(`restore_context`,rtkx) | 是(CCR 缓存) | 否 |
| **决策/ADR 推断** | 是(LLM 评估器 → Obsidian) | 否 | 否(故障驱动的 `learn`) | 否 |
| **治理** | 按工具的风险类别 + 限制 ctx(ADR-013) | `<private>` 标签 | A/B 实验 / 衡量节省 | 访问控制 |
| **跨代理 | 是(MCP + 文件备用) | 是CP) | 是 代理)插件) |
自托管** | 是 | 是 | 是 | 主 |
这个领域激烈的是 **原始召回** —— 像 [](https://github.com/rohitg00/agentmemory) 和 Hindsight 这样的工具发布了强大的Eval 分数,并直接针对这一点进行了优化。 AX这一点上不具有 它的可防御市场是上述工具无法结合的:捕获 *(不是每个按键) 在 git 和会话边界,断 ADR,保持压缩可逆,并通过审计跟踪控制每个 MCP 工具的风险类别。 如果您想要最佳的原始召回基准,那些工具会赢;如果您想要决策和架构在代理和月份之间存活,审计, 那就是 AXON。
---
## 令牌节省
AXON 的数字由 [GNOMON](https://github.com/sammyjdev/gnomon-eval) 以 95% 的置信区间衡量,每个声明都注明其反事实(gnomon-eval ADR-0011):
- **召回质量提升** (对比没有记忆 - A/B,N=17,评估 x8,2026-07-02):忠实度从 0.40-0.52(无召回)提升到 0.72-0.76(开启召回),在每个回合增加 2151 个输入令牌。 在 2026-07-04 的检索梯子(索引卫生,骨架块抑制,混合词典搜索)之后,召回臂在同一情况下达到忠实度 0.775 [0.735, 0.814]。
- **会话成本** (对比重新发送对话 - 10 回合会话,3 次稳定运行,2026-07-04):成本平价(汇总 +4%),在第 6-9 回合交叉到净节省,最后一回合的忠实度相同或更好。
- **实际使用节省** (对比读取每个源文件):90.7% - 32,298 个令牌返回 工作流将花费 346,081(100 个仪器请求)。
已弃用:本节的早期版本引用了 **52.3%** 令牌节省。 该数字假设的 87 令牌基线进行确定性预测的模型,从未测量。 它保留在 [`benchmarks/model.py`](benchmarks/model.py) 中以便于溯源;预测与测量的故事记录在 gnomon-eval ADR-0011 中。
来自运行真实管道(`phi3:mini` 通过 Ollama,caveman + RTK)的测量压缩遥测数据,超过 69 个代表上下文窗口(源来自此仓库),在提交的 [`data/compression/stats.jsonl`](data/compression/stats.jsonl) 中:**p50 = 85.5%**,**平均值 = 78.8%**,**p95 = 95.5%**,**最大值 = 97.0%** 超过 **n=69 压缩窗口** (75,258 → 15,778 令牌;节省 59,480)。 引擎:60 `caveman/phi3+rtk`,9 `caveman/phi3`。 这是关于代表性上下文的已提交本地快照,而不是生产使用。 使用以下命令重现:
```bash
python -m axon.observability.compression_telemetry
```
该管道由 `strategy.enable_compression` 控制,并跳过过小的输入以受益;有关扩展网关覆盖范围的活动工作,请参见问题跟踪器(T-。
---
## 文档
| 文档 | 内容 |
|---|---|
| [`docs/SECOND_BRAIN.md`](docs/SECOND_BRAIN.md) | 在 Claude Code 中将 AXON 作为低成本的第二大脑运行 |
| [`CLAUDE.md`](CLAUDE.md) | 、代码约定、代理规则 |
| [`docs/ADR.md`](docs/ADR.md) | 活跃的架构决策记录 |
| [`docs/METRICSdocs/METRICS.md) | 重新计算的性能指标清单(按日期) |
| [`docs/ARD.md`](docs/ARD.md) | 架构需求 |
| [`docs/USAGE_GUIDE.md`](docs/USAGE_GUIDE.md) | CLI 工作| [`docs/.md`](docsULT_SETUP.md) | Obsidian 保险库启动 |
| [`docs/decisions/`](docs/dec | 单个决策记录(dec-100 至120) |
| [`docs/decisions/dec-routing-profiles.md/decisions/dec-106-routing-profiles.md) | 免费/付费提供商配置文件 + 速率限制门控 |
|/decisions/dec-109-tool-tracing-and-risk-gating.md`](docs/decisions/dec-109-tool-tracing-and-risk-gating.md) | 工具风险类别、策略门控、跟踪中间件 |
| [`benchmarks/README.md`](benchmarks/README.md) | 令牌节省基准 |
---
## 贡献
从测试开始。 仓库使用 TDD:错误修复从回归测试开始,功能需要可测试的验收标准,然后再实现。
```bash
pytest tests/ -q
```
参见 [`CLAUDE.md`](CLAUDE.md) 获取代码约定和代理规则。
---
## 许可证
Apache-2.0 — 参见 [`LICENSE`](LICENSE)。