仓库 →

永久记忆

/remember 把零碎的偏好、约定、命令记下来,AtomCode 会在每一轮对话的系统提示里把它们带给模型。和 .atomcode.md 项目指令文件 互补:指令文件适合写整篇规范,记忆适合积累那些"突然想起来该告诉它"的零散事实。

命令总览

命令作用
/remember <内容>记一条到 项目级 记忆(默认作用域,绑定当前工作目录)
/remember --global <内容>记一条到 全局 记忆(所有项目共享)
/forget <关键词>删除全局 + 项目记忆中含该关键词的所有条目(大小写不敏感),输出会列出删了哪些条目
/memory查看当前生效的所有记忆,按 [Global] / [Project] 分组并显示磁盘路径

存储位置

作用域路径
全局~/.atomcode/memory.md(或 $ATOMCODE_HOME/memory.md)
项目<project_root>/.atomcode/memory.md

格式是普通 Markdown,每行一条 - 开头的列表项。可以用 /remember 也可以直接手编辑——AtomCode 在下一轮会重新读取。- 开头的行会被忽略,所以可以加注释、空行、标题分组,记忆条目本身不受影响。

模型怎么"用"这些记忆

每次发请求时,AtomCode 会把全局 + 项目记忆合并注入到系统提示里(crates/atomcode-core/src/agent/prompt.rs:64),格式如下:

=== MEMORY ===
The user has asked you to remember these facts and preferences:

[Global]
- 用户偏好简洁回答,避免冗长解释
- 中文回复,但 commit message 用英文

[Project: atomcode]
- 测试命令是 cargo test --workspace --no-fail-fast
- CI 失败时先看 .github/workflows/ci.yml 第 78-92 行

模型每个 turn 都能看到这块。没有"语义检索"或"按需召回"——是无条件全量注入,所以记忆条目越多,每个 turn 消耗的 token 越多。务必删除过时的条目,保持精简。

容量限制

限制数值触发后行为
单个记忆文件大小64 KB只读末尾 64KB(按行边界对齐,不会切坏 UTF-8 字符)
注入提示的总字符4000 字符截断并附 [...truncated, run /memory to review] 提示

到上限就用 /forget 清理,把最近不再相关的条目删掉。

使用建议

1. 项目特定的命令、约定、坑(项目级)

> /remember 用 npm run check 跑类型检查(不是 npm run typecheck)
> /remember CI 失败时先看 .github/workflows/ci.yml 第 78-92 行
> /remember 这个 repo 严禁用 sed -i 改文件(macOS/Linux 行为不一致)
> /remember 数据库迁移 SQL 必须先在 staging 跑过才能上 main

2. 全局编码偏好、工作流(全局)

> /remember --global 改完代码先跑测试再 commit
> /remember --global 不要主动 git push,让我手动确认
> /remember --global 中文回复,但 commit message 用英文
> /remember --global 优先编辑现有文件,不要擅自创建文档(*.md)

3. 个人或团队信息(全局)

> /remember --global 我的 GitHub 用户名是 alice
> /remember --global 默认时区 Asia/Shanghai
> /remember --global 团队 standup 是周一周三周五 9:30

4. 清理过时记忆

> /forget npm run check
  [project] - 用 npm run check 跑类型检查(不是 npm run typecheck)
  (removed 1 matching entry)

> /memory
  [Global] (/Users/alice/.atomcode/memory.md)
    - 改完代码先跑测试再 commit
    - 不要主动 git push,让我手动确认
  [Project] (/Users/alice/code/myrepo/.atomcode/memory.md)
    - CI 失败时先看 .github/workflows/ci.yml 第 78-92 行

记忆 vs 项目指令文件 vs 会话历史

AtomCode 提供了三种持久化"上下文"的方式,各自定位不同:

.atomcode.md记忆(memory.md)会话(/resume)
适合内容整篇规范、技术栈、详细约定零散事实、个人偏好、命令速查过去的对话和工具调用
作用范围项目项目 + 全局具体某次会话
添加方式手动编辑/remember 或手动编辑每次对话自动保存
注入机制启动时注入系统提示每轮注入系统提示/resume 时整段恢复
token 预算较大(整篇文档)受 4000 字符上限受上下文窗口限制

典型组合:

关于 .atomcode/memory.md 是否提交进 git:如果团队都用 AtomCode 且记忆是项目知识(如踩过的坑、约定),可以提交;如果是个人开发笔记,可以加进 .gitignore

下一步