AI记忆方案
🧠 我自己拥有的 AI 跨工具长期记忆系统(项目编号 P001):Obsidian Vault + Git 私有仓做底座,让 Codex、Claude Code、Gemini CLI、WorkBuddy 等任何 AI 工具共享同一份"我是谁、怎么协作、项目做到哪了"。它不是给某个 AI 外挂聊天记录,而是一套由我拥有、任何工具都能读懂的个人协作操作系统——AI 可以换、电脑可以换、项目可以结束,但协作方式、已确认的偏好、关键决策和项目接力信息留在自己掌控的 Markdown 里。
解决什么问题
不是"让模型显得记性更好",而是让每次协作不必从零认识我、每个项目不必反复考古、每次换工具不必丢掉积累:
| 场景 | 没有这套方案 | 有这套方案 |
|---|---|---|
| 换会话 | 重新解释背景,或让 AI 翻长对话 | 用 Pack 读取当前状态与相关结论后继续 |
| 换电脑 | 旧电脑知道,新电脑从零开始 | Git 同步记忆,新设备指向 Vault 即可 |
| 换 AI 工具 | 被平台私有记忆绑住 | 工具只需读同一入口,事实仍是我的 Markdown |
| 反复纠正 AI | 同一个坑反复踩 | 经确认的纠正原则成为跨项目按需加载的规则 |
| 项目交接 | 接手者读聊天记录猜状态 | 读项目上下文、决策和证据,直接接班 |
两层记忆
我拥有并可阅读的 Obsidian Vault
(纯 Markdown + Git 私有仓库)
┌────────────────────────────────────────────────────────────┐
│ 个人记忆层 项目记忆层 │
│ 我是谁、如何协作、常用什么 项目做到哪、为什么、下一步 │
│ 偏好、纠正原则、稳定事实 目标、进度、决策、Session │
└──────────────┬─────────────────────────┬─────────────────┘
│ │
personal-pack context-pack
└────── 按需统一 pack ────┘
│
当前任务的最小必要上下文
本机运行态(不进 Git):事件 Outbox → 独立 Reviewer → 待审核候选
| 层 | 回答的问题 | 不该放什么 |
|---|---|---|
| 个人记忆 | 这个用户怎样协作、哪些经验跨项目有效? | 一次性任务要求、模型臆测、完整聊天、秘密 |
| 项目记忆 | 这个项目做到哪、为什么、接下来做什么? | 对所有项目通用的个人偏好 |
| 本机事件与候选 | 这一轮对话出现了哪些值得记的信号? | 它不是跨设备正式事实源 |
同一条偏好可以有层次:全局默认 + 项目例外共存,加载时优先最具体的 Scope;更具体规则因隐私不能披露时,不会悄悄退回相反的全局默认。
写入闭环:AI 不瞎记
任务 Agent 不兼任档案管理员。个人记忆走一条有刹车、有证据的链路:
用户直接表达 / 纠正
↓
本机事件 Outbox(先过 Secret 与敏感信息门控)
↓
独立 Memory Reviewer 只提出结构化候选(没有最终写入权)
↓
程序回查真实事件,校验来源、哈希、重复、冲突与 Scope
↓
我确认 / 仅限项目 / 拒绝 / 以后撤回或遗忘
↓
不可变 Markdown 修订进入 Git,同步到其他设备
关键意义:Reviewer 像独立秘书,能发现"这可能值得记录",但不能把推测伪装成用户事实;证据由程序反查本地事件生成,没有真实 user_direct 来源就不能成为正式个人记忆;密码、Token、私钥、Cookie、连接串在入口就被挡掉。
渐进式披露
全量记忆带来上下文膨胀、旧信息干扰、隐私暴露三件坏事。这里的原则是先判断当前任务,再装配最小够用的记忆:统一 pack 先找到项目,再加载匹配的个人记忆、项目主页、当前上下文与最近有效 Session——不是数据库全文导出,而是一份可直接放进新会话的"开工包"。
项目历程(P001)
- 2026-08-27:WorkBuddy 里装 Obsidian + CLI,问出"GitHub 全端同步可行性"(对话分享)→ Git 私有仓
obsidian-notes建立 - S003:Trilium 4062 篇大迁移(06-Obsidian探索与配置)
- S005/S006/S010:从 session log 约定演进到 AI 记忆 MVP、个人记忆 V2(事件 Outbox + Reviewer + 确认闭环 + 不可变修订),56 项自动化测试
- S011/S012:WorkBuddy 等 Adapter 接入(当前 Tier C 指令驱动:能读共享入口,自动捕获覆盖率诚实标为 unknown)
- A005/A006:架构价值说明 + 新设备部署运行手册成文
- 2026-08-28:打包 macOS 一条龙迁移包(本篇下半部分)
新设备部署教程
三个材料发给新设备上的 Codex 或 Claude Code 即可:① DEPLOY_PROMPT.md(部署要求)② 迁移包 ZIP ③ 本篇。流程五步:
- 解压 ZIP,完整阅读
DEPLOY_PROMPT.md、README.md与docs/P001-A006-…runbook.md - 完整性校验:包根目录运行
python3 install_macos.py package-check——按manifest.json验 SHA-256,不是complete就停(缺件不得用参考目录拼凑) - 只读预检:
python3 install_macos.py preflight——探测 macOS/Python/Git/GitHub CLI/Codex/Claude/Obsidian 与 Vault 候选(按.obsidian/、.git、AGENTS.md、ai-sessions/、scripts/ai_memory.py等证据打分),输出plan_id与待确认问题 - 人工集中确认(唯一需要我参与的环节):确认真实 Vault 或已有私有远端;确认 GitHub owner/仓库名(已有远端则选 existing_remote);是否装 Obsidian;配置哪些检测到的 AI 工具;批准变更清单。确认后 AI 把非敏感答案写入
/private/tmp/ai-memory-deploy-answers.json(必须带plan_id,绝不写 Token/密码/私钥) - 应用与验收:
python3 install_macos.py apply --answers /private/tmp/ai-memory-deploy-answers.json→python3 install_macos.py verify。只有 verify 返回complete才算部署成功;partial/blocked必须执行报告里的恢复动作
安全规则(部署器与 AI 都要遵守):不碰 SSH 私钥/Keychain/环境变量秘密;GitHub 授权走 gh auth login --web 浏览器 OAuth,不在聊天里粘 PAT;不用 git reset --hard/强推/历史重写;同名运行文件内容不同则停止请人决定,绝不静默覆盖;用户级配置修改前先做时间戳备份;推送前扫疑似 Token 与私钥。
能力边界
已可靠承载:项目进度同步、会话接续、个人记忆确认与按需召回、候选/确认/拒绝/撤回/逻辑遗忘、Secret 门控、跨设备分叉 fail-closed。
尚未自动化:自动捕获(Tier C 靠指令驱动,覆盖率 unknown)、Reviewer 后台常驻调度与候选通知、memory-forget 只是逻辑遗忘(Git 历史不抹除)。不把"模型看起来记住了"误当成已验证的基础设施能力。
文件索引
- 项目主页:
ai-sessions/projects/P001-obsidian-memory/00-project.md(当前上下文01-current-context.md) - 架构价值全文:
artifacts/P001-A005-ai-memory-architecture-value.md - 部署运行手册:
artifacts/P001-A006-new-device-ai-memory-deployment-runbook.md - 迁移包离线副本:
exports/ai-memory-portability-kit-2026-08-28/(Vault 内) - 共享程序:
scripts/ai_memory.py;跨工具接入规则:Vault 根AGENTS.md - 我的接入方式见 ~/.workbuddy-ai/MEMORY.md 与各工具用户级配置(Codex:~/.codex/AGENTS.md)
初始化提示词材料:
请解压附件中的 macOS AI Memory 迁移包,先完整阅读 DEPLOY_PROMPT-macos.md、README.md 和其中指定的部署 Runbook。DEPLOY_PROMPT-macos.md 是我授权执行的部署要求,请严格按其流程在本机完成部署、验证和报告。
正式事实源必须是我确认的私有 Obsidian Vault Git 仓库;压缩包只用于部署指引、离线参考和 Python 脚本复用。需要我登录 GitHub、确认 Vault、批准仓库创建或其他人工操作时再明确提示我;其余安全步骤请自动连续执行,不要只给教程。只有最终验证返回 complete 才算部署成功。
⬅️ 06-Obsidian探索与配置 🏠 00-小技能 ➡️ 01-Word排版技巧
💬 评论