v2026.8.1: 记忆
Memory 现在允许符合条件的个人 Claw 从该代理的其他私人对话中回忆相关上下文,包括重置之前即刻重要的内容,同时可见的工作流程让您可以搜索索引源、检查记忆的工作方式、导入受支持的历史记录,并移除可归属的派生记忆。回忆仍限于同一代理的私人对话,并遵守显式的隔离和访问策略。
内置 Memory 负责核心搜索和回忆路径,并支持从 QMD 进行 Doctor 迁移。LanceDB、Memory Wiki、外部 embedding 服务、MEMORY.md 和 USER.md 仍然具有各自独立的角色,忘记派生记忆不会删除原始对话或 OpenClaw 外部的副本。
升级到内置 Memory
Built-in Memory 现在负责核心搜索和回忆路径。如果您使用 QMD,请运行 openclaw doctor --fix 以移除已退役的 QMD 设置、沿用受支持的额外路径以及您显式启用的任何会话索引、保留代理数据库中已有的兼容行,并从规范的 Markdown 重建索引。
迁移会将受支持的数据带入不同的核心,因此仅限 QMD 的重排序、查询扩展和跨代理会话记录搜索将退役。格式错误的结构、不兼容的向量维度以及没有安全所有者的数据将停止运行以待修复。
来源和完整变更列表
改进
Bug 修复
- 从旧版 Memory Core 索引冲突中恢复网关启动 #108652
- 防止 Memory Core 迁移出现二次方复杂度问题 #109355
- 协调 QMD 写入器与 SQLite 租约 #109636
- 从同文件旧版索引冲突中恢复 Memory Core #110216
- 恢复对引入溯源之前的代理数据库的升级 #115144
- 防止格式错误的 Active Memory 时间戳阻止迁移 #103116
- 让 Memory Core 升级保留兼容的规范缓存行 #107243
- 让 Doctor 修复旧版记忆索引架构 #115154
- 从分歧的旧版日志中恢复 Memory Core 升级 #115855
- 保持记忆数据库与回滚兼容 #116003
- 在降级状态下的升级期间保持记忆诊断可用 #116074
- fix(memory): 从 QMD 升级时保留会话回忆 #130016
- 修复旧版记忆搜索设置而不丢失调优 #68685
- 防止过大的工作区文件导致 Doctor 修复崩溃 #101448
- 移除对空 sidecar 的误报旧版记忆警告 #114661
- fix(memory): 显示规范会话迁移恢复而不是提供程序错误 #119061
文档
- 记录从 QMD 记忆的自动迁移 #121911
查找和回忆过去的上下文
在符合条件的个人设置中,您的 Claw 默认可以从同一代理的其他私人对话中回忆相关上下文,包括您重置会话之前即刻重要的内容。回忆仍仅限于该代理的私人对话;群组、频道、共享别名、其他代理、已删除的历史记录和策略阻止的来源均被排除在外,并且显式的私信隔离设置仍然优先。
Built-in search 现在可以理解文件名、完整和部分的 Unicode 路径以及配置的额外路径,拓宽了原先过于单薄的精确匹配,并在可选的 embedding 提供程序无法启动时保留关键字结果的可用性。在记忆或会话内容重建期间,每次搜索都固定在一个稳定的已发布索引上,后续搜索只会在其替代索引发布后使用它,而不会在常规维护之后排队等待,也不会混合不同代次。搜索仍限于配置的根目录和代理边界内,而必需的 embedding 提供程序以失败关闭(fail closed)模式运行。
没有配置重置策略的会话现在可以跨多天保持打开状态,持久的重置或压缩标记说明了可见的历史变更。web、macOS、iOS 和 Android 上由 SQLite 支持的聊天可以回退到某条用户消息、分叉对话,并在保留的分支之间切换。回退会改变会话记录分支,但不会撤销文件、已发送消息或其他工具副作用。
来源和完整变更列表
改进
- 让个人代理跨私人对话进行记忆 #100140
- 添加按代理的 Memory Wiki 存储库隔离 #103349
- 按需启动配置的本地 embedding 服务 #104306
- 按文件名和路径查找记忆 #104449
- 保留中断回合的上下文并重新打开搜索命中历史 #105831
- 个人安装默认开启跨对话回忆 #110597
- 从任何用户消息回退或分叉聊天 #110660
- 从聊天中在保留的会话记录分支之间切换 #110857
- 向原生聊天气泡添加回退和分叉操作 #110886
- 默认保持会话连续 #111140
- 添加具有安全离线队列的原生会话分支切换 #112056
- 添加 Android 聊天回退、分叉和分支切换 #112284
- 改进对话记忆回忆 #121196
- 向额外记忆路径添加 glob 模式 #121209
- 默认启用多样化的内置 Memory 结果 #121224
- 在聊天历史中显示持久的重置和压缩边界 #122222
- 支持仅 embedding 的托管 llama.cpp 服务器 #125383
- fix(llama): 支持仅 embedding 的托管设置 #130883
- 为 webhook 钩子添加可选的持久会话 #75918
- 显示 llama.cpp 加速和运行时诊断 #104310
- 为 Active Memory 添加特定于回忆的快速模式 #108043
- 避免在过滤记忆回忆期间产生重复的 embedding #125735
- 跳过未更改的 QMD 会话导出重建 #77158
- 在启动前一次性准备 Active Memory 回忆上下文 061ccb1
Bug 修复
- 加固 embedding 批量输出与错误处理 [#103472](https://github.com/openclaw/openclaw/pull/103472)
- 按智能体隔离 LanceDB 记忆 [#103799](https://github.com/openclaw/openclaw/pull/103799)
- 使用 SQLite 会话恢复 Active Memory 召回 [#105255](https://github.com/openclaw/openclaw/pull/105255)
- 通过订阅认证的 Claude CLI 路由 Active Memory 召回 [#106840](https://github.com/openclaw/openclaw/pull/106840)
- 阻止沙箱化的子智能体跨智能体读取 Memory Wiki [#111463](https://github.com/openclaw/openclaw/pull/111463)
- fix(memory-core): 在脏同步期间保持记忆搜索可用 [#112214](https://github.com/openclaw/openclaw/pull/112214)
- 防止大范围记忆搜索冻结 Gateway [#113359](https://github.com/openclaw/openclaw/pull/113359)
- 防止记忆 embedding 提供商出现重叠 [#113471](https://github.com/openclaw/openclaw/pull/113471)
- 在回退或分叉聊天时恢复 prompt 图像 [#113945](https://github.com/openclaw/openclaw/pull/113945)
- 随着历史增长保持 Codex 转录镜像的响应性 [#115070](https://github.com/openclaw/openclaw/pull/115070)
- 当 embedding 无法启动时回退到关键字记忆搜索 [#115397](https://github.com/openclaw/openclaw/pull/115397)
- 每次运行仅复用一次 Active Memory 召回 [#115627](https://github.com/openclaw/openclaw/pull/115627)
- 从 SQLite 为 Active Memory 建立索引,同时保留可搜索的存档 [#117334](https://github.com/openclaw/openclaw/pull/117334)
- 恢复 Active Memory 中的 CJK 召回意图 [#117419](https://github.com/openclaw/openclaw/pull/117419)
- 当记忆搜索结果可能过期时发出警告 [#117706](https://github.com/openclaw/openclaw/pull/117706)
- 将 Ollama embedding 凭证保留在其所选主机上 [#118753](https://github.com/openclaw/openclaw/pull/118753)
- 隔离记忆回退提供商的凭证 [#118759](https://github.com/openclaw/openclaw/pull/118759)
- 按智能体隔离 LanceDB embedding 凭证 [#118767](https://github.com/openclaw/openclaw/pull/118767)
- 将私有根记忆排除在共享聊天之外 [#119198](https://github.com/openclaw/openclaw/pull/119198)
- 在会话重置后召回私有对话上下文 [#122051](https://github.com/openclaw/openclaw/pull/122051)
- 防止在重置和记忆搜索期间静默丢失上下文 [#125534](https://github.com/openclaw/openclaw/pull/125534)
- 限制 LanceDB 记忆 prompt 并重新加载 embedding 凭证 [#125567](https://github.com/openclaw/openclaw/pull/125567)
- fix(memory): 将 sqlite-vec KNN 与事件循环隔离 [#128078](https://github.com/openclaw/openclaw/pull/128078)
- fix: 在记忆刷新耗尽后保留对话 [#132010](https://github.com/openclaw/openclaw/pull/132010)
- 为 Codex prompt 钩子恢复对话历史 [#101752](https://github.com/openclaw/openclaw/pull/101752)
- 对 Gemini embedding 批量输出进行流式处理以减少内存使用 [#102974](https://github.com/openclaw/openclaw/pull/102974)
- 保持记忆批次失败统计的准确性 [#103117](https://github.com/openclaw/openclaw/pull/103117)
- 在 QMD 记忆片段限制处保留 Unicode [#103996](https://github.com/openclaw/openclaw/pull/103996)
- 在隔离的 cron 运行中保留记忆搜索设置 [#104196](https://github.com/openclaw/openclaw/pull/104196)
- 按运行时隔离本地 embedding 服务 [#104741](https://github.com/openclaw/openclaw/pull/104741)
- 在版本升级后保持 Gemini 记忆搜索可用 [#104759](https://github.com/openclaw/openclaw/pull/104759)
- fix(active-memory): 限制超时熔断器 [#105316](https://github.com/openclaw/openclaw/pull/105316)
- 使 LanceDB 记忆初始化跨进程安全 [#105896](https://github.com/openclaw/openclaw/pull/105896)
- 在较长的原生聊天历史中保留不同的运行 [#107965](https://github.com/openclaw/openclaw/pull/107965)
- 防止 Windows QMD 清理阻塞 Gateway [#109265](https://github.com/openclaw/openclaw/pull/109265)
- 按智能体隔离记忆 SecretRef 故障 [#109977](https://github.com/openclaw/openclaw/pull/109977)
- 将 Memory Wiki 的编译状态迁移到插件拥有的 SQLite 存储 [#110167](https://github.com/openclaw/openclaw/pull/110167)
- 拒绝格式错误的 embedding 批量 UTF-8 [#110502](https://github.com/openclaw/openclaw/pull/110502)
- 拒绝记忆主机 JSON 响应中格式错误的 UTF-8 [#111279](https://github.com/openclaw/openclaw/pull/111279)
- 将 Gemini embedding 批量等待保持在配置的超时时间内 [#111674](https://github.com/openclaw/openclaw/pull/111674)
- 将 OpenAI embedding 批量轮询保持在其超时时间内 [#111675](https://github.com/openclaw/openclaw/pull/111675)
- 防止 embedding 中断期间记忆自动召回反复停滞 [#112927](https://github.com/openclaw/openclaw/pull/112927)
- 当文档 ID 过期时保留 QMD 记忆命中结果 [#113515](https://github.com/openclaw/openclaw/pull/113515)
- 避免在空记忆搜索后进行全量索引重建 [#114183](https://github.com/openclaw/openclaw/pull/114183)
- 在取消时立即停止 Memory Core 重试 [#114300](https://github.com/openclaw/openclaw/pull/114300)
- 当命令输出包含噪声时保留 QMD 记忆命中结果 [#115023](https://github.com/openclaw/openclaw/pull/115023)
- 将记忆注解排除在召回和搜索文本之外 [#115719](https://github.com/openclaw/openclaw/pull/115719)
- 安全地调和过期的记忆全文索引 [#115775](https://github.com/openclaw/openclaw/pull/115775)
- fix(active-memory): 从召回摘要中排除助手闲聊 (#84034) [#115803](https://github.com/openclaw/openclaw/pull/115803)
- 在路径大小写变化时保留 Windows 记忆会话所有权 [#115851](https://github.com/openclaw/openclaw/pull/115851)
- 在 SQLite 故障后恢复排队的 Memory Core 同步工作 [#115923](https://github.com/openclaw/openclaw/pull/115923)
- 在第一个频道轮次之前预热 Active Memory [#115936](https://github.com/openclaw/openclaw/pull/115936)
- 拒绝格式错误和空的 embedding 向量 [#117200](https://github.com/openclaw/openclaw/pull/117200)
- 使定向记忆索引始终基于单个会话快照 [#117247](https://github.com/openclaw/openclaw/pull/117247)
- 保持 CLI 压缩对轮换的转录生效 [#117250](https://github.com/openclaw/openclaw/pull/117250)
- 遵循 LM Studio embedding 的 JIT 与规范模型标识 [#117320](https://github.com/openclaw/openclaw/pull/117320)
- 避免在重置边界后进行冗余压缩 [#117400](https://github.com/openclaw/openclaw/pull/117400)
- 在转录恢复后恢复记忆新鲜度 [#117548](https://github.com/openclaw/openclaw/pull/117548)
- 在升级期间保持 OpenAI 记忆 embedding 缓存稳定 [#117557](https://github.com/openclaw/openclaw/pull/117557)
- 接受 Memory Wiki 的命令本地智能体选择 [#117943](https://github.com/openclaw/openclaw/pull/117943)
- 在文件系统监视器错误后保持 QMD 运行 [#118171](https://github.com/openclaw/openclaw/pull/118171)
- 在 Memory Core 中遵循键控智能体名册 [#118310](https://github.com/openclaw/openclaw/pull/118310)
- 暴露 memory-wiki 后端的读取失败 [#118449](https://github.com/openclaw/openclaw/pull/118449)
- 将无关的会话转录排除在 Voice Call 快速上下文之外 [#118498](https://github.com/openclaw/openclaw/pull/118498)
- 在 CLI 搜索中遵循配置的记忆提供商 [#119186](https://github.com/openclaw/openclaw/pull/119186)
- 恢复委派上下文引擎压缩的会话身份 [#120047](https://github.com/openclaw/openclaw/pull/120047)
- 在记忆状态中报告持久化的向量索引状态 [#120048](https://github.com/openclaw/openclaw/pull/120048)
- fix(active-memory): 将召回错误排除在 prompt 上下文之外 [#120658](https://github.com/openclaw/openclaw/pull/120658)
- 将会话对账排除在记忆搜索路径之外 [#120837](https://github.com/openclaw/openclaw/pull/120837)
- fix(memory): 对记忆子目录中带日期的文件应用时间衰减 [#121103](https://github.com/openclaw/openclaw/pull/121103)
- 通过项目相关性保留记忆多样性 [#121608](https://github.com/openclaw/openclaw/pull/121608)
- 将多模态记忆索引限制在额外路径 [#121627](https://github.com/openclaw/openclaw/pull/121627)
- 在启动时安全地移除过期的 Memory Core 会话行 [#121665](https://github.com/openclaw/openclaw/pull/121665)
- 为计划轮次恢复配置的上下文引擎 [#122457](https://github.com/openclaw/openclaw/pull/122457)
- fix(memory-wiki): 将默认保管库保留在配置的状态目录中 [#122591](https://github.com/openclaw/openclaw/pull/122591)
- 在 Active Memory 同步期间保留转录更新 [#124024](https://github.com/openclaw/openclaw/pull/124024)
- 在已取消的搜索后保持本地记忆健康 [#124051](https://github.com/openclaw/openclaw/pull/124051)
- 在返回结果之前停止已取消的记忆搜索 [#124118](https://github.com/openclaw/openclaw/pull/124118)
- 在返回结果之前停止超时的 LanceDB 召回 [#124143](https://github.com/openclaw/openclaw/pull/124143)
- 在文件短读取后保留完整的启动记忆 [#124597](https://github.com/openclaw/openclaw/pull/124597)
- 在源扫描失败时保留记忆索引 [#125319](https://github.com/openclaw/openclaw/pull/125319)
- 当组合记忆搜索省略记忆语料库时发出警告 [#125500](https://github.com/openclaw/openclaw/pull/125500)
- 在上下文组装失败时保留对话历史 [#125714](https://github.com/openclaw/openclaw/pull/125714)
- 区分缺失的记忆文件和空读取 [#125979](https://github.com/openclaw/openclaw/pull/125979)
- Codex 转录镜像不受匹配的脱敏规则影响 [#126245](https://github.com/openclaw/openclaw/pull/126245)
- 在记忆工具中保留部分结果和语料库结果 [#126530](https://github.com/openclaw/openclaw/pull/126530)
- 在状态中检测离线记忆源漂移 [#126535](https://github.com/openclaw/openclaw/pull/126535)
- 保持记忆指导与配置的源一致 [#126552](https://github.com/openclaw/openclaw/pull/126552)
- 在事件循环停滞之后强制执行记忆 embedding 截止时间 [#126667](https://github.com/openclaw/openclaw/pull/126667)
- 限制 Memory Wiki 模型上下文 [#126779](https://github.com/openclaw/openclaw/pull/126779)
- fix: 防止过期的转录投影被发布 [#126947](https://github.com/openclaw/openclaw/pull/126947)
- fix(tui): 在重新连接到替换运行后恢复助手响应 [#128221](https://github.com/openclaw/openclaw/pull/128221)
- fix(embeddings): 拒绝来自兼容提供商的空向量 [#128480](https://github.com/openclaw/openclaw/pull/128480)
- fix(google): 支持稳定的 Gemini Embedding 2 请求契约 [#128716](https://github.com/openclaw/openclaw/pull/128716)
- fix(llama-cpp): 保留受管本地 embedding 的批量容量 [#128721](https://github.com/openclaw/openclaw/pull/128721)
- fix(tui): 防止外部会话重置清除活动聊天 [#128723](https://github.com/openclaw/openclaw/pull/128723)
- fix(google): 支持所有文档化的 Gemini embedding 维度 [#129038](https://github.com/openclaw/openclaw/pull/129038)
- 在建立 embedding 响应索引时保留文档顺序 [#129227](https://github.com/openclaw/openclaw/pull/129227)
- fix(tui): 防止过期的会话操作修改替换后的对话 [#129681](https://github.com/openclaw/openclaw/pull/129681)
- fix(memory): 当 embedding 提供商拒绝超大批次时恢复索引 [#129927](https://github.com/openclaw/openclaw/pull/129927)
- fix(android): 恢复仅附件消息的回退与分叉功能 #129951
- fix(tui): 在异步事件中保留运行与会话所有权 #130147
- fix(embeddings): 保留提供商端点查询参数 #130211
- fix(tui): 将替换会话与过期的异步结果隔离 #130227
- fix(memory): 停止误报的 Copilot 索引不匹配警告 #130603
- fix(memory): 在记忆文件夹替换后继续索引 #130698
- fix(google): 在嵌入批次中保留网关查询 #130768
- fix(memory): 遵循混合大小写的嵌入标头覆盖 #130774
- fix(doctor): 保留本地记忆诊断 #130984
- fix(memory): 使用内置默认值限制嵌入缓存 #131121
- fix(active-memory): 恢复交互式召回并保留已完成结果 #131302
- fix(memory): 忽略仅全文搜索索引的向量债务 #131469
- fix(tui): 在历史记录刷新后保留重置确认 #131557
- fix(llama): 在设置期间遵循已配置的嵌入模型 #132557
- fix(memory): 在直接智能体作用域中保留 wiki 语料库 #133234
- fix(memory): 仅报告失败的索引刷新 #133239
- fix(memory): 遵循已配置的主要搜索结果限制 #133254
- 当提供商拒绝维度时重试记忆嵌入 #69707
- 保留仅向量多模态记忆结果的相关性 #92196
- 恢复同一智能体对未映射实时转录的访问 #92261
- 保留有用的仅关键词记忆结果,同时不取代更强的匹配 #92524
- 允许缓慢的 QMD 记忆搜索使用其配置的超时时间 #95757
- 无需重启即可保持已重置和已删除会话的可搜索性 #96132
- 将自定义 Ollama 记忆索引保持绑定到正确的端点 #97059
- 在 Homebrew Node 升级后保持本地语义记忆正常工作 #99318
- 在允许的额外路径中正确处理缺失的文件 2d06d46
- fix(github-copilot): 为嵌入模型发现添加超时 (#102886) ff15856
- 在工作进程关闭期间拒绝排队的本地嵌入请求 #102451
- 保持截断的 QMD 错误为有效 Unicode #102547
- 保持 Active Memory 日志截断的 Unicode 安全 #102551
- 保持 Active Memory 搜索查询的 UTF-16 安全 #102621
- 保持 Active Memory 表情符号截断的 UTF-16 安全 #102877
- 在 Active Memory 配置中接受最大思考设置 #103614
- 为空白记忆搜索跳过提供商设置 #103728
- 保持 memory-host 脱敏令牌提示的 Unicode 安全 #103813
- 在 Memory Host JSON 响应中接受前导零长度 #105916
- 在分片的 QMD 输出中保留 Unicode 文本 #107263
- 将 memory 提供商 none 视为有意的仅全文搜索模式 #107778
- 在 10 秒后停止停滞的 Obsidian 辅助程序 #109232
- 在会话滚动期间保留思考与详细输出偏好 #109788
- 将 Voyage 嵌入批处理等待保持在其超时范围内 #111673
- 消除带密钥智能体的 Memory Wiki doctor 错误 #112541
- 恢复非默认智能体的全局会话搜索 #113919
- 完全禁用派生的记忆全文索引 #115685
- 拒绝格式错误的 QMD 记忆搜索结果 #115705
- 阻止记忆读取提供幻影续页 #115722
- 为空白记忆搜索干净地返回 #116034
- 在客户端断开连接后停止嵌入工作 #116146
- 为缺失的 QMD 索引建议重新索引 #116958
- 在提供商设置之前拒绝空的嵌入请求 #117615
- 将 Memory Wiki 搜索保持在受保护的召回可见性范围内 #118265
- fix(memory): 将 LIKE 回退关键词命中计分为 0 而非 1 #120603
- fix(memory): 达到自身截止时间的 memory_search 会报告嵌入提供商故障 #121073
- 拒绝无效的额外记忆路径并修剪测试门面 #121696
- 接受显式记忆文件的 Windows 大小写 #121976
- 为格式错误的查找输入返回清晰的 wiki_get 错误 #122549
- 报告清晰的记忆索引结果 #123863
- 如实报告已索引的 SQLite 会话 #124834
- 通过可执行的指引拒绝未知的记忆智能体选择 #126570
- fix(sessions): 排除已归档的轨迹产物 #126912
- fix(memory): 强制执行规范 SecretRef 解析 #127699
- fix(memory-wiki): 忽略查询文本中的结构标记 #128105
- fix(doctor): 为所有智能体抑制跳过的记忆警告 #128209
- fix(memory): 在会话追赶期间搜索会警告索引过期 #128894
- fix(lmstudio): 在 API 密钥轮换期间保留嵌入索引 #129076
- fix(openai): 在代理密钥轮换期间保留嵌入索引 #129177
- fix(openai): 在密钥轮换期间保留 Azure 嵌入索引 #129516
- fix(memory): 分区 Mistral 和 DeepInfra 嵌入缓存 #129669
- fix(ollama): 保留带命名空间的嵌入查询指令 #129706
- fix(memory): 为 corpus=all 抑制 wiki 未注册警告 (#129866) #130088
- fix(doctor): 对齐记忆提供商指引 #130756
- fix(memory): 当提供商 API 密钥使用 SecretRef 时索引失败 #131351
- 修复使用收窄输出列的有序 LanceDB 查询 #133120
- fix: 在记忆搜索被禁用时遵循嵌入维度 #133158
文档
- 解释重叠的记忆召回来源 #118299
导入记忆与对话历史
导入与从 QMD 到内置的升级是相互独立的过程。你可以通过 Control UI、首次运行设置或 Ask OpenClaw,将受支持的记忆从 Codex、Claude Code 或 Hermes 导入到代理工作区,同时保持源数据不变,不会卷入凭据、设置、技能或任意提供者文件。如果目标位置已包含冲突内容,则需要明确审查后才能进行替换。
旧对话遵循各自的预览优先路径。CLI 会在写入前展示将要暂存的内容,Control UI 报告有界批次处理的进度,该导入所拥有的材料可以回滚并重新应用。大型历史记录使用有界或索引处理,Memory Wiki 通过受支持的导入保留人工笔记,而没有完整所有权追踪的旧历史可能需要重新扫描。暂存的材料在 dreaming 或显式提升选择它之前,仍不会成为持久记忆。
来源与完整变更列表
改进
- 从 Control UI 导入 Codex 和 Claude Code 记忆 #106406
- 在引导过程中提供记忆导入 #108977
- 将保留的会话记录回填到记忆暂存区 #115162
- 在 Control UI 中从过去的会话回填记忆 #115266
- 从 Ask OpenClaw 导入本地代理记忆 #115376
- 降低 Memory Core 启动时的内存占用 #119372
Bug 修复
- 在导入的页面被裁剪时保留 Memory Wiki 笔记 #102294
- 限制大型 SQLite 会话历史读取 #108851
- 加固记忆迁移路径解析和文件复制 #109314
- 在数据源临时中断期间保留 Memory Wiki 页面 #111034
- 在 ChatGPT 导入回滚期间保留 Memory Wiki 编辑 #116517
- 在标记损坏时保留 Memory Wiki 笔记 #117104
- 保护 Memory Wiki 笔记和私有召回边界 #118375
- 保持 Gateway RPC 在启动后响应及时 #119710
- 防止大型聊天历史阻塞启动 #124994
- 保持大型 CLI 绑定的聊天历史响应及时 #126201
- fix(agents): 在重新打开会话前等待延迟的转录投影完成 #130930
- 防止 Memory Wiki 源摄取在并发写入期间丢失内容 #104209
- 加固记忆迁移计划选择和应用的可靠性 #109323
- 在 Control UI 合并前对 Claude CLI 历史进行脱敏 #115597
- 使记忆会话回填完整且可逆 #115926
- 保留 Memory Core 转录摄取检查点 #117293
- 防止重新加载后出现重复的 Claude CLI 回复 #125030
- fix(memory-wiki): 在编译 vault 之前持久化 ChatGPT 导入运行记录 #126487
- 停止轮询期间的重复 Memory Wiki 导入 #91828
- 使旧版会话回填回滚可重新应用 #116004
- fix(gateway): 聊天历史在 claude-cli 会话中显示注入的技能指令 #130269
- fix(gateway): 发送到 Claude CLI 会话的图片在聊天历史中显示为原始缓存路径链接 #130463
审查、创建和遗忘记忆
设置中现在有一个记忆目标,用于查看实时状态、Dreams、配置、索引源搜索与浏览、附加组件控制以及嵌入就绪状态,因此你可以查看 Claw 可用的内容,并打开安全的工作区记忆文件。Memory Wiki 概览和 Imported Insights 仪表板现在读取已发布的快照,而不是为每个请求重新解析整个 vault,从而保持大型视图的响应速度,并显示重建何时运行或是否需要手动编译。会话和旧版来源仍仅为片段形式,附加组件的更改仍为只读,除非连接具有管理员授权。
符合条件的观察结果可以合并到 MEMORY.md 中,持久指令可以存放在 USER.md 中,常驻意图可以等待合适的事件,项目记忆则保持在其所属项目的范围内。自动记忆保持有界且受来源门控,因此源自网络或受限会话的内容会保留不可信来源标记,并被排除在自动上下文之外,即使显式搜索仍然可以将其呈现出来。此来源保护适用于新跟踪的材料,而较早的未跟踪文件则保留其现有分类。
openclaw memory forget 允许你按会话、hook 来源或参与者预览清除操作,然后移除可归因的派生记忆,并阻止所选会话被回填、索引或 dreaming 重新拉回。中断的清除操作可以重试,新归因的整合内容或回填日记条目会随所选会话一起被移除。清除操作遵循已记录的溯源信息,因此原始转录、较早的无溯源笔记、其他代理的存储、直接或外部写入、导出和备份可能会保留。在应用之前,请先查看预览。
<details class="release-source-toggle">
<summary>来源与完整变更列表</summary>
**改进**
- 添加专用的 Memory 设置页面 [#114037](https://github.com/openclaw/openclaw/pull/114037)
- 添加基于溯源门控的记忆,并默认启用 dreaming [#114819](https://github.com/openclaw/openclaw/pull/114819)
- 为 Memory 提供实时概览、Dreams 和 Settings [#115383](https://github.com/openclaw/openclaw/pull/115383)
- 在 Settings 中添加记忆搜索和浏览 [#115419](https://github.com/openclaw/openclaw/pull/115419)
- 按项目隔离精选记忆 [#115438](https://github.com/openclaw/openclaw/pull/115438)
- 为 Memory 设置添加内联控件和就绪检查 [#115557](https://github.com/openclaw/openclaw/pull/115557)
- 在会话中保留最近的项目记忆范围 [#115731](https://github.com/openclaw/openclaw/pull/115731)
- feat(memory): 会话溯源、准入策略和 openclaw memory forget [#130151](https://github.com/openclaw/openclaw/pull/130151)
- 在 Gateway 中添加 operator 作用域的记忆搜索 [#115346](https://github.com/openclaw/openclaw/pull/115346)
- 将 Memory Palace 重命名为 Memory Wiki 并编写文档 [#115954](https://github.com/openclaw/openclaw/pull/115954)
- 对齐 Memory 页面并简化代理选择 [#115884](https://github.com/openclaw/openclaw/pull/115884)
**Bug 修复**
- 在自动提升失败时保护长期记忆 [#108397](https://github.com/openclaw/openclaw/pull/108397)
- 恢复每个代理的 Memory Core Dream 日记 [#115069](https://github.com/openclaw/openclaw/pull/115069)
- 将 dreaming 整合保持在项目边界内 [#115721](https://github.com/openclaw/openclaw/pull/115721)
- 隔离来自受网络污染的代理回合的记忆写入 [#115818](https://github.com/openclaw/openclaw/pull/115818)
- 在 MEMORY.md 压缩期间保留用户编写的标题 [#116057](https://github.com/openclaw/openclaw/pull/116057)
- 在 MEMORY.md 预算压缩期间保留用户笔记 [#116180](https://github.com/openclaw/openclaw/pull/116180)
- 将网络访问后的 provider 记忆写入标记为不受信任 [#118760](https://github.com/openclaw/openclaw/pull/118760)
- 防止合成交接进入受信任的 owner 记忆 [#118987](https://github.com/openclaw/openclaw/pull/118987)
- 纠正记忆保存和遗忘的错误提示 [#120989](https://github.com/openclaw/openclaw/pull/120989)
- 原子化发布 Memory Core dreaming 报告 [#122343](https://github.com/openclaw/openclaw/pull/122343)
- 在记忆被禁用后撤销保留的记忆工具 [#125393](https://github.com/openclaw/openclaw/pull/125393)
- 在自动记忆召回期间强制执行回合工具策略 [#126482](https://github.com/openclaw/openclaw/pull/126482)
- 在会话捕获和 dreaming 之间保留记忆信任 [#126489](https://github.com/openclaw/openclaw/pull/126489)
- fix(memory): 在自动上下文中遵循溯源 [#127469](https://github.com/openclaw/openclaw/pull/127469)
- fix(memory): 防止已遗忘的会话内容再次出现 [#130451](https://github.com/openclaw/openclaw/pull/130451)
- fix(memory): 已遗忘内容在重试和整合后依然保持遗忘 [#131179](https://github.com/openclaw/openclaw/pull/131179)
- fix(memory-wiki): 发布仪表板快照 [#132296](https://github.com/openclaw/openclaw/pull/132296)
- 在启动记忆和心跳 Prompt 中保持 emoji 完整 [#102483](https://github.com/openclaw/openclaw/pull/102483)
- 保持压缩和记忆片段 Unicode 安全 [#102542](https://github.com/openclaw/openclaw/pull/102542)
- 防止并发写入期间出现部分 Memory Wiki 失败 [#103408](https://github.com/openclaw/openclaw/pull/103408)
- fix(memory-core): dreaming 叙述子代理接收完整的通用 Prompt 而非最小 Prompt [#106404](https://github.com/openclaw/openclaw/pull/106404)
- 防止原始输出破坏 Tokenjuice 压缩 [#107705](https://github.com/openclaw/openclaw/pull/107705)
- 在自动提升期间保留链接的 MEMORY.md 文件 [#108921](https://github.com/openclaw/openclaw/pull/108921)
- 将心跳回复排除在新的 Dreaming 记忆之外 [#109403](https://github.com/openclaw/openclaw/pull/109403)
- 将无效的召回时间戳排除在 dreaming 排名之外 [#110537](https://github.com/openclaw/openclaw/pull/110537)
- 在保护性压缩期间保留 provider 路由 [#112416](https://github.com/openclaw/openclaw/pull/112416)
- 限制压缩规划 worker 的有效载荷 [#112593](https://github.com/openclaw/openclaw/pull/112593)
- 将记忆维护回合排除在聊天之外 [#112942](https://github.com/openclaw/openclaw/pull/112942)
- 将媒体展示标记排除在 LanceDB 记忆之外 [#113145](https://github.com/openclaw/openclaw/pull/113145)
- 纠正 Dreaming 切换确认 [#113960](https://github.com/openclaw/openclaw/pull/113960)
- 在修复期间移除悬空的 Memory Core 召回记录 [#114419](https://github.com/openclaw/openclaw/pull/114419)
- 在启动失败后恢复记忆 dreaming Cron [#115174](https://github.com/openclaw/openclaw/pull/115174)
- 为 Memory 设置提供稳定的基于路径的标签页 URL [#115515](https://github.com/openclaw/openclaw/pull/115515)
- 以校准后的默认值提升持久记忆 [#115715](https://github.com/openclaw/openclaw/pull/115715)
- 让 Memory 引擎切换清晰可靠 [#115750](https://github.com/openclaw/openclaw/pull/115750)
- 在转录运行时之间保留网络内容污染标记 [#115850](https://github.com/openclaw/openclaw/pull/115850)
- 稳定 memory-core dreaming 调度和清理 [#115925](https://github.com/openclaw/openclaw/pull/115925)
- 在复制安装后移除重复的 Memory Dreaming 任务 [#115986](https://github.com/openclaw/openclaw/pull/115986)
- 在会话记忆文件中遵循用户时区 [#116136](https://github.com/openclaw/openclaw/pull/116136)
- 防止记忆刷新结束父会话 [#116198](https://github.com/openclaw/openclaw/pull/116198)
- fix(memory-core): 从 REM 阶段提取中过滤垃圾主题 (#111923) [#117248](https://github.com/openclaw/openclaw/pull/117248)
- 防止 Git 查找停滞导致代理运行挂起 [#117346](https://github.com/openclaw/openclaw/pull/117346)
- 将 Dreams 数据保留在所选代理中 [#117538](https://github.com/openclaw/openclaw/pull/117538)
- 重启后清理中断的 Dreaming 会话 [#117885](https://github.com/openclaw/openclaw/pull/117885)
- 让有效的记忆诊断信息优先于格式错误的时间戳 [#118749](https://github.com/openclaw/openclaw/pull/118749)
- 防止记忆刷新的追加操作以 bridge 错误告终 [#120404](https://github.com/openclaw/openclaw/pull/120404)
- 在记忆刷新准备失败时保持回复继续运行 [#121157](https://github.com/openclaw/openclaw/pull/121157)
- 在写入失败时保留之前的 Memory Wiki lint 报告 [#122568](https://github.com/openclaw/openclaw/pull/122568)
- CLI 和 Gateway 代理回合现在会刷新记忆 [#124964](https://github.com/openclaw/openclaw/pull/124964)
- 保持会话记忆文件名生成不依赖工具 [#125394](https://github.com/openclaw/openclaw/pull/125394)
- 将 Dream Diary 数据保持在当前活动代理范围内 [#125936](https://github.com/openclaw/openclaw/pull/125936)
- fix(memory-core): 当就地回退写入中途失败时恢复 MEMORY.md [#126486](https://github.com/openclaw/openclaw/pull/126486)
- fix(memory-core): 从终端回复中读取 dreaming 叙述,而不是与会话存储竞争 (#123360) [#127184](https://github.com/openclaw/openclaw/pull/127184)
- fix(agents): 在模型请求前停止已取消的压缩 [#128215](https://github.com/openclaw/openclaw/pull/128215)
- fix(agents): 在上下文处理被取消后阻止模型请求 [#128607](https://github.com/openclaw/openclaw/pull/128607)
- fix(compaction): 共享模型感知的记忆维护预算 [#130072](https://github.com/openclaw/openclaw/pull/130072)
- fix(memory): 停止建议不可用的调度工具 [#130128](https://github.com/openclaw/openclaw/pull/130128)
- fix(memory): 在遗忘条目时保留换行符 [#130943](https://github.com/openclaw/openclaw/pull/130943)
- fix(memory): 已遗忘事实在整合历史中依然保持遗忘 [#131248](https://github.com/openclaw/openclaw/pull/131248)
- fix(memory): 在会话回填后遗忘日记声明 [#131626](https://github.com/openclaw/openclaw/pull/131626)
- fix(memory): 在重置之间保留会话摘录 [#132757](https://github.com/openclaw/openclaw/pull/132757)
- 在自动轮换时保存会话记忆 [#61675](https://github.com/openclaw/openclaw/pull/61675)
- 防止嵌套压缩锁定其自身的转录 [#88919](https://github.com/openclaw/openclaw/pull/88919)
- 在生成会话记忆 slug 时遵循已配置的模型 [#97007](https://github.com/openclaw/openclaw/pull/97007)
- 阻止会话记忆记录中出现伪造的角色行 [#98574](https://github.com/openclaw/openclaw/pull/98574)
- 在 Memory Core dreaming 片段中保留有效的 Unicode [#101946](https://github.com/openclaw/openclaw/pull/101946)
- 在 emoji 边界处保持 Talk 记忆片段有效 [#102477](https://github.com/openclaw/openclaw/pull/102477)
- 在 emoji 周围保持截断的记忆片段有效 [#102478](https://github.com/openclaw/openclaw/pull/102478)
- 在截断 dream-diary 上下文时保留 emoji [#102524](https://github.com/openclaw/openclaw/pull/102524)
- 保持 memory-wiki 终端截断 Unicode 安全 [#103178](https://github.com/openclaw/openclaw/pull/103178)
- 严格解析 Dreaming 整数设置 [#107619](https://github.com/openclaw/openclaw/pull/107619)
- 在 memory doctor 调用中拒绝无效的代理目标 [#115365](https://github.com/openclaw/openclaw/pull/115365)
- 在记忆提升期间保留完整的 Unicode 字符 [#115591](https://github.com/openclaw/openclaw/pull/115591)
- 在手动重置后保留描述性的会话记忆文件名 [#116094](https://github.com/openclaw/openclaw/pull/116094)
- 在滚动时保持 Dreams 日记导航可见 [#118054](https://github.com/openclaw/openclaw/pull/118054)
- 让记忆支持的 CLI 命令自然退出 [#118500](https://github.com/openclaw/openclaw/pull/118500)
- 为格式错误的 wiki_apply 输入返回验证错误 [#123050](https://github.com/openclaw/openclaw/pull/123050)
- 准确报告失败的 Memory Core 修复和跳过的提升 [#124770](https://github.com/openclaw/openclaw/pull/124770)
- 在不同标签页之间保持 Memory hub 标题稳定 [#125568](https://github.com/openclaw/openclaw/pull/125568)
- 停止对预期的非 owner 记忆工具门控发出警告 [#126679](https://github.com/openclaw/openclaw/pull/126679)
- test(agents): 将进程注册表清理绑定到其模块实例 [#129456](https://github.com/openclaw/openclaw/pull/129456)
- 在记忆提升审计输出中显示信号总数 [#87590](https://github.com/openclaw/openclaw/pull/87590)
文档
- docs(memory):添加记忆来源与删除概念页面 [#130278](https://github.com/openclaw/openclaw/pull/130278)
- 使主动性和记忆文档与已发布行为保持一致 [#112295](https://github.com/openclaw/openclaw/pull/112295)
- docs(memory):记录已发布的网络工具输出轮次污染传播 [#129837](https://github.com/openclaw/openclaw/pull/129837)
</details>
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw