跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

自动记忆、固定内容与召回

管理后台保存、索引限额、Dream 保护和结构化元数据迁移。

自动记忆由 Qwen 从对话中提取,保存用户偏好、纠正反馈、代码之外的项目背景和外部引用。它是尽力而为的笔记,不会保存所有对话,也不能代替当前状态核验。

存储与索引

项目记忆位于 ~/.qwen/projects//memory/。同一 checkout 的分支共享;linked worktree 有自己的目录,与其聊天隔离一致。跨 checkout 的团队约定见团队记忆。

内容为可编辑 Markdown。MEMORY.md 是紧凑索引,生成正文与载入提示部分共同受 200 行、25000 UTF-16 code unit 上限约束,截断提示另外添加。换行先规范化;空间不足时优先完整的普通短条目(最多 150 code unit),放不下的整项跳过,不切断 Markdown 链接。

详细内容放被索引的主题文件,不要把全部笔记塞进 MEMORY.md。

保存与维护

{
  "memory": {
    "enableManagedAutoMemory": true,
    "enableManagedAutoDream": true
  }
}

两项默认开启,可在 /memory 分别控制。自动 Dream 在积累足够会话后,至多按每天一次的后台整理运行,清理重复和过时内容,主会话可继续。

/remember 显式保存,/forget 删除匹配条目,/dream 手工整理。/memory 的 Open auto-memory folder 可检查实际文件。

pinned 的准确边界

手工维护内容放受管根下的 pinned/,例如项目 memory/pinned/ 或 ~/.qwen/memories/pinned/,沿用普通记忆 frontmatter。有效文件下次重建索引时加入,仍受正常大小与文件数量限制。

只保护直接位于受管根的顶层 pinned/,名称匹配不区分大小写。memory/project/pinned 等更深目录不具备同等保护。

自动提取与 forked Dream worker 的 write/edit 工具有确定性边界,连指向 pinned 的 symlink 也检查;自动提取和用户 Dream 没有 shell,项目 Dream 的 shell 只读。

可见的 /dream 在主 agent 执行,仅收到跳过 pinned 的指令,尚无相同的逐轮工具门控。用户仍可直接改文件或明确 /forget 删除,不能把 pinned 理解为不可变备份。

结构化召回

memory.enableStructuredRecall 默认 false,启用需重启,也可 QWEN_CODE_MEMORY_STRUCTURED_RECALL=1 单次开启。它改用层级树、注入相关子树,并提供 search_memory 按需读取全文。

开启后后台为个人/项目笔记补 category、keywords、usage scenarios 等 frontmatter,每轮最多 10 个文件,只改元数据,不改正文。关闭时不调度迁移,也不产生该迁移的后台模型调用。

团队层迁移需显式 /memory migrate-team,不能将共享文件当作私人后台维护目标。