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

发布时间:2026/9/15 10:32:17

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/9/15 10:32:17

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

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

2026/9/15 10:32:17

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

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

2026/9/15 10:27:17

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

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

2026/9/15 10:42:18

C语言+EasyX实战:开发国际象棋游戏,从规则建模到交互界面

第一次用C语言写一个带图形界面的国际象棋,是在某学期的课程设计上。当时班里多数人选了贪吃蛇、扫雷,我想搞个规则更复杂点的东西——国际象棋。理由很实在:棋子种类多,走法规则差异大,能逼着自己把数组、结构体、函数…

2026/9/15 10:42:18

React Native回归原生?跨端与原生开发的技术选型与性能权衡

一觉醒来,技术群里又炸了。倒反天罡,当年那么多团队削尖脑袋往 React Native 里钻,现在 Shopify 却带头往回跑,宣布要回归原生开发。先别急着喊“RN 药丸”。作为一个从 React Native 0.4x 时代就开始折腾的老玩家,我太…

2026/9/15 10:42:18

Flutter开发OpenHarmony双卡数据管理应用实战

1. 项目背景与需求分析在移动互联网时代,双卡双待设备已成为主流配置。作为OpenHarmony生态的开发者,我们经常需要处理多SIM卡场景下的数据流量管理问题。传统Android开发中,TelephonyManager等API提供了基础的SIM卡操作能力,但在…

2026/9/15 10:42:18

全栈内存泄漏治理指南:从浏览器到Node.js的完整排查与修复

先说一个我印象很深的场景:去年我们一套大屏监控页面,线上跑十几个小时,内存从最初的 180MB 一路涨到 1.6GB,最后用户反馈页面卡成幻灯片,切后台两分钟再回来直接白屏。当时第一反应是“前端代码有泄漏”,可…

2026/9/15 10:42:18

PHP代理DeepSeek图片生成:解决API密钥安全与会话隔离

简介:本资源是一个轻量级AI图片生成网站的完整实现方案,面向PHP后端开发者与前端初学者,解决快速对接DeepSeek图像生成API并构建可交互Web界面的实际需求。压缩包仅3KB,共6个文件,包含核心PHP后端接口(gene…

2026/9/15 10:37:18

开题报告用AI,先分工再选工具会省心很多

又到开题季,后台被问得最多的问题是: “ChatGPT、DeepSeek、Kimi、Claude、毕业之家……到底哪个写开题报告最好用?” 说实话,这个问题本身就问错了。通用大模型负责启发和表达,文献智能体负责调研和溯源,垂…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

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

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

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