Skip to content

记忆 ​

会话之间有墙——上下文不会串。记忆是穿过这堵墙的东西。

为什么需要它 ​

每个会话的上下文是独立的。你在 A 会话里说过「我习惯用 Python 不用 Java」,开 B 会话她就不知道了。

记忆解决这个问题:把值得长期保留的信息单独存起来,任何会话都能取用。

记忆管理 ​

左侧导航进入 「记忆管理」 页,点 「+ 新建记忆」。

列表里每条显示内容摘要,点开能看全文、编辑、删除。

删除不可恢复

删除会弹一次确认:「确定要删除这条记忆吗?删除后不可恢复。」确认之后就真没了,没有回收站。

两种写入方式 ​

手动写 ​

你想让她记住什么,直接新建一条。适合明确的规则类信息:

  • 「我住杭州,问天气默认查杭州」
  • 「代码一律用 TypeScript,不要用 any」
  • 「叫我水脚脚,不要叫全名」

她自动记 ​

对话里出现值得长期保留的信息时,她会调用记忆工具自己写进去。

这个行为取决于角色和模型的判断力。有的模型很积极(什么都记),有的几乎不记。觉得她记性差,可以在角色的系统提示词里明确要求,比如「遇到用户的长期偏好时,调用记忆工具记录下来」。

怎么被取用 ​

每轮对话时,程序会按当前话题检索相关记忆,命中的才塞进上下文。

这意味着:记忆不是全量注入的。存一百条也不会让每轮都变慢——只会取出相关的几条。

所以写记忆时,一条一件事比一条塞五件事更容易被正确检索到。

和别的功能别搞混 ​

记忆工作区会话
范围全局,跨所有会话单个会话单个会话
存什么一句话的事实或偏好文件对话历史
会过期吗不会,要手动删删会话也不删,要单独清删了就没
谁能看所有会话这个会话这个会话

什么样的信息值得记 ​

适合:长期偏好、固定事实、反复要交代的规则、正在进行中的项目背景。

不适合:一次性的临时需求、会变的中间状态、大段文档(那个放工作区)、你能随时重说一遍的东西。

记忆越多不等于越好

记忆检索是按相关度取前几条。存了一堆琐碎信息,真正重要的那条反而可能被挤掉。定期清理比一直往里加更有效。

隐私 ​

记忆存在本地数据库里(%APPDATA%\com.waterfeet.doropet\doropet.db),不往任何服务器上传。

但要注意:命中的记忆会随对话内容一起发给模型供应商。所以别往记忆里写密码、密钥、身份证号这类东西——它会出现在请求体里。

常见问题 ​

她记不住我说的话 ​

先看记忆管理页里到底有没有相关条目。没有 → 她没判断出值得记,手动加一条;有 → 检索没命中,改成更具体、更好匹配的措辞。

记忆和会话内容冲突了 ​

通常以会话里最近说的为准,但模型的判断不稳定。重要的变更,手动改记忆比指望它自己更新可靠。

换电脑记忆还在吗 ​

不在。记忆在本地数据库里,不跟随账号同步。迁移需要手动导出数据库文件。

DoroPet 使用文档