给 Claude Code(cc)和 Codex 建一套共用的「记忆 + 技能库」—— 一个 git 版本化的 Obsidian vault,两个 agent 启动时自动读、完成实质工作后自动写回。从此换 agent / 换会话 / 换机器,都不用重新解释你在做什么。
这是一个跨工具 agent skill(cc 和 codex 的 SKILL.md 格式相同,所以一份通吃)。它本身是一套方法论 + 可复用脚本,不含任何个人数据。
你可能同时在用 cc 和 codex,两边各有一套记忆,互不相通,每开新会话都要重讲上下文。这个技能教 agent(或你自己):把共享层抽出来放进一个 vault,两边都指向它;用 symlink 把细粒度记忆挂进库而不破坏各自的原生系统;并配上密钥防护和完成即固化的钩子。
git clone https://github.com/xnydl/shared-agent-memory ~/.claude/skills/shared-agent-memorygit clone https://github.com/xnydl/shared-agent-memory ~/.codex/skills/shared-agent-memory(两边都要的话 clone 一次再 symlink:ln -s ~/.claude/skills/shared-agent-memory ~/.codex/skills/shared-agent-memory。)
装好后,让 agent "用 shared-agent-memory 技能给我搭一套 cc+codex 共享记忆",它会跟着 SKILL.md 走。
bash ~/.claude/skills/shared-agent-memory/setup.sh ~/brain建 vault 骨架 + git + secrets/ + 装 pre-commit 密钥钩子。判断密集的步骤(迁移记忆、处理密钥、改启动文件、建远端)会打印成 NEXT STEPS,不会替你瞎动记忆目录。
| 文件 | 用途 |
|---|---|
SKILL.md |
完整方法论(发现现状 → 建 vault → 双向 wiring → 技能/记忆共享 → 密钥防护 → 完成即固化),含 gotcha + 验证清单 |
reference.md |
深层设计权衡(为什么 symlink 不 copy、为什么不合并两套原生记忆、钩子为什么这么保守……) |
setup.sh |
一键脚手架(安全机械部分) |
assets/pre-commit |
密钥扫描 pre-commit 钩子(扫到 sk-/token/私钥/连接串/密码就拦) |
assets/stop-memory-checkpoint.py |
cc Stop hook:有实质改动却没更新记忆库时提醒一次(fail-open、只拦一次) |
密钥可以留在本地 vault(Obsidian/agent 读得到),但绝不进 git。 gitignored 的 secrets/ 文件夹 + pre-commit 钩子双保险。即使你的 vault 是私有仓库也建议这么做(私有库照样会被 clone / 加协作者 / 误转公开)。
从一次真实的"给 cc + codex 搭共享大脑"经历提炼而成。配套复盘文章见作者的分享。