工具接入教程
Cursor、Claude Code、Codex 都使用同一套 AI-Context 记忆协议。目标是接近 Engram 的体验:记忆协议常驻、主动搜索、主动保存、会话结束总结、上下文压缩后恢复。第一阶段不接外部数据库,所有长期记忆都写入 Trilium。
通用接入原则
- 把 05 Agent Memory Runtime 放进工具的常驻规则或启动提示,而不是临时按需提示。
- 会话开始先判断 scope:global、project、ops、tool。
- 用户第一条消息涉及项目、功能、错误、工具或历史问题时,先查 active 记忆。
- 完成重要工作后主动保存,不等待用户说“记住”。
- 会话结束前写 session summary 或输出 Memory Update。
- 不能访问 Trilium MCP 的工具,只生成 Memory Update,由 Codex 或具备 MCP 的工具代写。
最小常驻规则
你有一个基于 Trilium 的 AI-Context 长期记忆系统。
它是常驻协议,不是按需启用。
会话开始:
- 如果任务涉及项目、工具、历史问题或用户偏好,先读取 AI-Context / 🧠 Memory Protocol / 05 Agent Memory Runtime。
- 搜索 #ai_context #memory_status=active 的相关记忆。
任务中:
- 主动保存决策、偏好、bug 根因、非显然发现、项目约定、踩坑经验。
- 不保存密码、令牌、私钥。
会话结束:
- 输出或写入 Goal、Instructions、Discoveries、Accomplished、Next Steps、Relevant Notes/Files。
Codex 接入
Codex 当前可以通过 mcp__trilium_mcp 直接读写 Trilium,因此适合做记忆管理员。
- 开始任务:用
search_notes查#ai_context #memory_status=active,必要时读取 05 Agent Memory Runtime。 - 保存记忆:先查重,再
create_note或update_note;同主题复用#topic_key。 - 更新记忆:旧记忆被取代时,给新 note 添加
~supersedes,旧 note 标记#memory_status=superseded。 - 收尾:写 DevLog/session summary,或明确说明本轮没有长期记忆需要保存。
Codex 推荐指令片段
使用 Trilium AI-Context 作为长期记忆事实源。
遵守 AI-Context / 🧠 Memory Protocol / 05 Agent Memory Runtime。
当任务涉及历史、项目、偏好、工具链或错误排查时,先搜索相关 active 记忆。
完成决策、bugfix、配置、发现、偏好确认后,主动写回 AI-Context。
Claude Code 接入
如果 Claude Code 能配置 Trilium MCP,就按 Codex 流程直接读写。如果不能直接读写 Trilium,就让 Claude Code 输出 Memory Update 区块。
CLAUDE.md 推荐片段
## Memory
本项目使用 Trilium AI-Context 作为跨会话长期记忆。
记忆协议是常驻规则,不是按需启用。
- 开始任务前,如果涉及历史问题、项目约定、用户偏好或工具链,先读取 AI-Context 相关 active 记忆。
- 主动保存决策、偏好、bug 根因、非显然发现、项目约定和踩坑经验。
- 如果当前环境不能写 Trilium,请在回复末尾输出 Memory Update 区块。
- 上下文压缩或恢复后,先保存摘要,再重新读取相关 active 记忆。
Cursor 接入
Cursor 更适合在项目内执行,因此建议使用 .cursor/rules/ai-context-memory.mdc 或全局 ~/.cursor/rules/ai-context-memory.mdc。
Cursor 规则文件
---
alwaysApply: true
---
# AI-Context Memory
你有一个基于 Trilium 的 AI-Context 长期记忆系统。
该协议始终生效。
开始任务前:
- 如果用户提到历史问题、项目、bug、工具链或偏好,先查 AI-Context active 记忆。
- 如果你不能直接访问 Trilium MCP,请说明需要由 Codex 代查。
完成任务后:
- 如果产生决策、偏好、bug 根因、非显然发现、项目约定或踩坑经验,输出 Memory Update 区块。
- 不保存敏感凭据。
Memory Update 区块格式
Memory Update:
- title: 动词 + 对象,短而可搜索
- target: AI-Context / ...
- type: preference | fact | decision | gotcha | episode | pattern | config
- scope: global | project | tool | ops
- topic_key: 稳定路径式 key,例如 memory/ai-context-runtime
- status: active
- confidence: confirmed | inferred | tentative
- source_tool: cursor | claude_code | codex
- content:
What: ...
Why: ...
Where: ...
Learned: ...
- supersedes: 可选,旧 note 标题或 note id
跨工具协作流程
- Cursor 或 Claude Code 在项目中完成工作,发现长期记忆。
- 如果不能直接写 Trilium,输出 Memory Update 区块。
- Codex 读取区块,按 topic_key 查重并写入 AI-Context。
- 下一次任一工具开始相关任务时,先搜索 active 记忆并读取完整 note。
和 Engram 的对应关系
mem_save→ Trilium 查重后 create/update note。mem_search→ Trilium search_notes。mem_context→ 读取 AI-Context 根、Memory Protocol、相关 scope 子树。mem_session_summary→ 写入 DevLog/Daily 或项目会话存档。topic_key upsert→#topic_key标签 + update_note。conflict/supersedes→~supersedesrelation +#memory_status=superseded。