Skip to content

记忆:档案、画像与回忆 ​

ThoughtDAG 的记忆是一组你能读的文档,不是一个只能相信的存储。你在本机上和 Pi、Codex、Claude Code、DeepSeek Harness 聊过的一切进同一份索引;判断模型给每轮对话打上主题;每个主题一份档案,从这些对话里写出并持续更新;提问时,和问题有关的档案随问题一起带进去。

入口在右上角「⋯」菜单 → 记忆。这一页有四段。

设置 ​

  • 提问时回忆过去的对话。 发送前,ThoughtDAG 找出和问题有关的档案与对话,带进上下文。节点上的开关(发送键旁的时钟图标)可以单次关掉。
  • 从对话里更新记忆。 回答后判断有没有值得记的,写进「你」或对应项目的档案。每次写入留一行变更记录,并弹出可撤销的提示。
  • 判断模型与带入量。 都在「配置模型 API」对话框里,见接入判断模型。

你 ​

两份文档。偏好是你喜欢的做法:语言、风格、格式、工具。身份是你是谁:角色、领域、长期议程。模型记到新东西时,改写它所细化或推翻的那一行(以最新为准),不追加;文档保留变更记录。两份都能手动编辑。它们随每次普通生成以 [Memory] 块进入上下文。

0.5 之前版本的记忆条目在第一次打开时并进这两份文档:偏好和身份按类别并入,项目类事实进下面的「待归档」。原列表保留在应用本地。

项目 ​

每个主题一行。主题是一个短名字加一句「什么算、什么不算」;编辑主题… 打开主题表,可以让模型从你过去的提问里提议,并启动打标:判断模型对索引里的每一轮、每个主题各答一次是否。打标在后台跑,每次六百轮,显示进度和错误。

点开一行是它的档案:

段内容
是什么两到四句
定过的决定做过的选择,新的在后;被推翻的决定保留一行说明被什么取代
现在到哪一步最新状态,以最新一轮为准
还没解决悬而未决的问题

每句带来源标签,点标签回到那一轮对话。生成档案让模型读这个主题最新的一百轮写出来。主题有了新对话后,行上显示「N 轮新内容」,更新档案只读这些新内容;记忆判官归到这个主题的事实同时并入,攒到六条会自动并入。从对话重建推倒重来。每段都能手动编辑,变更记录会记下改了什么。

判不出主题的项目类事实在列表下方的待归档里等着:归到某个主题,或者丢弃。

来源 ​

本机对话索引(有多少轮),以及其他 Agent 在本机为自己保存的记忆文件,只读。这些文件也进索引,搜索和回忆都能找到。

搜索 ​

顶部的搜索框一次查档案、对话和其他 Agent 的记忆文件。词里点到的主题先给它的档案;命中按会话归组,一个会话一行卡片说这个会话讲了什么,展开才看各轮。每一轮都可以在镜像里打开,或引用到画布上,成为连进选中节点的一条笔记。

节点上的回忆 ​

开着「回忆」,一次提问在发送前做这几步:

  1. 判断问题涉及哪些主题(判断模型,或问题里点到的主题名)。
  2. 把这些主题的档案整份带进去,最多两份。
  3. 判断问题是不是在查具体细节。是,或者没有档案可用,才按问题里的词查索引,按相关度给候选排序,在带入量之内带入最好的几条。

面板的回忆区一句话说带了什么,每条一张卡片并标价,任何一条都能划掉;原文点开才看。怎么选的折叠着数字:主题、细节判断、候选数、没带入的(一键补入)、用了多少。再带几条加下一批候选。

下面的相关对话按需找和这个节点相关的过去对话:节点自己的词做成 chips,判断模型选的主题,一个按钮让模型扩展查询,结果是带看、引用的卡片。

带入量 ​

回忆在一个输入 token 上限之内工作:省 4k(一份档案加五到八条对话),标准 12k,多带 40k(判断模型认为相关的全部)。上下文窗口小的模型另按窗口的四成封顶。这个选择在面板「怎么选的」折叠里和「配置模型 API」对话框里。

数据在哪 ​

索引、主题标签、档案是 ~/.thoughtdag 下的文件,桌面版和 DeepSeek Harness 插件共用。画像文档存在应用本地。判断时只把问题和候选片段发给你选的接入;判断模型关掉后什么都不发,每个判断退回规则。

命令行里,thoughtdag topics 打印主题表和索引里多少轮打了标签;thoughtdag topics --of <id> 列出某个主题的对话。

ThoughtDAG 以 MIT License 开源。