Skip to content

Boulea7/Codex-Auto-Memory

Repository files navigation

Codex Auto Memory

为 Codex 复现 Claude-style auto memory 工作流的 local-first companion CLI

简体中文 | English

CI License Node pnpm GitHub stars GitHub issues

codex-auto-memory 不是通用笔记软件,也不是云端记忆服务。 它的目标是:在今天的 Codex CLI 上,用本地 Markdown、紧凑 startup injection、按需 topic file 读取与 companion runtime,尽可能复现 Claude Code auto memory 的可观察产品契约。


三个要点,快速定位:

  1. 它做什么 — 每次 Codex 会话结束后,自动把有用的信息提取出来,写进本地 Markdown 文件,下次启动时注入给 Codex,让它"记得"你的项目。
  2. 它怎么存 — 全部是本地 Markdown 文件,放在 ~/.codex-auto-memory/,你随时可以查看、编辑、纳入 Git 审查。
  3. 它和 Claude 的关系 — 这是一个 companion CLI,目标是在 Codex 上复现 Claude Code auto memory 的工作方式。不是 Claude 官方产品,不涉及云端。

目录

为什么这个项目存在

Claude Code 已经公开了一套相对清晰的 auto memory 产品契约:

  • AI 会自动写 memory
  • memory 以本地 Markdown 保存
  • MEMORY.md 是启动入口
  • 启动时只读取前 200 行
  • 细节写入 topic files,按需读取
  • 同一仓库的不同 worktree 共享 project memory
  • /memory 用来审查和编辑 memory

而今天的 Codex CLI 已经有不少有价值的基础能力,但还没有公开同等完整的 memory product surface:

  • AGENTS.md
  • multi-agent workflows
  • 本地 persistent sessions / rollout logs
  • 本地 cam doctor / feature output 里可见的 memoriescodex_hooks signal

codex-auto-memory 的价值,就是在官方 native memory 还没有稳定公开之前,先提供一条干净、可审计、可迁移的 companion-first 路线。

这个项目适合谁

适合:

  • 想在 Codex 中获得更接近 Claude-style auto memory 工作流的用户
  • 希望 memory 完全本地、完全可编辑、可以直接放进 Git 审查语境里的团队
  • 需要在多个 worktree 之间共享 project memory,同时保留 worktree-local continuity 的工程流
  • 希望未来迁移到官方 native memory 时,不需要重建用户心智模型的维护者

不适合:

  • 想把它当通用知识库、笔记软件或云端同步服务的人
  • 期待现阶段直接替代 Claude /memory 全部交互能力的人
  • 需要账号级个性化记忆或跨设备云端记忆的人

核心能力

能力 说明
自动 memory 同步 会话结束后从 Codex rollout JSONL 中提取稳定、未来有用的信息并写回 Markdown memory
Markdown-first MEMORY.md 与 topic files 就是产品表面,而不是内部缓存
紧凑启动注入 启动时只注入紧凑的 MEMORY.md 索引和 topic refs,不做 eager topic loading
worktree-aware project memory 在同一 git 仓库的 worktree 间共享,project-local 仍保持隔离
session continuity 临时 working state 与 durable memory 分层存储、分层加载
reviewer surface cam memory / cam session / cam audit 为维护者和 reviewer 提供可核查的审查入口

能力对照

能力 Claude Code Codex today Codex Auto Memory
自动写 memory Built in 没有完整公开契约 通过 companion sync flow 提供
本地 Markdown memory Built in 没有完整公开契约 支持
MEMORY.md 启动入口 Built in 没有 支持
200 行启动预算 Built in 没有 支持
topic files 按需读取 Built in 没有 部分支持,启动时注入路径引用并按需读取
跨会话 continuity 社区方案较多 没有完整公开契约 作为独立 companion layer 支持
worktree 共享 project memory Built in 没有公开契约 支持
inspect / audit memory /memory 无等价命令 cam memory
native hooks / memory Built in Experimental / under development 当前只保留迁移 seam

cam memory 当前是 inspection / audit surface:它会暴露真正进入 startup payload 的 quoted index files、startup budget、按需 topic refs、edit paths,以及 --recent [count] 下的 recent durable sync audit。 这些 recent sync events 来自 ~/.codex-auto-memory/projects/<project-id>/audit/sync-log.jsonl,只覆盖 sync flow 的 applied / no-op / skipped 事件,不包含 manual cam remember / cam forget。 如果主 memory 文件已经写入,但 reviewer sidecar(audit / processed-state)没有完整落盘,cam memory 会尽力暴露一个 pending sync recovery marker,帮助 reviewer 识别 partial-success 状态;该 marker 只会在同一 rollout/session 后续成功补齐时清理,不会被不相关的成功 sync 顺手抹掉。 显式更新仍通过 cam remembercam forget 或直接编辑 Markdown 文件完成,而不是提供 /memory 风格的命令内编辑器。

快速开始

1. 克隆并安装

git clone https://github.com/Boulea7/Codex-Auto-Memory.git
cd Codex-Auto-Memory
pnpm install

2. 构建并链接全局命令

pnpm build
pnpm link --global

链接之后,cam 命令就可以在任意目录使用了。

3. 在你的项目里初始化

cd /你的项目目录
cam init

这会在项目根目录生成 codex-auto-memory.json(跟踪到 Git),并在本地创建 .codex-auto-memory.local.json(默认 gitignored)。

4. 通过 wrapper 启动 Codex(自动记忆开始工作)

cam run

每次会话结束,cam 会自动从 Codex 的 rollout 日志里提取信息并写入 memory 文件。

5. 查看 memory 状态

cam memory          # 查看当前 memory 文件和 startup budget
cam session status  # 查看 session continuity 状态
cam remember "Always use pnpm instead of npm"   # 手动记录偏好
cam forget "old debug note"                     # 删除过时记录
cam audit           # 检查仓库有没有意外的敏感内容

常用命令

命令 作用
cam run / cam exec / cam resume 编译 startup memory 并通过 wrapper 启动 Codex
cam sync 手动把最近 rollout 同步进 durable memory
cam memory 查看 startup 实际加载的 index files、按需 topic refs、startup budget、edit paths,以及 --recent [count] 下的 durable sync audit
cam remember / cam forget 显式新增或删除 memory
cam session save / load / status / clear 管理独立的 session continuity layer,并在需要时暴露 pending continuity recovery marker
cam audit 做仓库级隐私 / secret hygiene 审查
cam doctor 检查当前 companion wiring 与 native readiness posture

审计面地图

  • cam audit: 仓库级的 privacy / secret hygiene 审计。
  • cam memory --recent [count]: durable sync audit,查看 recent applied / no-op / skipped sync 事件,不混入 manual remember / forget
  • cam session save|load|status: continuity audit surface,查看最新 continuity diagnostics、latest rollout 与 latest audit drill-down;其中 load / status 的文本输出会额外显示 compact prior preview(排除 latest,并收敛连续重复项),三个命令的 --json 都会继续返回 raw recent audit entries;当 continuity Markdown 已写入但 audit 失败时,还会暴露 pending continuity recovery marker。

工作方式

设计原则

  • local-first and auditable
  • Markdown files are the product surface
  • companion-first today, native migration seam tomorrow
  • session continuitydurable memory 明确分离

运行流

flowchart TD
    A[启动 Codex 会话] --> B[编译 startup memory]
    B --> C[注入 quoted MEMORY.md 与 topic refs]
    C --> D[运行 Codex]
    D --> E[读取 rollout JSONL]
    E --> F[提取 durable memory 操作]
    E --> G[可选 continuity 总结]
    F --> H[更新 MEMORY.md 与 topic files]
    G --> I[更新 shared / local continuity]
Loading

为什么不是直接上 native memory

  • 官方公开文档尚未给出完整、稳定、等价于 Claude Code 的 native memory 契约;本地 cam doctor --json 也仍把 memories / codex_hooks 视为未进入 trusted primary path 的 signal
  • 本地观察与 source inspection 可以作为 migration signal,但不能直接升级成稳定产品契约
  • 因此项目默认仍然坚持 companion-first,直到官方文档、运行时稳定性和 CI 可验证性都足够强

存储布局

Durable memory:

~/.codex-auto-memory/
├── global/
│   └── MEMORY.md
└── projects/<project-id>/
    ├── project/
    │   ├── MEMORY.md
    │   └── commands.md
    └── locals/<worktree-id>/
        ├── MEMORY.md
        └── workflow.md

Session continuity:

~/.codex-auto-memory/projects/<project-id>/continuity/project/active.md
<project-root>/.codex-auto-memory/sessions/active.md

更完整的结构与边界说明,请看架构文档。

文档导航

入口

核心设计文档

维护与审查文档

当前状态

当前公开可依赖的项目状态:

  • durable memory companion path:可用
  • topic-aware startup lookup:可用
  • session continuity companion layer:可用
  • reviewer audit surfaces:可用
  • native memory / native hooks primary path:未启用,仍非 trusted implementation path

路线图

v0.1

  • companion CLI
  • Markdown memory store
  • 200-line startup compiler
  • worktree-aware project identity
  • 初始 reviewer / maintainer 文档体系

v0.2

  • 更稳的 contradiction handling
  • 更好的 cam memory / cam session 审查体验
  • continuity diagnostics 与 reviewer packet 继续打磨
  • 为未来 hook bridge 保留 seam

v0.3+

  • 在官方 native memory / hooks 足够稳定后提供 native adapter
  • 可选 GUI / TUI browser
  • 更强的跨会话 diagnostics 与 confidence surfaces

贡献与许可

如果你在 README、官方文档和本地运行时观察之间发现冲突,请优先相信:

  1. 官方产品文档
  2. 可复现的本地行为
  3. 对不确定性的明确说明

而不是更自信但证据不足的表述。

About

一个为 Codex 设计的自动记忆插件,用于沉淀项目上下文、用户偏好、关键决策与长期 规则,让 Codex 在跨会话协作中保持连续性。

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors