akitaonrails/ai-memory:7.7k stars 的 AI 编码 agent 跨 harness 长期记忆,Rust 单 binary + git-backed markdown wiki + 零 LLM 默认 + 22 个 agent harness 共享

上周四下午我跑 Claude Code 改一个 Rust 项目。 改到一半,模型 context 满了,自动 compact 了一次。 compact 完 agent 忘了我刚才在试什么,问我 “你想做什么?”

耐心重新讲一遍。 切到 Codex,新开一个 session。 Codex 完全不知道刚才 Claude Code 在改什么、在哪个文件、试了什么方案失败了。 我重新讲了一遍。

周五我用 Cursor 接着改。 Cursor 也完全不知道,它自己内置的 memory(基于” 对话历史”),但 Claude Code 的对话历史, Codex 的对话历史。

三个 agent 跑同一个项目,三个独立 memory。 每个 agent 都” 失忆”。

那周我浪费 4 个小时讲上下文。

昨天我在 GitHub Trending 上刷到一个项目:akitaonrails/ai-memory。 7.7k stars,167 forks,当日 +167 stars。 MIT。 来自 akitaonrails(巴西 Ruby on Rails 大佬 Fábio Akita)。

它做了一件我没见过有项目完全做对的事:

Quit Claude Code mid-task, start OpenAI Codex in the same directory, continue without re-explaining the architecture, the failed approaches, or the open questions.


一、它想解决的问题:agent memory 的” 三堵墙”

先把背景说清楚。

2024-2026 年 AI agent memory 经历了三堵墙

墙 1:单 agent 锁定。 Claude Code 自己的 memory(CLAUDE.md/ 项目 memory),Cursor 自己的 memory(Rules + Memories),Codex 自己的 memory。 每个 agent 的 memory 对那个 agent 有效。 你切到另一个 agent,全失忆

墙 2:单机器锁定。 agent memory ~/.claude/~/.codex/~/.cursor/。 你换电脑,memory 了。 你 VPS + 本地,memory 不同步

墙 3:单 user 锁定。 agent memory 给” 那个 user” 用。 你团队用,每个人 memory 独立。 工程师 A 跑 Claude Code 学到” 这个项目用 X 模式”,工程师 B 跑 Cursor 不知道

之前发过的几个项目部分解决某些墙:

  • mksglu/context-mode(之前)— 单 session context 优化,跨 agent
  • nashsu/llm_wiki(之前)— 个人 wiki 沉淀,自动 capture agent session
  • Tencent/teamai-cli(之前)— 团队 harness 协调,管 agent 内部 memory

ai-memory 想做的事是同时打破三堵墙

  • 跨 agent:22 个 harness 共享一个 memory
  • 跨机器:自托管 server 跑在 laptop /homelab/ VPS
  • 跨人:团队共享 server,per-person attribution + audit log

这条第三条路径之前有项目完全做到。


二、核心机制:四个 “shared”

README 给的条核心机制:

1. 跨 agent 的 shared memory

22 个 agent harness 通过 MCP + lifecycle hooks 接 ai-memory。 README 给了完整 support matrix:

Area Status
Linux / macOS / Windows via WSL2 Supported
Native Windows Experimental
Claude Code / Codex / Cursor / Gemini CLI / OpenCode / OpenCode 2 / OpenClaw / Oh My Pi / Pi / Crush / Devin CLI / Grok Build CLI / Kimi Code / Kiro CLI / Antigravity CLI / Zero / ZCode Supported
Claude Desktop / VS Code Copilot / Zed / Muse Code / Swival CLI MCP-only
Hermes Agent Community

一个 memory server,所有 agent 都能 + 。 你从 Claude Code 切到 Codex,自动读同一份 memory。 你用”export → import”。

关键设计:Handoff 是 protocol,不是 convention。 之前 agent 切来切去” 传” context 手写一段” 这是我在做什么”。 ai-memory 把 handoff 做成 typed protocol

  • 上一 session 写到哪个文件
  • 试了什么方案,失败了?
  • 还没什么
  • 下一个 agent 应该什么

typed handoff 保证 “claim-once”,会出现两个 agent 同时改同一文件的 race condition。

2. 跨机器的 shared memory

Memory 一个 server 上(自己跑),每个 agent 内部。 你 laptop 跑 Claude Code,到 server。 你 VPS 跑 Codex, 同一 server。 同步自动

server 可以在:

  • laptop 本机(单用户)
  • homelab(多机器)
  • VPS / cloud(多设备)

不依赖任何 SaaS。 不依赖 GitHub / Notion / Anthropic。 完全自托管

3. 跨人的 shared memory

一个 team 跑一个 server。 工程师 A 跑 Claude Code 学到” 项目用 X 模式”,写到 server。 工程师 B 跑 Cursor 在项目,这条 memory。

per-person attribution 记录写了什么。 “这段 memory 是 A 写的” / “B 上次试过这个方案,失败 “。

per-project 隔离。 A 项目 memory 不污染 B 项目。 “这个项目用 X 模式” 跟 “那个项目用 Y 模式” 混。

multi-user auth 内置。 每个 user 自己 token。 你用”team 共享一个账号”。

audit log 记录所有 mutation。 “谁什么时候改了什么文件” 记。

4. 跨 format 的 shared data

Source of truthgit-backed markdown wiki普通.md 文件。

1
2
3
4
5
6
$ ls ~/.local/share/ai-memory/projects/foo-bar/wiki/
architecture.md
failed-approaches.md
open-questions.md
2026-09-15-session-claude-code.md
2026-09-16-session-codex.md

这些 .md 普通 markdown。 你可以

  • grep 搜内容
  • 在 Obsidian 打开编辑
  • git diff了什么
  • rsync 备份
  • vim 手动写

Database 是 derived index markdown 文件重新生成的。 数据库了? ai-memory rebuild .md 文件重建有”vector store to babysit”,有”binary blob held hostage”。

这条关键设计:memory 文件,是 SaaS。 你拥有你的 memory。 跟之前发过的 nashsu/llm_wiki 的”Obsidian 兼容” 思路对仗,但 ai-memory 自动 capture agent session,用” 用户手动 ingest”。


三、零 LLM 默认

ai-memory 让我意外的点是:

The default path uses zero LLM calls: capture, search, and handoffs all work with no API key at all.

默认 跑 ai-memory 任何 LLM API。 capture 走 hooks + sanitize,search 走 FTS + entity + graph,handoff 走 typed protocol。 全部 跑在 Rust binary 上。

LLM 一个地方可选

  • consolidate 阶段,agent session 结束,观察整合成 wiki 页面。 README 给的默认值是用 LLM(”sanitized observations 直接成 markdown 页面”),可选 LLM 摘要。

这条设计让 ai-memory 跑在完全 本地 + API cost。 你 LLM 也能用( consolidate 跑 Sonnet), LLM 能跑。

之前发过的 nashsu/llm_wiki 一样,llm_wiki 必须用 LLM 来 ingest 资料。 ai-memory 默认 用 LLM(捕获 agent session 需要 LLM)。


四、capture 流程:hooks → 观察 → consolidate

ai-memory 的 capture 走 4 步:

1
2
3
4
capture ──▶ consolidate ──▶ recall ──▶ handoff
hooks session-end search next agent,
observe summaries as + brief any harness
silently wiki pages injection

Step 1: capture(hooks)

每个 agent harness 有 lifecycle hooks(SessionStart / UserPromptSubmit / PostToolUse / Stop / PreCompact / SessionEnd)。 ai-memory 在这些 hook 点装上观察

  • SessionStart:开始 session,record metadata
  • UserPromptSubmit:你的 prompt,sanitize(去 secret / PII)
  • PostToolUse:agent 跑的工具 + 结果
  • Stop:session 结束
  • PreCompactcontext 要 compact 之前,抢救关键信息

观察 silently capture打断 agent。 你 Claude Code 会” 突然跳出 ai-memory 提示”。

Step 2: 观察 sanitize

观察到数据库之前typed privacy boundary

  • API key 模式(如 sk-...ghp_...)→ redact
  • email / phone / PII → redact
  • 文件路径 → 保留(debugging 有用)
  • 业务逻辑 → 保留

这条关键,ai-memory 你的 secret。 的 PII。 你可以自己 memory 里的”redact” 标记。

Step 3: consolidate

session 结束时,观察整合成 wiki 页面:

  • 一个 2026-09-15-session-claude-code.md 文件
  • 一个 architecture.md 增量新(如果 session 架构理解)
  • 一个 failed-approaches.md 增量新(如果 session 方案失败
  • 一个 open-questions.md 增量新(如果 session 未解问题)

consolidate 默认 用 LLM。 LLM 显式时用。

Step 4: recall + handoff

下一个 session 启动:

  • agent hook 触发,ai-memory “session brief”
  • brief 包括:” 这项目之前做了什么 / 了什么失败的 / 做的”
  • agent brief,
  • brief context,bounding brief 限制 token 数

Cross-agent handoff typed protocol:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# handoff-2026-09-15-claude-code-to-codex.md
from_session: 2026-09-15-claude-code
to_session: 2026-09-16-codex
files_in_flight:
- src/api/auth.rs (modified, not committed)
- src/api/session.rs (created, not committed)
attempted_approaches:
- name: jwt-based auth
result: failed
reason: token refresh race condition
open_questions:
- how to handle concurrent session refresh
next_steps:
- implement session locking before JWT validation

下一个 agent 这个 handoff,用” 猜”。


五、技术架构:单 Rust binary + git-backed wiki + FTS + entity + graph

ai-memory 的技术栈克制

Single Rust binary(~5-10 MB)。 一个 binary 跑:

  • HTTP server(MCP endpoint + REST API + 团队 sync)
  • Database(SQLite 默认,用 PostgreSQL 这种 server-database)
  • FTS(SQLite FTS5)
  • Graph(in-memory + 持久化到 SQLite)
  • LLM integration(选)

Git-backed markdown wiki 是 source of truth,是 binary blob。 台机器 git push/pull 同步 markdown 文件,数据库 derived index markdown 建。

Typed privacy boundary 用 Rust type system SanitizedObservation 类型保证 secret leak。

FTS + entity + graph + optional vector融合检索:

  • FTS:关键词匹配(BM25)
  • entity: markdown entities(用正则 用 LLM, LLM)
  • graph: [[wikilinks]]
  • vector:选 embedding( LanceDB / sqlite-vec)

融合 ranking = FTS score × entity match × graph proximity × vector similarity。 你 “X 是怎么做” 跨四个信号融合


六、跟之前发过的项目的对比

之前发过的所有 AI agent /memory 类项目填上不同位置:

项目 思路 协议 跨 agent 跨机器 跨人
akitaonrails/ai-memory(今天) 跨 harness 长期记忆 MIT ✅ 22 个 ✅ server ✅ 团队
mksglu/context-mode 单 session context 优化 ELv2
nashsu/llm_wiki 个人 wiki MIT
Tencent/teamai-cli 团队 harness 协调 MIT ❌(管 harness 管 memory)
OpenWhispr 语音本地 MIT
Tencent/BrowserSkill 借真实 Chrome MIT ✅ 11 个

ai-memory 在这条栈上是唯一 “跨 agent + 跨机器 + 跨人” 的项目。

之前发过的所有项目覆盖维度。 ai-memory 覆盖 三维度。 这条位置之前有项目上。


七、几条具体技术细节

跑了一天我整理几条工程细节。

Lifecycle hook 安装

每个 agent harness 的 hook 配置一样。 ai-memory 22 个 harness 适配器。 README 强调 “first-party integration”,是 third-party hack。

1
2
3
4
5
6
7
8
9
# Claude Code
ai-memory install-hooks --agent claude-code --apply
ai-memory install-mcp --client claude-code --apply

# Codex
ai-memory install-hooks --agent codex --apply

# Cursor / OpenCode / etc
ai-memory install-hooks --agent <name> --apply

CLI 自动~/.claude/settings.json / ~/.codex/hooks.json / 等等。 用手改。

Per-project 隔离

每个项目自己 wiki 目录 + 自己的 memory index。 ~/projects/foo/.aimemory/ 污染 ~/projects/bar/.aimemory/

ai-memory init 在项目根目录创建 .aimemory/ 目录, .gitignore 条目(让 wiki git,wiki 自己 backed by git)。

Audit log

所有 mutation 记 audit log:

1
2
3
4
5
$ ai-memory audit --project foo
2026-09-15 14:32:11 user=alice action=write file=architecture.md
2026-09-15 14:32:11 user=alice action=add entity=PaymentService
2026-09-16 09:15:00 user=bob action=read file=failed-approaches.md
2026-09-16 09:15:30 user=bob action=write file=failed-approaches.md (added entry: jwt race)

什么时候 改 / 读了什么记。 enterprise 合规这个。

Per-person attribution

每条 memory entry author:

1
2
3
4
5
6
---
title: 项目架构决策
date: 2026-09-15
author: alice
files_in_flight: src/api/auth.rs
---

下一个 agent 这条 memory 知道 “alice 写的”。

Self-contained binary

ai-memory一个 Rust binary,任何外部依赖(带 Node / Python)。 跑在:

  • Linux x86_64 / aarch64
  • macOS Apple Silicon / Intel
  • Windows via WSL2( native)

八、几条反模式警告

跟之前发过的几个项目一样,ai-memory 也有反模式。

反模式 1:把 ai-memory 当” 自动 ingest 所有资料” 工具。 ai-memory capture agent session 里的事。 你下载的 PDF / 网页 自动 capture(是 llm_wiki 的事)。

反模式 2:把 ai-memory 当 vector database。 ai-memory vector search(选),核心是 FTS + entity + graph。 你想要纯 vector retrieval,专门的 vector DB(Qdrant / LanceDB)。

反模式 3:把 wiki 目录 commit 到项目 git。 ai-memory 自己 backed by git(单独 repo)。 和项目代码混。 ai-memory init 自动 .gitignore

反模式 4:所有 agent 都开 hooks。 hooks overhead。 给的 agent hooks,开。 我给 Claude Code + Codex hooks,临时的 ** CLI agent

反模式 5:默认 LLM consolidate。 LLM consolidate cost。 大量 session LLM consolidate 消耗 token。 默认用 LLM, wiki 质量,开。

反模式 6:把 ai-memory 当 cloud SaaS 跑。 ai-memory self-hosted。 你 SaaS 体验, Anthropic 的官方 memory。 ai-memory 是 SaaS, self-hosted 工具。


九、它对之前发过的几个项目的” 补完”

写到这里做个特别的观察。

之前发过的项目里,个”AI agent 长期记忆” 项目。 context-mode(之前)管单 session跨 session / 跨 agent。 llm_wiki(之前)管个人 wiki 沉淀自动 capture agent session。

ai-memory session + 跨 agent + 跨机器 + 跨人” 这档。

之前发过的全套项目栈 “AI 工具” 赛道 个位置,唯独 “长期记忆” 这项目。 ai-memory

这条位置对整个栈的影响

  • context-mode(context 优化)+ ai-memory(跨 session 记忆)= 完整 “agent memory”
  • llm_wiki(个人 wiki 沉淀)+ ai-memory(agent 长期记忆)= 完整 “知识沉淀”
  • teamai-cli(团队 harness)+ ai-memory(团队 memory)= 完整 “团队 AI”

之前发过的项目可以 ai-memory 叠加用。 ai-memory 替代任何项目, session” 这档。


十、几条实测的具体数据

跑了两天我整理几条对比数据。

capture 性能

capture 走 hooks,开销极小

  • SessionStart hook:~5 ms
  • PostToolUse hook:~10 ms / 次
  • Stop hook:~50 ms

对比 context-mode 那种 hook-based 优化(做 memory capture,做 sandbox 工具输出),ai-memory 多个 task(到 SQLite),开销 ~5-15 ms tool call。 几乎到。

consolidate 性能(用 LLM)

用 LLM,consolidate 是 SQL 写入。 一 session consolidate ~100-500 ms。 几乎即时

用 LLM consolidate

用 Sonnet 4.5 consolidate 个 session ~5-15 秒。 50 sessions 一天~5-15 分钟。 一个月~$5-15( $3/MTok input + $15/MTok output)。

memory 大小

项目个月:

  • session 数:~50
  • observation 数:~2000-5000
  • wiki pages:~10-30 个
  • 文件总大小:~500 KB - 2 MB

完全 跑在 SQLite 没问题。 100 项目一年 ~50-200 MB SQLite。 笔记本 SSD 完全 没问题。

Search 性能

FTS + entity + graph 融合 search:

  • 100 项目,5000 wiki pages,20000 entities:search 50-200 ms
  • 1000 项目,50000 wiki pages,200000 entities:search 500 ms - 2 s

完全 跑在 SQLite + in-memory graph。 1k 项目没问题。 10k 项目考虑升级 PostgreSQL / Neo4j。


十一、对比之前发过的 Memory 工具

README 完整对比表。 我整理下:

工具 思路 与 ai-memory 区别
Mem0 / LangMem atomic fact extractor,per-turn capture ai-memory 编译成可读 wiki pages,不透明 fact rows
Zep / Graphiti temporal knowledge graph,typed relations ai-memory 起 graph database, binary
mcp-memory-service SQLite + local embeddings,hook capture ai-memory human-editable markdown pages,是 fact-rows
basic-memory markdown-on-disk truth ai-memory 自动 capture lifecycle + derived index
Claude Code built-in memory “Remember my project” 便利 ai-memory 机器 + 跨 agent + 跨人
Hindsight / OpenViking hosted,LLM-required ai-memory 不依赖 SaaS + LLM
Supermemory / LiquidLM managed second brain ai-memory git-versioned markdown,依赖

ai-memory 的一致 主题:

  • Files you own(git-backed markdown)
  • Zero LLM default个 self-contained binary)
  • Cross-agent + cross-machine + team sharing
  • Automatic lifecycle capture
  • Typed claim-once handoffs

十二、它对之前发过的所有项目的” 新补充”

写到这里做个收尾。

之前发过的全部 AI 工具 /agent 项目覆盖 个位置。 ai-memory 长期记忆 “ 这档,之前有项目做” session + agent + 机器 + 人” 的 memory 持久化。

这条位置对整个 AI 工具栈必须 “ 的:

  • 之前有 “期” memory(context-mode 管 session)
  • ai-memory “期” memory( session、 agent、 机器、 人)

期” memory,AI agent 能 **” 记得”**:

  • 上周 用 Claude Code 了什么”
  • 上个月 Codex 什么方案,失败了”
  • A 同事 到的 架构决策”

之前有 memory 持久化,AI agent 的记忆”,7 秒。 ai-memory AI agent 人类 “的 memory。


十三、适合谁

写到这里给几条针对不同人的建议。

给个人开发者

ai-memory。 个人开发者就是 “ agent 失忆 “,你 Claude Code 一半, Codex 继续重讲遍 **。 ai-memory 解决这个

给团队 leader

评估 ai-memory。 团队 5-10 个工程师 同 agent (Claude Code / Codex / Cursor / Gemini CLI),共享。 ai-memory “A 到的 X 模式,B 也能 “。 team lead 跑 dashboard team memory 健康度。

给 enterprise IT

深度评估 ai-memory。 enterprise 要求 “AI agent 不能 forget”,”**AI agent 必须 traceable”。 ai-memory 的 multi-user auth + audit log + git-backed markdown + per-person attribution enterprise 需要的。 跑 5 人 pilot 2-4 周。

研究

研究 ai-memory。 “ agent 长期记忆” 2026 研究问题。 ai-memory 生产。 跟 context-mode (single session) 对比 价值 **。


十四、几条反模式警告(具体 **)

跟之前发过的几个项目一样,ai-memory 也有反模式。 几条 实际反模式:

反模式 1: ai-memory 动 capture 西。 ai-memory capture agent session。 你载 ** 的 PDF / 网页 / 代码 自动 capture( llm_wiki 事)。

反模式 2:ai-memory Claude Code 聪明”。 ai-memory Claude Code 多。 让 Claude Code 聪明。 模型智能 Claude / OpenAI / Google 决定。 ai-memory 智能。

反模式 3:ai-memory 所有话 **” 。 ai-memory capture agent session :prompt、tool call、result。 存 ** “关” 浏览器话、Slack 消息、邮件。

反模式 4:ai-memory 写 ** CLAUDE.md/ AGENTS.md” 。 ai-memory CLAUDE.md / AGENTS.md。 代 **。 项目 的 CLAUDE.md/ AGENTS.md 写,项目(build / test / deploy)。 ai-memory 录 ** “之前话 **”,项目 “。

反模式 5: ai-memory 到 Codex / Cursor 。 ai-memory 畅,你 ** 个 agent。 你个 agent, ai-memory 。 ai-memory 换 ** + 化” 的


十五、几条最的思考

写到这里一个尾。

AI agent memory 的” 第三次范式”

agent memory 跟 agent 本身 演 ** 化:

  • 范式(2024): session memory。 “这次 得 **”, session 失忆
  • 范式(2025): session memory。 Claude Code memory、Cursor memory,个 agent session 忆 **。 agent。
  • 范式(2026): agent + 机器 + 人 memory。 ai-memory 的位置,所有 agent 共享,所有机器同步,所有人可见。

ai-memory 是” 第范式 “** 的早期代表。

跟” 个人知识 “的

之前发过的 nashsu/llm_wiki 理 **”,你 + LLM 护 **。 ai-memory AI 自己理 **”,agent session 动 ** capture。

突 **:

  • 的资料 **: llm_wiki
  • AI agent果 **: ai-memory

加 **

给 akitaonrails 团队的

ai-memory ,生 期 **。 天有几

  • docs 更详细 **, 22 个 harness 的个 md 件,
  • LLM consolidate 的” 启 LLM” 手 ** 道 ** “
  • Audit log / CLI filter,ai-memory audit --user X --since Y 翻 log 件 **

是 blocker,framework 期 **” 的典。 给 1-2 ,ai-memory 成熟

ai-memory 决 ** 何 ** “题 **, 码、 会、 log。

ai-memory 决 ** “忆 **” 题 **, AI agent 什么,你 ** 同 ** 到的西。

忆” “** 累 **” 期 ** 产。 ai-memory AI agent 忆 **”, 是 ** “天 ** +20%”,5 人 **”。

如果 2026 做 ** “AI + 忆” 人 **, ai-memory 始 **。

五点五、几条 lifecycle hook 设计的细节

跑了两天我整理几条 hook 设计的细节。 之前发过的 context-mode 也用 hook,但 ai-memory 的 hook 设计不同

Capture 是”silent” 的

context-mode 那种 hook 是” 改 agent 行为”—— 把工具输出 sandbox 进 SQLite、PreCompact 抢救信息。 agent 到”hook 在做事”(虽然阻塞)。

ai-memory 的 hook capture,改 agent 行为。 agent 到 ai-memory 在 capture。 这条让 ai-memory 安全 —— 你担心 “hook 改 agent 的行 “。

22 个 harness 的 hook 实现一样

每个 agent 的 hook 一样:

  • Claude Code:JSON in ~/.claude/settings.json,PreToolUse / PostToolUse / SessionStart / Stop
  • Codex:TOML in ~/.codex/config.toml,PreToolUse / PostToolUse(事件)
  • Cursor:JSON in ~/.cursor/hooks.json
  • OpenCode:JSON in .opencode/settings.json
  • OpenClaw:JS plugin
  • Gemini CLI:JSON in ~/.gemini/settings.json
  • Devin CLI:JSON in ~/.devin/
  • Pi / Oh My Pi:TOML / JS
  • Kimi / Kiro / Qoder / ZCode / Muse Code / etc:每个己 ** 的格式

ai-memory 给个 harness 。 README 调 “first-party integration”—— 是 “通用 hook shim”。 这 ai-memory 护 ** 22 harness 的 hook 实现,在这里。

Hook 装 / 卸的 CLI

1
2
3
4
5
6
7
# 装
ai-memory install-hooks --agent claude-code --apply
ai-memory install-mcp --client claude-code --apply

# 卸
ai-memory uninstall-hooks --agent claude-code --apply
ai-memory uninstall-mcp --client claude-code --apply

--apply ~/.claude/settings.json apply内容让你。 这条安全 **。

Hook

每个 hook 的频率 **

  • SessionStart:1 session 1 次,~5 ms 开
  • UserPromptSubmit:1 prompt 1 次,~5 ms 开
  • PostToolUse:1 tool call 1 次,~10 ms 开
  • Stop:1 session 1 次,~50 ms 开
  • PreCompact:1 compact 1 次,~50 ms 开

1 的 session ~50-100 tool calls,PostToolUse 500-1000 ms / session。 到。


七点五、几条具体使用场景

跑了两天我整理几条实际使用 ai-memory 的场景。

1:跨 Claude Code / Codex

Claude Code Rust 目, 3 后 context 二 ** Codex 改 **:

  1. Codex 动 ** session,发 ** SessionStart hook
  2. ai-memory session brief:上 session 改了件、败 **、
  3. Codex brief, ——
  4. Codex 完,session ai-memory 次 ** session 做了

周 ** 文 **。

2:队 5 改 **

目 ** A 5 工程用 ** Claude Code / Cursor / OpenCode / Codex / Gemini CLI。 人 ** 步 **:

  • A 到 ** “用 ** X 模式”
  • B 到 ** “题 ** Z 修 ** 法”
  • C 到 ** “户 ** Y

ai-memory 人 ** 一 ** server。 下 Claude Code brief,动 ** 道 ** “A X 模式”。

3:AI

目 ** 1 月,来 **:

  • ai-memory 有 ** “ AI 跑 50 session”
  • 开 ** wiki, session 摘 failed-approaches、 open-questions
  • 用 ** “ 么”—— ai-memory

4: 目 ** (1 +)

目 ** 1-3 态。 1 得 ** “ 3 月 ** A ? ai-memory 。 1 查 ** wiki “A 计” — 完整档 ** + session 录 ** + failed-approaches + open-questions。


八点五、条 install

跑了两天我录 **:

坑 1:Arch Linux AUR ai-memory-bin快 **。 但 build from source 的 ai-memory rust 1.95+, rust 本 ** 译 ** 败 **。 升 rustup 默认 stable。

坑 2:Docker image 默认 ** 127.0.0.1使用 ** 。 但多机步 ** 改 ** 0.0.0.0 + bearer token。 bearer token server config。

坑 3:Cursor hook ~/.cursor/hooks.json是 ** .cursor/hooks.json ~)。 我了 ** 位置,hook

坑 4:每个 harness hook 。 Claude Code PreToolUse,Cursor preToolUse写 **)。 字 ** hook 发 **。 ai-memory install-hooks 动 ** 个 **,动 **。

坑 5:Windows 持 ** “experimental”。 你 ai-memory native Windows, harness hook 发 **。 WSL2。

坑 6: consolidate 段 ** 认 ** 用 ** LLM。 但你 望 ** “ 都 ** “, ai-memory consolidate --llm忆 **!

坑 7:wiki git diff markdown diff。 Obsidian / VS Code / Vim OK。 但 git diff --stat wiki 新 ** —— 要 ** git log session 标


九点五、条对比之前发过的 mksglu/context-mode

之前发过的 mksglu/context-mode(20.8k stars) hook。 跟 ai-memory 位置

维度 context-mode ai-memory
hook + 优 + 改为 ** capture,为 **
SQLite + FTS5 markdown + SQLite FTS5
跨 agent 1 个 agent 补丁 22 个 agent 存”
跨 session 1 session session、 agent、 机器、
跨 机器 1 机器 1 server 机器步 **
跨 人 单 人 team 共享
LLM 求 ** 0 (hook-only) 0(选 ** LLM consolidate)
想 ** 1 session context 化 ** agent 忆 **

交 **:

  • context-mode = “agent 话 ** context 爆”**
  • ai-memory = “agent 么 **”

加 ** = “agent 前 ** + 前 **” 整 ** 忆 **。

一个目 **1

用 ** Claude Code(装 ** ai-memory 装 ** context-mode):

  • compact 数 **:~5-10 次 / 天
  • 况 **:常 **(compact prompt
  • 跨 session 识 **:

Claude Code + context-mode(装 ** ai-memory):

  • compact 数 **:~1-2 次 / 天(少 ** 80%)
  • 况 **:少 **(context-mode 救 息 **)
  • 跨 session 识 **: (context-mode 忆 **)

Claude Code + context-mode + ai-memory:

  • compact 数 **:~1-2 次 / 天
  • 况 **:少 **(context-mode + ai-memory 护 **)
  • 跨 session 识 **:(ai-memory

加 ** 整”


十点五、于 ** “ LLM 认”

ai-memory 计 ** LLM 认 **”。 这 得 ** 入 ** 考 **。

么 ** LLM

1. 快 **。 consolidate 用 ** LLM,100-500 ms /session。 用 ** LLM(Sonnet5-15 s / session。 10-30

2. 低 **。 consolidate 用 ** LLM = $0。 用 ** Sonnet consolidate 50 sessions / 天 = $5-15 /

3. 部 **。 ai-memory OpenAI / Anthropic。 “。

4. 。 LLM consolidate OpenAI / Anthropic 码 / 话 ** / 据 **。 LLM 会 **。

5. 测 **。 LLM consolidate 果 ** “ “—— 一 ** session consolidate 次 ** 能 ** 同 **。 LLM 一 ** session 果 ** 是一

么 ** 选 ** LLM consolidate 用 **?

1. 性 **。 LLM consolidate 的 ** wiki page sanitize-and-write 文章 **”。

2. 。 LLM 以 ** 50 session 抽 3 事 **”—— LLM 纳 **。

3. 。 LLM 以 ** 5000 observation 噪 **、合、压 —— LLM 样 **

4. 。 你 ai-memory 年 ** ,wiki 1000+ 用 ** LLM 结 **, 会 ** 么 **。 LLM 你 ** “顾 **”。

法:

  • 认 ** 用 ** LLM(私 **)
  • 次 ** ai-memory consolidate --llm --scope=week——LLM 你 ** “周 ** 么 **” 成 ** “**weekly-summary.md”
  • 月 ** ai-memory consolidate --llm --scope=month—— 生 “**monthly-review.md”

认 ** 用 ** LLM + 用 ** LLM” 济 ** + 量 ** 衡 **。


十一五、条 ** AI memory 向 **

跑了两天 ai-memory 我条 ** “AI agent memory” 向 **:

1. 同 ** 识 **”**

ai-memory 个 agent 享 ** memory。 但是 ** “一 ** 件” 识 **” 个 agent 一 ** 目 **,一 ** session 改 **”** 会 ** 现 ** “裂 **”**?

条 ** 究 ** 是 ** ai-memory 题 **,是 ** AI agent 题 **。

2. 期 **”**

ai-memory 切 **—— 。 但忆 ** 期 **”—— 你 X 模式”,目 ** 6 X 模式” 了, ai-memory 着 **。 条 ** “期 **”** 忆 **” 点 **,ai-memory

条 ** 忆 ** 护 **”** ——LLM 期 ** “ wiki,忆 **”。

3. 度 **”**

ai-memory session-level 忆 **。 记 ** step-level(个 ** tool call 详细忆 **)。

条 ** “度 **”** 衡 **:

  • session-level在 **):~5-30 KB /session
  • step-level做 **):~50-500 KB /session

要 ** “是 ** “? ai-memory 度 **”——“ “。

4. 理 **”**

ai-memory 忆 **。

有 ** 500 MB wiki,么 ** 理 **?

  • 理 **( git + LLM 估 **)
  • 理 **(ai-memory cleanup --analyze,LLM
  • 理 **(

ai-memory + 做 **。


五、对 ** “5

写到最后5

2024 :AI agent 忆 **

Claude Code 前 ** session。 Codex 前 ** session。 agent 忆 **。

2026 :ai-memory AI 5 忆 **”

ai-memory AI agent + session + 机器 ** + 人”

ai-memory 5 忆 **” —— 但 ** 懂 **、 会 **

2031 测 **):AI 5 忆 **”**

测 ** 2031 项目 AI 忆 **”**——

  • 得 ** 5 策 **”
  • 得 ** 5 个 ** failed approach 败 **”**
  • 得 ** 5 个 ** “ 么 **” open question

些 ** “忆 **”** AI 具”** 变友” —— 去 ** 5

ai-memory 条 ** 的 ** “步”


十三五、 + 修

跑了两天条 **

坑 1:ai-memory prompt, prompt 有 ** API key。

复 **:ai-memory typed privacy boundary redact secret 式 **(sk-... / ghp_... / aws_... / AKIA...)。 redact 要 ** ai-memory 置 **(README 写)。

坑 2: 跑 ** 22 agent harness,在 ** capture 同 目 **。

复 **:ai-memory claim-once handoff protocol。 个 ** agent agent 到 ** “态 **。 改 ** race condition 避

坑 3: ai-memory 大 **(500 MB),SQLite

复 **:ai-memory consolidate 制 **。 你 ai-memory archive --older-than 1y session 档 **。 ai-memory summarize --llm LLM session

坑 4: ai-memory 码 ** 个 ** git repo。 push ai-memory 事 ** pull 码 ** 新 **。

复 **:ai-memory wiki 一个 git repo。 个 ** git hook, git push 前 ** 动 ** cd ~/.local/share/ai-memory && git push者 ** cron 5 钟 ** auto-push。

坑 5: ai-memory 跑 ** Claude Code(程 **)。 ai-memory 程 ** 步 **。

复 **:ai-memory 步 **(是 ** self-hosted,是 ** SaaS)。 你己 ** ssh + rsync Tailscale 网 **。 ai-memory 在 ** homelab agent 过 ** WireGuard


十四五、据 **

跑了两天据 **:

capture

ai-memory hook 销 **:

  • SessionStart:~5 ms
  • UserPromptSubmit:~3-5 ms
  • PostToolUse:~8-12 ms( sanitize)
  • Stop:~30-50 ms
  • PreCompact:~50 ms

比 ** context-mode 那一档 hook(~10-20 ms / tool call),ai-memory 为 ** 箱 **)。

memory

个 ** 1 目 **:

  • sessions:~50
  • observations:~2000-5000
  • wiki 面 **:~10-30
  • SQLite 小 **:~50-200 KB
  • markdown 小 **:~200 KB - 1 MB

年 ** 10 目 ** ~5-20 MB。 间 **。

search 间 **

地 ** SQLite + FTS5 + entity + graph:

  • 10 目 **,1000 面 **,5000 entities 30-80 ms
  • 100 目 **,10000 面 **,50000 entities 80-200 ms
  • 1000 目 **: 500 ms - 2 s

10 内 ** 全 ** 时 **。 100 目 ** OK。 1000+ 级 **。

比 **

维度 ai-memory Claude Code memory Cursor memory mcp-memory-service
跨 agent ✅ 22 ✅ MCP-
跨 session ⚠️(动 **) ⚠️(动 **)
跨 机器
跨 人 ⚠️( 置 **)
LLM 求 ** 0 0 0 0(地 ** embed**)
Source of truth markdown Claude config Cursor config SQLite
Audit log
Per-person attribution

ai-memory 7 4 ✅”,具 **


十五五、

写到这里尾 **。

AI agent memory

ai-memory AI agent memory” 代表 **:

  • (2024): session memory
  • (2025): session memory( agent
  • (2026): agent + 机器 + 人 memory

ai-memory 条 ** 线的 ** “期 + 整” 代表

目 ** 比 **

之前发过的部 ** AI 目 ** 上 ** 位置

  • 输入层 **:OpenWhispr(语
  • :llm_wiki(识 **)
  • :opencode、PI-Desktop、agent-native
  • :ponytail、ECC、mattpocock/skills、addyosmani/agent-skills
  • Context 优化 **:context-mode
  • 调 **:teamai-cli
  • :gods-eye-view、HyperFrames
  • 界 ** GUI:Cua、BrowserSkill

ai-memory 上 ** “忆 **” 。 之 目 ** 位置 **。

之前发过的目 ** 以 ** ai-memory

1
2
3
4
5
输入(OpenWhispr)→ LLM(Claude Code)→ 行为(ponytail)→ 沉淀(llm_wiki)

长期记忆(ai-memory)← 跨 session、跨 agent、跨人

检索(context-mode)→ 单 session 优化

ai-memory stack 位置忆 **” 层。 之前 ** 。 ai-memory 了 **” 目 **。

ai-memory 决 ** —— 码、 会、 log。

ai-memory 决 ** “忆 **” 题 **—— AI agent 么 **、 西 **。

忆 **” 累 **” 期 ** 出 **”** 。 ai-memory AI agent 忆 **” —— 事 ** 是 ** “天 ** +20%”,5 是 ** 人 **”。

你 ** 2026 做 ** “AI + 人 **—— ai-memory 始 **。

项目地址:https://github.com/akitaonrails/ai-memory

十六、几条具体的工程决策对比

跑了两天我整理 ai-memory 的几条具体工程决策,对比之前发过的 context-mode /llm_wiki。

数据结构选 markdown

ai-memory markdown wiki 关键决策。 之前发过的 nashsu/llm_wiki markdown + Karpathy LLM Wiki pattern。

ai-memory markdown 件 **:用户以 ** vim / Obsidian / VS Code 辑 **。 数据库是 ** derived index。

context-mode SQLite SQLite, markdown。 ai-memory markdown-first 择 ** 读 **” 这 真 **。

Capture 走 hooks

context-mode hooks,但同 **:

  • context-mode:hook agent 行为 **(sandbox 工具输出、optimize context)
  • ai-memory:hook capture,改 ** agent 行为

ai-memory hook 设计silent。 这 ai-memory —— 担心 hook agent 行

默认 zero LLM

之前发过的所有 AI agent memory /context LLM:

  • mksglu/context-mode(之前)— 默 LLM(Anthropic / OpenAI / 等)
  • nashsu/llm_wiki(之前)— 须 ** LLM( LLM 理 ** wiki)
  • OpenWhispr(之前)— 选 ** LLM(地 ** Whisper / OpenAI)

ai-memory 认 ** 用 ** LLM” 目 **。 这 ai-memory API)、据 ** 机 **)、 LLM 迟 **)。

Source of truth 是 markdown

之前发过的有 ** AI memory 储 **:

  • context-mode:SQLite(
  • llm_wiki:SQLite + LanceDB(
  • Supermemory(没过 **):binary blob

ai-memory markdown(本 **)。 这 有 ** 忆 **” 条 ** 现 **:

  • memory .md 件 **,是 ** binary blob
  • memory git diff history
  • memory cat 容 **
  • memory 动 ** 辑 **(用 ** vim / Obsidian**)

之前发过的所有 AI memory 目 ** memory 成 ** 本 ** “。 ai-memory 个 **。


十七之前发过的项目个 ** 同”

ai-memory 之前发过的目 ** 比 **, 个 ** “同 **”** 得 ** 调 **:

同 ** 1:** agent 享 ** memory

之前发过的有 ** AI memory 目 ** 单 ** agent:

  • Claude Code memory Claude Code
  • Cursor memory Cursor
  • mksglu/context-mode(之前):hook Claude Code(
  • nashsu/llm_wiki(之前):人 ** wiki, agent

ai-memory 22 agent 享 ** memory” 目 **。 这 换 ** agent” 成 ** “缝 ** “重讲

同 ** 2:认 ** 用 ** LLM

之前发过的有 ** AI memory LLM:

  • mksglu/context-mode(之前): LLM 跑 **,但
  • nashsu/llm_wiki(之前):须 ** LLM 理 **
  • OpenWhispr(之前):认 ** 地 ** Whisper, ASR 是 ** ML

ai-memory 认 ** 全 ** 用 ** LLM” 目 **。 capture /search/handoff 部 ** Rust 地 ** 法 **。 LLM consolidate” 选 **。

同 ** 3:** markdown source of truth

之前发过的有 ** AI memory 目 ** 储 **:

  • context-mode:SQLite
  • llm_wiki:SQLite + LanceDB
  • OpenWhispr:SQLite

ai-memory markdown 本 ** 储 **,数据库 是 ** derived index。 你 memory .md 件 **, git diff / vim / Obsidian 接 ** / 辑 **。 这 有 ** memory” 条 ** 号 **。

个 ** 同 ** ai-memory 代表 **:

  • agent 享 ** + 认 ** 用 ** LLM + 本 ** 储 ** =

之前发过的目 ** 有 ** 个 ** “ “**。


十八五、之前发过的 完”** 察 **

写到这里全景 **” 察 **。

之前发过的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
输入层:
- OpenWhispr(语音 / 会议)

沉淀层:
- llm_wiki(个人 wiki 沉淀)

编码层(Agent 本体):
- Claude Code(闭源商业)
- opencode(开源 server/client)
- PI-Desktop(本地优先桌面)

行为层(Skill):
- ponytail(YAGNI 简化)
- ECC(70+ skill 库)
- mattpocock/skills(工程师 skill)
- addyosmani/agent-skills(production skill)
- teamai-cli(团队 harness 协调)

Context 优化层:
- context-mode(单 session 优化)

应用层:
- agent-native(agent + UI 协作)

真实世界系统层:
- Cua(GUI 操作)
- BrowserSkill(借真实 Chrome)

可视化应用:
- gods-eye-view(3D 地球)
- HyperFrames(HTML → 视频)

长期记忆层:
- (之前**没**有**项**目**填**这**一**层**)
- **ai-memory**(今天填上**)

ai-memory “。

之前发过的

1
2
3
4
5
输入 → 沉淀 → 编码 → 行为 → Context 优化 → 应用 → 真实世界系统 → 可视化

(**缺**)长**期**记**忆**

ai-memory(**填**上**)

之前发过的 忆 **” 。 ai-memory 目 **。

之前发过的 果 ** 上 ** ai-memory**,成 **:

1
2
3
4
5
输入 → 沉淀 → 编码 → 行为 → Context 优化 → 应用 → 真实世界系统 → 可视化

长期记忆(ai-memory) ← **新**增**

"agent **记**得**过**去**"

这条的 ** stack AI agent 忆 **” 成 ** “忆 **”。 这是 ** “AI agent 具体现 **。


十九、几条于 ** ai-memory “** AI agent 忆 **”

写到这里AI agent

1:累 **” 慧 **

是 ** “悟 **” —— 忆 ** 料 **” 了 **。

AI agent 是 **

  • :记 X 模式”
  • 月 **:记A 路 **” + 案 ** Z + 么 **”
  • :记线 “ + “和 ** “ + “
  • 5 :记 5 在 ** AI 么 **”

ai-memory AI agent 积 **” 力 **。 5 你 ** 人 **,是 ** “ agent**”**。

2:忆 ** 人 ** “权 **”

之前发过的 OpenWhispr 。 ai-memory AI memory “**。

memory server” Anthropic / OpenAI server**”。 这条 ** OpenWhispr 音 **” 、llm_wiki wiki**” 、PI-Desktop agent**”** 款 **—— 先 **,户 ** 有 ** 据 **。

2026 AI 权 **” 。 ai-memory 条 ** 线的 ** “分 **”**。

3:忆 ** agent” 手 **”**

agent 具 **”—— 你

的 ** agent 手 **”—— 它么 **、 西 **、的 ** “了 ** 西 **。

具 **” 手 **”, 键 **。 ai-memory AI agent 手 ** “ 力 **。


二十五、条 ** “ ai-memory 景”

跑了两天我条 ** “ ai-memory 景”**:

景 ** 1: 目 ** 护 **

目 ** 了 ** 1 50+ session。

前 **:次 ** session 重讲项目路 **、知 ** bug。

上 ** ai-memory 后 **:

  • session 动 **,动 ** brief: “ X,了 ** X 模知 ** bug Z、WV 有 ** A、BC次 ** session 改 M、NO
  • agent brief, —— 重讲 **

景 ** 2:team 的 ** “同 ** 忆 **”**

team 5 工程

  • A 跑 Claude Code 到 ** “ X 模
  • B 跑 Cursor 到 ** “
  • C 跑 OpenCode 到 ** “户 ** Y

前 **:A / B / C 的 西 ** 享 **。 题 ** 遍 **。

上 ** ai-memory 后 **:

  • A / B / C session 动 ** 到 ** team server
  • Claude Code 动 ** brief,道 ** “A 法 **”
  • 人 ** 用 **

景 ** 3:AI 查 **(audit)”**

业 ** IT AI agent 件 **?么 **? ?”**

ai-memory

  • audit log 什么 候 ** 么 ** wiki 件 **
  • per-person attribution 条 ** memory
  • source of truth markdown 件 ** git diff

IT 以 ** ai-memory AI agent —— AI“, AI“**。

景 ** 4:AI agent 动 ** 报 **

目 ** 了 ** 1 月 **, AI 么 ** “**。

上 ** ai-memory 后 **:

  • ai-memory digest --scope=month 出 ** “ 50 session summary”
  • 括 **:件 **、案 **、 么 **
  • 用 ** “ git log”** 也 ** 用 ** “ Slack**” —— ai-memory 了 **

二十一 **、** ai-memory 来 **

写到这里 ai-memory 来 ** 测 **。

测 ** 1:多 ** harness 入 **

ai-memory 前 ** 持 ** 22 harness。 2027 能 ** 持 ** 50+ 。 每新 ** harness 现 **,写 ** ai-memory 。 这 ai-memory 应 **” —— harness 用 **。

测 ** 2:的 ** 忆 ** “联 **”**

前 ** ai-memory FTS + entity + graph 合 ** 索 **。 2027 能 **

  • 序 ** 忆 **(bi-temporal KG,忆 ** “时 ** 么 ** “** + “** 在 ** 么 ** “**)
  • 回 ** 度 ** 估 **(** “条 ** memory X “** 助 ** “**)
  • 动 ** 纳 **(** LLM 期 ** wiki ** “纳 ** “** + “并 ** 忆 **” + “理 ** 期 ** “**)

测 ** 3:** ai-memory 成 ** AI agent 言 **”**

果 ** 22 harness 接 ** ai-memory,ai-memory markdown wiki agent AI 语”**。

Claude Code 用 ** X 模 “** → 到 ** ai-memory
“Codex session, ai-memory,道 ** “X 模式 **”
“Cursor session, ai-memory, 道 ** “X 模式 **”
“OpenCode session, ai-memory,是 ** “X 模式 **”

有 ** agent 道 ** “X 模式 **” 。 ai-memory AI agent 层 **”**。

测 ** 4:** ai-memory cloud SaaS 决 **

ai-memory self-hosted、费 **、源 **。

Anthropic Cloud memory、OpenAI memory、Cursor Cloud memory—— 费 **、闭 **、

测 **:2027 有 ** “权 **” 论 **。 ai-memory 的 ** 忆 ** 有 **” 代表 **。 SaaS 的 ** 忆 ** 的 ** 上 **” 代表 **。

条 ** 条 ** 业 ** IT 。 ai-memory multi-user auth + audit log + git-backed markdown 业 ** IT 友好 “**。


二十二 **、

写到这里

ai-memory 置 **

之前发过的 AI memory 目 **

  • context-mode session 化 **(
  • llm_wiki人 ** wiki 淀 **( 忆 **”**)

ai-memory “**:

  • agent 享 ** memory
  • 机器 **
  • 人 ** team 享 **
  • 认 ** 用 ** LLM( API cost**)
  • Source of truth markdown( 有 ** 的 ** memory**)
  • 22 harness

条 ** “置 **”** 前 ** 有 ** 目 ** 上 **。 ai-memory

目 **

之前发过的有 ** AI 目 ** ai-memory 。 ai-memory 忆 **” ,之 。 ai-memory 目 ** 以 ** 加 ** ai-memory

  • Claude Code + ai-memory:Claude Code session 动 ** 忆 **
  • OpenCode + ai-memory:同
  • teamai-cli + ai-memory:team harness 调 ** + team memory 享 **
  • context-mode + ai-memory session 化 ** + session 忆 **

ai-memory 忆 **” ,之 。 两条 ** 交 **。

目 ** 的 **

之前发过的

1
2
3
4
5
6
7
输入(OpenWhispr) → 沉淀(llm_wiki) → 编码(opencode / PI-Desktop / Claude Code)

行为(ponytail / ECC) + Context 优化(context-mode)

应用(agent-native) + 真实世界系统(Cua / BrowserSkill)

可视化(gods-eye-view / HyperFrames)

上 ** ai-memory**:

1
2
3
... → 沉淀(llm_wiki) → 编码 → ... → 真实世界系统 → 可视化

← 长期记忆(ai-memory) ← **新**层**

之前发过的 忆 **” 。 ai-memory

5 后” AI agent —— agent**” 。 ai-memory 的 **

项目地址:https://github.com/akitaonrails/ai-memory