← 文档中心

记忆

使用

每次新开会话都要重新交代项目背景和编码风格,是使用 AI 编程工具最大的隐性成本。记忆系统就是为了消除这部分重复。

它解决什么

  • 不用每次重复说明”我们用 tabs 缩进""测试框架是 vitest”
  • 上次踩过的坑、定下的约定,下次直接生效
  • 跨会话保持一致的技术判断

工作方式

记忆的存取由 AI 自动完成,你不需要手动维护:

  • 存入 —— 会话中出现的稳定事实、你的偏好与纠正、项目约定会被写入记忆
  • 取出 —— AI 在需要时调用 recall_memory 工具,用自然语言描述想回忆的内容

例如你只说”按我们上次定的方式处理错误”,AI 会去检索相关的记忆条目。

检索方式

recall_memory 的检索是向量语义 + 全文关键词的融合

参数说明
query自然语言描述,如「上次是如何解决认证超时的」
top_k返回条数上限,默认 10
project_path可选,把检索范围限定到单个项目

这意味着即使用词和当初记录时完全不同,也能被语义匹配到;同时精确的技术术语又能靠全文检索命中。

记忆是有层次的

记忆按层组织,检索结果的每一条都会标注它所属的层。不同层对应不同的作用范围与生命周期——例如项目级的约定只在当前项目生效,而你的个人偏好会跨项目生效。

分层带来的直接好处是作用域隔离:A 项目的技术选型不会污染 B 项目。

权限与隐私

recall_memory 是只读查询,不触碰文件系统,因此没有权限门槛。

若你希望某个项目完全不参与记忆,可配合配置中的 DUODUO_DISABLE_PROJECT_CONFIG 等项目隔离手段,或直接使用本地模型,让所有数据留在本机。

记忆不可用时

记忆服务会在本地维护。若服务暂时不可达,recall_memory 会返回提示告知模型”记忆当前不可用,请基于当前会话上下文继续”——此时功能不受影响,只是不再有跨会话记忆。

相关