主题
记忆
会话之间有墙——上下文不会串。记忆是穿过这堵墙的东西。
为什么需要它
每个会话的上下文是独立的。你在 A 会话里说过「我习惯用 Python 不用 Java」,开 B 会话她就不知道了。
记忆解决这个问题:把值得长期保留的信息单独存起来,任何会话都能取用。
记忆管理
左侧导航进入 「记忆管理」 页,点 「+ 新建记忆」。
列表里每条显示内容摘要,点开能看全文、编辑、删除。
删除不可恢复
删除会弹一次确认:「确定要删除这条记忆吗?删除后不可恢复。」确认之后就真没了,没有回收站。
两种写入方式
手动写
你想让她记住什么,直接新建一条。适合明确的规则类信息:
- 「我住杭州,问天气默认查杭州」
- 「代码一律用 TypeScript,不要用 any」
- 「叫我水脚脚,不要叫全名」
她自动记
对话里出现值得长期保留的信息时,她会调用记忆工具自己写进去。
这个行为取决于角色和模型的判断力。有的模型很积极(什么都记),有的几乎不记。觉得她记性差,可以在角色的系统提示词里明确要求,比如「遇到用户的长期偏好时,调用记忆工具记录下来」。
怎么被取用
每轮对话时,程序会按当前话题检索相关记忆,命中的才塞进上下文。
这意味着:记忆不是全量注入的。存一百条也不会让每轮都变慢——只会取出相关的几条。
所以写记忆时,一条一件事比一条塞五件事更容易被正确检索到。
和别的功能别搞混
| 记忆 | 工作区 | 会话 | |
|---|---|---|---|
| 范围 | 全局,跨所有会话 | 单个会话 | 单个会话 |
| 存什么 | 一句话的事实或偏好 | 文件 | 对话历史 |
| 会过期吗 | 不会,要手动删 | 删会话也不删,要单独清 | 删了就没 |
| 谁能看 | 所有会话 | 这个会话 | 这个会话 |
什么样的信息值得记
适合:长期偏好、固定事实、反复要交代的规则、正在进行中的项目背景。
不适合:一次性的临时需求、会变的中间状态、大段文档(那个放工作区)、你能随时重说一遍的东西。
记忆越多不等于越好
记忆检索是按相关度取前几条。存了一堆琐碎信息,真正重要的那条反而可能被挤掉。定期清理比一直往里加更有效。
隐私
记忆存在本地数据库里(%APPDATA%\com.waterfeet.doropet\doropet.db),不往任何服务器上传。
但要注意:命中的记忆会随对话内容一起发给模型供应商。所以别往记忆里写密码、密钥、身份证号这类东西——它会出现在请求体里。
常见问题
她记不住我说的话
先看记忆管理页里到底有没有相关条目。没有 → 她没判断出值得记,手动加一条;有 → 检索没命中,改成更具体、更好匹配的措辞。
记忆和会话内容冲突了
通常以会话里最近说的为准,但模型的判断不稳定。重要的变更,手动改记忆比指望它自己更新可靠。
换电脑记忆还在吗
不在。记忆在本地数据库里,不跟随账号同步。迁移需要手动导出数据库文件。