AI 记忆
AI 记忆是 Codux 比较有主张的一块。它不是写进你仓库的一堆手写 CLAUDE.md。Codux 把记忆存在本地 SQLite,把用户习惯与项目知识分开管理,并在启动 AI CLI 前生成应用私有的上下文文件。
会被记住什么
Section titled “会被记住什么”会话结束后,Codux 会从对话里挑出能让未来 AI 回合更聪明的内容,其它噪声会丢掉:
- 用户习惯 —— 编码风格、回复偏好、长期稳定的个人工作方式
- 项目概述 —— 项目用途、技术栈、模块、常用命令与源码信号
- 项目笔记 —— 决策、约定、事实、bug 教训与相关近期工作笔记
- 更新信号 —— 本次会话是否需要刷新项目概述,还是只合并笔记
重复或高度相似的记忆会合并;冲突内容按更新、更具体的事实替换。目标是持续进化的记忆库,不是对话归档。
| 层级 | 生命周期 | 装的是什么 |
|---|---|---|
| 用户记忆 | 跨项目 | 个人编码习惯、回复偏好、稳定工作方式 |
| 项目概述 | 按仓库 | 项目用途、技术栈、模块、常用命令与源码信号 |
| 项目笔记 | 持续演化 | 决策、约定、事实、bug 教训与相关近期笔记 |
项目概述在缺失时可以生成,之后会结合仓库信号与记忆抽取结果低频刷新。项目笔记会随着新会话不断合并、更正。记忆管理窗口会展示记录和 Token 估算,方便检查、删除或手动刷新项目概述。
Token 控制
Section titled “Token 控制”Codux 不会把整个记忆库都注入给 AI。启动时只渲染一小组上下文:
- 稳定的用户记忆
- 当前项目概述
- 按注入预算选择的相关项目笔记
- 仍然有用的近期工作笔记
- 搜索型记忆说明,让 AI 需要更多时再查询,而不是一开始塞满上下文
抽取提示会要求模型保持摘要简洁。注入按作用域做预算,所以记忆可以持续增长,但每次启动的上下文不会无限膨胀。
怎么再喂回 AI
Section titled “怎么再喂回 AI”启动工具时,Codux 会在应用数据目录下创建记忆工作区,并用 workspace/ 软链接指向真实项目目录。它会生成:
MEMORY.md:启动索引memory-user.md:跨项目用户记忆memory-project.md:项目概述与项目记忆memory-recent.md:相关近期工作笔记memory-search.md:搜索型记忆说明和当前注入限制- 支持 CLI 的工具入口文件,例如
CLAUDE.md、AGENTS.md、GEMINI.md
这些文件生成在 Codux 应用本地目录,不在你的仓库里 —— 所以:
- 队友不用被迫共用你的记忆
- 不用专门给
.gitignore加一行 - 换台机器就换一份记忆(数据在本地)
<Codux 应用数据目录>/├── memory.sqlite3 # 持久化存储(SQLite)└── runtime-support/ └── memory-workspaces/<project-id>/ ├── workspace -> /path/to/your/repo ├── MEMORY.md ├── memory-user.md ├── memory-project.md ├── memory-recent.md ├── memory-search.md └── <tool entry files> # 启动前按需生成你可以在 设置 → AI → 记忆 中控制自动注入、自动抽取、跨项目用户记忆召回与记忆限制。记忆管理窗口可检查和删除记录、手动刷新项目概述,并查看项目记忆的 Token 总量估算。
为什么这么设计
Section titled “为什么这么设计”手写启动文件第一周还挺爽,过两周就过期了,团队也忘了更新,最后又回到那个”AI 每次都失忆”的状态。从真实会话和仓库信号里抽取出来的记忆,能更诚实地反映你和这个项目当下到底在怎么写。
放在应用本地,错了也无所谓 —— 不会泄露到仓库,也不会强加给团队。