ai-memory Rust 9 Crate 架构详解:从 core 到 cli 全景图

发布时间:2026/11/3 9:58:02

ai-memory Rust 9 Crate 架构详解:从 core 到 cli 全景图 ai-memory Rust 9 Crate 架构详解从 core 到 cli 全景图【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memoryai-memory 是一个用纯 Rust 编写的 AI 编码代理长期记忆系统它以单个二进制文件运行底层由 9 个职责单一的 Crate 协作完成“捕获 → 编译 → 召回 → 交接”的完整记忆闭环。本文将带你从最底层的ai-memory-core一路看到入口ai-memory-cli用一张全景图看懂这套 Rust 架构是如何设计的无需阅读源码也能建立清晰心智模型。30 秒看懂 ai-memory 是什么想象你正在用 Claude Code 改一个项目做到一半要切换到 Codex 或 Cursor 继续——传统做法是重新解释一遍架构、已失败的尝试和未解决的问题。ai-memory 干的就是把这一步去掉静默捕获各 Agent 的生命周期 Hook提示词、工具调用、会话边界被自动记录默认路径0 次 LLM 调用编译成 wiki会话结束时原始观察被编译成 git 版本化的 Markdown 页面——grep能查、Obsidian 能开、rsync 能搬跨工具交接下一个会话任何 Agent、任何机器拿到一份有边界的简报并可全文检索全部历史。capture ──▶ consolidate ──▶ recall ──▶ handoff hooks session-end search next agent, observe summaries as brief any harness silently wiki pages injection它原生支持 Claude Code、Codex、Cursor、Gemini CLI、Devin 等 20 多种 Agent CLI见 README.md 支持矩阵多用户、审计日志、按项目隔离都是内置能力。9 Crate 全景图分层、单一职责、零循环依赖打开根 Cargo.toml 就能看到工作区成员而 docs/ARCHITECTURE.md 的 “Crate layout” 一节给出了最精炼的官方分层crates/ ├── ai-memory-core/ 领域类型、错误、ID。零 IO。 ├── ai-memory-store/ SQLite 单写者 actor 读连接池 衰减计算 ├── ai-memory-wiki/ 原子 Markdown 写入、文件监视、git 版本控制 ├── ai-memory-mcp/ MCP 传输层 工具路由 ├── ai-memory-hooks/ 载荷 schema、清洗器、/hook 入口 ├── ai-memory-llm/ 提供方鉴权边界 LlmProvider / Embedder trait ├── ai-memory-consolidate/ Karpathy 式 ingest / lint / sweep / 自改进流水线 ├── ai-memory-workstream/ 只读原生转录 受管启动适配器 └── ai-memory-cli/ ai-memory 二进制入口 薄 HTTP 子命令依赖方向自下而上、不存在循环依赖跨 Crate 边界正是各条核心不变量如“wiki 是唯一事实源”的强制点Crate一句话职责依赖的上游 Crateai-memory-core领域类型、错误、ID、页面/观察/交接模型无地基ai-memory-storeSQLite 存储层单写者 actor FTS5/实体/向量索引coreai-memory-wikiMarkdown 读写、原子落盘、git 版本控制core, store, llmai-memory-hooksHook 载荷校验与隐私清洗不可信文本唯一入口core, store, wiki, llm, consolidateai-memory-mcpMCP 服务器传输 19 个记忆工具路由core, store, wiki, hooks, llm, consolidateai-memory-llmAnthropic / OpenAI / Gemini / Copilot 等统一提供方抽象coreai-memory-consolidate会话摘要、lint、遗忘清扫、自动改进core, store, wiki, llmai-memory-workstream跨工具“会话级”连续性只读转录导入与启动规划coreai-memory-cli唯一二进制ai-memory的入口聚齐以上全部能力全部 另有 ai-memory-web 提供只读浏览器视图--enable-web启动以及仅用于测试、绝不随发布走的 ai-memory-test-support。逐层拆解每个 Crate 在解决什么问题1️⃣ ai-memory-core零 IO 的领域地基crates/ai-memory-core/src/lib.rs 定义了pagewiki 页面、observation原始观察、handoff交接、sanitize隐私清洗、ids、slots等模块。它不做任何 IO——所有上层 Crate 共享的“词汇表”都在这里这是整套架构可维护的根基。2️⃣ ai-memory-storeSQLite 单写者存储层crates/ai-memory-store/src/lib.rs 内含 writer actor、读连接池、衰减计算与迁移。关键设计所有写操作串行通过唯一写者配合 migrations/ 下 60 多个 SQL 迁移文件保证多会话、多用户并发下状态一致。检索侧提供 FTS5 全文、实体匹配与链接邻居图。3️⃣ ai-memory-wikiMarkdown 是唯一事实源crates/ai-memory-wiki/src/lib.rs 负责原子 Markdown 写入、文件监视和 vendored git 版本控制。数据库只是可从文件随时重建的派生索引——这意味着你的记忆永远不会被二进制“绑架”。4️⃣ ai-memory-hooks不可信文本的消毒门crates/ai-memory-hooks/src/lib.rs 是 Agent 世界进入存储世界的唯一入口Hook 载荷 schema 校验 类型化隐私边界清洗。被丢弃的敏感事件不会进入 spool、队列、日志或存储中的任何一环。5️⃣ ai-memory-mcpAgent 的 19 个记忆工具crates/ai-memory-mcp/src/lib.rs 承载 MCP 服务器与工具路由暴露memory_query多路 RRF 融合检索、memory_handoff_begin/accept类型化、一次领取的交接、memory_feedback、memory_lint等 19 个工具完整工具表见 docs/ARCHITECTURE.md。6️⃣ ai-memory-llm统一提供方抽象crates/ai-memory-llm/src/lib.rs 以 trait 统一了 Anthropic、OpenAI含 OAuth/Codex、Gemini、GitHub Copilot 及任意 OpenAI 兼容端点Ollama、LM Studio覆盖 LLM 与 Embedding 两类提供方还支持无 API key 的本地嵌入模型。7️⃣ ai-memory-consolidate记忆的“编译器”crates/ai-memory-consolidate/src/lib.rs 是最有“Karpathy LLM Wiki”味道的 Crate会话观察 → 会话摘要页 →concepts/、decisions/、gotchas/多页编译外加 lint 矛盾检测、遗忘清扫TTL 硬删 冷页驱逐 墓碑清理与自动改进调度器。提示词模板就在 crates/ai-memory-consolidate/prompts/。8️⃣ ai-memory-workstream跨工具的会话连续性crates/ai-memory-workstream/src/lib.rs 提供只读原生转录导入与受管启动规划支撑ai-memory run claude/ai-memory run codex这类“换工具、接着干”的连续工作流详见 docs/managed-workstreams.md。9️⃣ ai-memory-cli聚齐一切的单一入口crates/ai-memory-cli/src/main.rs 是最终入口commands/ 目录下 50 多个子命令——init、serve、install-mcp、install-hooks、backup、reindex、purge——全部薄薄地包装在 HTTP/领域层之上。一次请求的旅程一条记忆如何诞生把 9 个 Crate 串起来数据流就是 docs/ARCHITECTURE.md 描述的稳态循环Agent 触发 Hook→ai-memory-hooks清洗载荷、判定ObservationKind入队写命令写者落库→ai-memory-store单写者串行写 SQLite同时追加log.md会话结束→ai-memory-wiki原子写出sessions/id.md摘要页并 git 自动提交同时开启一条 Handoff可选编译→ 配置了 LLM 时ai-memory-consolidate把摘要改写为更耐久的多页 wiki下次会话→ 任意 Agent 经ai-memory-mcp注入有界简报memory_query以 FTS5 实体 链接邻居 可选向量RRF 融合召回后台维护→ 遗忘清扫、自动改进、备份backup/restore按 [maintenance] 计划运行。编译后的 wiki 长什么样左侧是concepts/、decisions/、gotchas/、sessions/目录树右侧是最近活动——这就是 9 个 Crate 协作的最终产物快速上手两条命令接入你的 Agentai-memory --data-dir ~/.local/share/ai-memory \ --config ~/.config/ai-memory/config.toml init ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply之后每次提示词与工具调用都会自动进入记忆下一个会话启动即见交接简报。完整安装手册AUR、Docker、远端服务器、多用户在 docs/install.md只想翻一翻记忆内容加--enable-web启动即可得到上文的两页浏览器视图。为什么这套架构值得参考依赖即文档9 个 Crate 的依赖图本身就是架构说明core零 IO 强制类型纯粹边界即不变量清洗、单写者、wiki 事实源都固化在 Crate 边界上而非约定单二进制交付10 余个工作区成员最终只产出ai-memory一个可执行文件unsafe_code forbid全工作区生效。想继续深入建议按序阅读docs/ARCHITECTURE.md数据流与不变量、docs/design-decisions.md完整 v1 规格、docs/companion-crates.md外围边界规划。【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/1 10:47:32

大脑连接性研究:数学模式分析在神经科学中的应用

1. 大脑连接性研究的背景与意义大脑连接性研究是神经科学领域近年来最活跃的方向之一。通过分析不同脑区之间的功能连接模式,科学家们能够揭示认知功能、疾病状态和发育过程的神经机制。这项技术为我们理解自闭症谱系障碍(ASD)和衰老过程中的…

2026/10/24 18:56:44

注塑机数据作用进行分析案例 第十二章

摘要:本文以注塑机压力失衡为例,探讨了注射压力大于锁模力(合模力)时可能引发的模具顶开、产品不稳定及披锋(毛边)等质量问题。文章指出,通过SPC监测数据对比锁模压力与注射压力的最大值&#x…

2026/10/31 1:03:12

Markdown排版实战指南:从基础语法到工具链全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 9:56:52

从源码到应用:InternLM/Intern-S2-Mobius开发实战完全指南

从源码到应用:InternLM/Intern-S2-Mobius开发实战完全指南 InternLM/Intern-S2-Mobius是一个功能强大的开源项目,本指南将带你从源码开始,一步步掌握其开发与应用技巧,让你快速上手这个实用工具。 项目基础认知 什么是InternLM…

2026/11/3 9:56:52

【65】扑克牌数据集(有v5/v8模型)/YOLO扑克牌检测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 9:56:52

3步掌握LTX-Best-Face-ID:用单张照片生成身份保留视频的完整指南

3步掌握LTX-Best-Face-ID:用单张照片生成身份保留视频的完整指南 想要用一张人脸照片就能生成保持人物身份的高质量视频吗?LTX-Best-Face-ID正是你需要的解决方案!这款基于LTX-2.3模型的身份保留参考转视频LoRA工具,通过创新的重…

2026/11/3 9:56:52

体积缩减40%:Stereolabs 推出 ZED X Nano 腕部微型双目3D相机

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 1:04:48

STM32实战:基于MAX14431数字隔离器的SPI隔离通信方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 1:04:48

工业SPI隔离通信设计:MAX14431BAEE+与STM32L4A6RG实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 1:04:48

STM32+NRF24L01无线抢答器:硬件设计、通信协议与低功耗实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑