编程 iai-memory:把每轮会话逐字存到本机,并按轮注入上下文的个人记忆引擎

2026-09-13 00:03:21

iai-memory:把每轮会话逐字存到本机,并按轮注入上下文的个人记忆引擎

仓库:CodeAbra/iai-personal-memory-engine
PyPI:iai-pme

English | 中文

iai-memory 是给 AI 编码工作流用的个人记忆引擎。它逐字保存每轮对话,并在每一轮把合适的历史上下文喂给 agent——事实变化时连同旧措辞一起保留。

PyPI 包 iai-pme,MIT 协议,Python 3.11 | 3.12,macOS | Linux 已支持,Windows beta,兼容 MCP。指标:Rescue@10 1.000,LongMemEval R@5 0.962,historical-verbatim 1.000,静态加密 AES-256-GCM。

它是什么

AI agent 在会话结束的瞬间就忘掉一切,iai-memory 在本机补上这一层。打开 hooks 后,它会逐字记录会话双方的内容,并在每条消息上把历史里相关的部分喂给 agent——不只是会话开始时注入一次。不需要维护记忆文件,也不需要说「记住这个」。

事实发生变化时,旧记录不会被覆盖。新版本被写入并链接回它所替代的内容,两边都能调出来。出现自相矛盾时,recall 会展示冲突,而不是悄悄把一个过期答案当作事实递出去。

它是围绕「你 + 一个 agent」设计的记忆,不是面向多租户应用的记忆 API,也不是某家数据库的封装。你说过的话只逐字存一次,永不重写。存储、检索、图、Dashboard,全部跑在本机。

记忆风格是按字面(literal)设计的:保留原始措辞而不是抹平成释义;保留精确线索;让稀有的事件保持稀有,而不是被平均掉。

快速开始

Claude Code

python3.12 -m pip install -U iai-pme

然后在 Claude Code 内执行:

/plugin marketplace add CodeAbra/iai-personal-memory-engine
/plugin install iai-memory@iai-pme

重启会话后验证:

iai --version
iai-mcp daemon status
iai-mcp doctor

Python 3.11 同样支持。

macOS / Linux:一体化源码安装

curl -fsSL https://raw.githubusercontent.com/CodeAbra/iai-personal-memory-engine/main/scripts/bootstrap.sh | bash

该脚本会构建 Rust 引擎和 TypeScript wrapper,安装后台服务与 hooks,注册 Claude Code,并跑一次健康检查。依赖 Git、Python 3.11/3.12、Node.js 18+ 和 Rust。想先看步骤、不改动环境:

curl -fsSL https://raw.githubusercontent.com/CodeAbra/iai-personal-memory-engine/main/scripts/bootstrap.sh | bash -s -- --dry-run

其他宿主

python3.12 -m pip install -U iai-pme
iai-mcp crypto init
iai-mcp daemon install
iai-mcp capture-hooks install --target codex

codex 换成 cursorantigravityhermesopenclawall 即可。MCP 工具可用于任何 MCP-over-stdio 客户端;自动采集和上下文注入依赖宿主本身暴露的 hooks。详见技术参考 docs/REFERENCE.md

新建的 store 默认使用 native engine 格式;已有 store 在升级时保持原有格式。要把旧的 legacy SQLite store 迁到 native engine,运行 iai-mcp migrate-to-lilli——iai-mcp doctor 会打印确切命令,完整流程在技术参考里。

安装之后发生了什么

事件动作
Prompt新回合以文件 IO 追加进 session buffer;采集路径上不需要 embedding 或引擎 RPC
Session end剩余的 transcript 内容被滚动进入 ingestion;hook 失败不会阻塞宿主
Session start一段有界的 memory prefix 作为宿主上下文暴露;store 为空或引擎不可用时输出为空
Later turns受支持的宿主会收到一个小的 foresight 或 delta pack,带 age 和 revision 标记
Idle time采集内容被 embedding、去重、加密、写入、聚类、consolidation、reinforce、decay

后台进程在 CLI 里叫 daemon。它休眠或暂时不可用时,MCP wrapper 和 iai 仍可直接读取本地 store。

工作原理

记忆模型

内容
Episodic带时间戳、写入一次(write-once)的发言片段
Semantic在 idle consolidation 中从相关 episode 归纳出的摘要
Procedural随时间学到的十个有界行为参数

不同的超维度表征让字面细节、语义结构和行为倾向不会塌缩到同一个向量面上。

本地、无 LLM 的 recall 路径同时使用语义相似度、图证据、recency、temporal validity 和词汇证据。memory_recall 返回 hitsanti_hitsmemory_contradict 会关闭旧记录的 validity interval,创建新记录,并把两者链接起来。

空闲时,引擎对相关 episode 分组、归纳 semantic memory、强化有用的路径、衰减弱的未复核边。可选的 REM 步骤可能通过用户已有的 Claude 订阅调用 claude -p,上限为每日配额的 1%。不需要 Anthropic API key。

一方组件

组件角色
Hippo加密记录、向量索引和图,统一在一个本地 store
MOSAICLeiden 系社区检测,社区身份稳定
Lilli HD超维度基底与结构性 recall
Native engineRust embedder 与图内核

Dashboard 与 CLI

iai brain

本地 dashboard 可以检索 store、浏览图的邻域与矛盾、pin 或 fade 记忆、ingest 文件、控制后台引擎,并根据你自己的 store 给出 token 用量估算。

iai recall · temporal-recall · search · ask · capture · teach · upload
iai watch · brain · status · last

iai upload 接受文档、Office 文件、电子书、源码、配置文件和目录。完整格式与行政命令见 docs/REFERENCE.md

Benchmarks

所有 harness 都在 bench/ 里;方法与复现命令见 BENCHMARKS.md

Benchmark结果
Rescue@10 after contradiction1.000
Historical-verbatim hit@101.000
LongMemEval-S R@5,产品 embedder0.962
LongMemEval-S R@10,产品 embedder0.978

Historical-verbatim 检索的 flat-cosine baseline 约为 0.71。用匹配的 all-MiniLM-L6-v2 embedder 时,iai-memory 与 mempalace v3.3.6 的 R@5 都是 0.966,R@10 都是 0.978;此处不主张胜负。

在作者的 store 上,自动注入的 memory pack 平均约 350 tokens,而它所替代的 agent-search 往返约 2,850 tokens:在那一份实测负载上约省 88%。这不适用于显式 memory_recall,后者的默认响应预算是 1,500 tokens。

MCP 工具

memory_recall              memory_temporal_recall
memory_recall_structural   memory_search
memory_capture             memory_contradict
memory_reinforce           memory_consolidate
profile_get_set            topology
schema_list                events_query
episodes_recent            curiosity_pending

十四个工具覆盖线索、时间、结构和词法 recall;capture 与修正;强化与 consolidation;行为 profile 控制;以及 store 内省。

兼容性

宿主Ambient 行为
Claude Code会话开始 recall、逐轮更新、回合采集、会话采集
Codex CLI通过 Codex hooks 的完整集成
Cursor会话开始 recall 与采集;无逐轮文本注入
Antigravity每次调用时 recall,无损 transcript 采集
Hermes 0.5.0+模型调用前 recall,并从其 message store 采集
OpenClaw按请求使用 MCP 工具;无 ambient shell hooks
Gemini CLI 及其他 MCP 宿主提供 MCP 工具;除上表所列外不附带宿主专属 hooks
Claude Desktop提供 MCP 工具;普通 Chat 不暴露 Claude Code 式的 ambient hooks

隐私与限制

  • 记录静态加密,AES-256-GCM。store 与密钥都在 ~/.iai-mcp/ 下;备份时请一起备份。
  • macOS 与 Linux 使用 Unix socket。Windows 使用临时 loopback 端口加每用户 token。
  • 没有 iai-memory 账号、遥测管道、托管 dashboard,也没有跨机器同步。
  • 可选的 iai-memory 网络活动只有 REM 的 claude -p 步骤和每日一次 PyPI 版本检查。设置 IAI_MCP_VERSION_CHECK=0 可关闭版本检查。
  • store 拒绝混用不兼容的 embedding 世代;更换 embedder 需要显式迁移。
  • 大约前十个会话内 recall 通常一般;质量与延迟取决于语料规模、语言、embedder 和历史数据。
  • 默认 store 以英语优先。非英语原始记录需要显式 raw: 标签,并搭配多语言或自定义 embedder。
  • Windows 支持为 beta。Ambient 行为随宿主 hook 支持程度而变化。
  • 项目为个人维护,不提供企业级 SLA。

健康检查与更新:

iai-mcp doctor          # 38 checks
iai-mcp daemon status
iai-mcp self-update

关于名字

IAI — Independent Autistic Intelligence,描述的是这套记忆设计。

  • Independent: 引擎、store、embedding、dashboard 都在本地运行。
  • Autistic: 字面保存、精确线索、持续聚焦,稀有事件以稀有的形式保留,而不是被平滑成一个典型摘要。这是对运行设计的描述,不是诊断,也不是随手打的比方。
  • Intelligence: 取系统含义——一个观察、适应、自我重组并长期维持可行的过程。

「Personal memory engine」描述的是范围:一个人的记忆,在一台机器上,供他已经在用的助手使用。

文档

  • docs/REFERENCE.md — 技术与运维参考
  • BENCHMARKS.md — 方法与复现命令
  • docs/EMBEDDERS.md — provider、语言与迁移
  • CHANGELOG.md — 发布历史

License

MIT。

推荐文章

程序员茄子在线接单