逸尘(@gengdaj)分享了一个巧妙方案:用外置的 Obsidian 来长期保存 Codex 重要记忆,这样 Codex 就不会忘记重要事项了。
问题背景
Codex 的记忆是 session-based 的。每次新对话或跨项目时,之前的上下文和记忆容易丢失。对于需要长期维护的项目知识、个人偏好、重要决策记录,这种「金鱼记忆」是个痛点。
解决方案:Obsidian 作为跨项目记忆库
Obsidian 作为本地 Markdown 知识库,具备以下优势:
- 双链结构:笔记之间可以互相链接,形成知识网络
- 本地存储:数据完全掌控在自己手中
- 跨平台:Vault 可以同步到任何设备
- Markdown 原生:Codex 可以直接读写
具体实现步骤
第一步:配置 Obsidian Vault
创建一个专门的 Obsidian Vault(或复用现有 Vault),用于存储 Codex 的长期记忆。
第二步:给 Codex 的超级提示词
请帮我把 Obsidian 配置成 Codex 的跨项目长期记忆库。
我的 Obsidian Vault 路径是:<你的 Obsidian Vault 路径>
请在这个 Vault 中创建以下结构:
📁 codex-memory/
├── 📁 projects/ # 项目特定记忆
│ ├── <project-name>.md
│ └── ...
├── 📁 preferences/ # 个人偏好和设置
│ ├── coding-style.md
│ ├── tech-stack.md
│ └── ...
├── 📁 decisions/ # 重要决策记录
│ ├── architecture/ # 架构决策
│ └── ...
├── 📁 lessons/ # 踩坑记录和经验
│ ├── bugs.md
│ └── ...
└── 📁 context/ # 跨项目通用上下文
├── current-focus.md
└── ...
规则:
1. 每次对话结束时,自动将重要信息写入对应文件
2. 使用 Markdown 格式,便于 Obsidian 渲染
3. 利用 [[双链语法]] 链接相关笔记
4. 定期整理和归档过时信息
5. 跨项目时先读取相关记忆文件加载上下文
第三步:自定义指令(Custom Instructions)
在 Codex 的自定义指令中添加:
记忆管理规则:
1. 对话开始时,检查 Obsidian Vault 中是否有相关项目记忆
2. 如有,先读取并加载上下文
3. 对话过程中,识别需要长期保存的信息:
- 重要决策及其理由
- 技术选型和架构方案
- 个人编码偏好和风格
- 踩过的坑和解决方案
- 项目特定约束和要求
4. 对话结束时,将新信息追加到对应记忆文件
5. 使用以下格式:
- 日期戳
- 信息摘要
- 详细内容
- 相关链接 [[note-name]]
6. 定期(每周/每月)整理记忆文件:
- 合并重复信息
- 更新过时内容
- 归档已完成项目的记忆
使用场景
场景 1:跨项目代码风格一致
- 在 preferences/coding-style.md 中记录个人编码偏好
- 新项目开始时,Codex 读取该文件,自动应用相同样式
场景 2:架构决策不遗忘
- 在 decisions/architecture/ 下记录每个重要决策
- 三个月后重构时,Codex 能回忆当初为什么这样设计
场景 3:踩坑记录复用
- 在 lessons/bugs.md 中记录解决过的棘手问题
- 遇到类似问题时,Codex 能快速参考历史方案
场景 4:多项目上下文切换
- 每个项目有独立的记忆文件
- 切换项目时,Codex 加载对应记忆,保持上下文连贯
优势对比
| 特性 | Codex 内置记忆 | Obsidian 外置记忆 |
|---|---|---|
| 持久性 | Session 级别 | 永久本地存储 |
| 容量 | 有限 | 理论上无限 |
| 结构化 | 线性对话 | 双链网络 |
| 可搜索 | 依赖对话历史 | Obsidian 全文搜索 |
| 可迁移 | 绑定 Codex | 任何支持 Markdown 的工具 |
| 可视化 | 无 | Obsidian 图谱视图 |
注意事项
- Vault 路径:确保 Codex 有权限访问该路径(本地运行时通常没问题,云端运行时可能需要特殊配置)
- 同步机制:如果使用 Obsidian Sync 或第三方同步,注意冲突解决
- 隐私敏感:Vault 中可能包含敏感信息,注意备份和加密
- 定期整理:记忆文件会不断增长,需要定期归档和清理
扩展思路
这个方案的核心是「外置记忆」概念,可以扩展到其他场景:
- Notion:适合团队协作,但依赖网络
- Logseq:类似 Obsidian,开源免费
- 纯 Git 仓库:版本控制 + Markdown,适合开发者
- 本地 SQLite:结构化查询,适合大量数据
关键不是工具选择,而是建立「AI 助手有外置长期记忆」的习惯。当 AI 知道「我可以把重要东西记下来,下次还能查到」,它的行为模式会从「一次性对话」变成「持续关系」。
逸尘把这个思路整理成了可直接复制使用的提示词,降低了尝试门槛。对于重度 Codex 用户,这可能是提升跨项目一致性的最低成本方案。