提交前查重 / Duplicate check
涉及区域 / Affected area
运行时记忆 / Runtime Memory
Issue 类型 / Issue type
增强或优化 / Enhancement or optimization
摘要 / Summary
后台 Agent 的写入权限过于宽泛,且没有区分"用户主动创建的内容"和"Agent 自动生成的内容"。用户主动写入的数据不应被静默删除或覆盖。
预期结果 / Expected outcome
用户主动写入的数据(档案或沉淀记忆的摘要)不应被静默删除或覆盖。
详情或复现步骤 / Details or reproduction steps
1 当我用沉淀记忆分别写入3条记忆后,因为后台AI判断第1条和第3条相似,而擅自删除了第1条,且无任何通知。
2 当我将代码修改的详细记录写入档案后,过了一段时间去看,却发现档案被AI整个简化,我的源代码已整个消失,根本没有记录的意义了。
环境信息 / Environment
N/A
补充信息 / Additional context
这是我让AI帮我总结的,作者你要是能修还是修一下吧,对实际使用真的影响很大。
Issue 1:沉淀记忆(remember)的 Agent 会静默删除已有记忆
文件位置: src/subagent.ts
根因:
WRITE_TOOLS(第35-43行)中包含了 mnemon_forget 工具
WRITE_PERSONA(第637行)要求 Agent "check for duplicates or conflicts",但没有禁止删除已有条目
当 Agent 判断新候选与某条已有记忆语义相似时,可能调用 mnemon_forget 删除旧条目,再写入新条目
最终回执只显示 mnemon_remember 的结果(action: "stored"),forget 操作对用户完全不可见
实际影响: 用户三次沉淀记忆,第二条被确认成功写入。第三次沉淀后,Agent 判定第一条和第三条重复,删除了第一条。用户事后检查才发现条目丢失,没有任何通知。
建议修复:
从 WRITE_TOOLS 中去掉 'mnemon_forget',或者
在 WRITE_PERSONA 中明确约束:"Never delete, forget, or remove existing entries. If you detect a duplicate, skip the new candidate instead."
Issue 2:后台审查 Agent(review)会覆盖用户主动创建的档案文档
文件位置: src/subagent.ts 第664-670行(REVIEW_PERSONA)
根因:
REVIEW_PERSONA 第668行:"use mnemon_document_search to find an existing active document, then create or update at most one concise managed Markdown document with mnemon_document_manage"
Agent 有权 update 已有文档,且倾向于生成"简明"版本
用户主动写入的详细档案(如插件修改代码记录)可能被后台 Agent 自动覆盖为摘要,原文丢失
实际影响: 用户详细记录了插件的代码修改内容,被后台审查 Agent 改写为简明摘要,原始内容无法恢复,没有任何通知。
建议修复:
限制 update 仅适用于 Agent 自己创建的文档,或
在 REVIEW_PERSONA 中明确 "Never update existing documents. Only create new ones.",或
增加用户确认机制
总结: 两个问题的共同模式是——后台 Agent 的写入权限过于宽泛,且没有区分"用户主动创建的内容"和"Agent 自动生成的内容"。用户主动写入的数据不应被静默删除或覆盖。
提交前查重 / Duplicate check
涉及区域 / Affected area
运行时记忆 / Runtime Memory
Issue 类型 / Issue type
增强或优化 / Enhancement or optimization
摘要 / Summary
后台 Agent 的写入权限过于宽泛,且没有区分"用户主动创建的内容"和"Agent 自动生成的内容"。用户主动写入的数据不应被静默删除或覆盖。
预期结果 / Expected outcome
用户主动写入的数据(档案或沉淀记忆的摘要)不应被静默删除或覆盖。
详情或复现步骤 / Details or reproduction steps
1 当我用沉淀记忆分别写入3条记忆后,因为后台AI判断第1条和第3条相似,而擅自删除了第1条,且无任何通知。
2 当我将代码修改的详细记录写入档案后,过了一段时间去看,却发现档案被AI整个简化,我的源代码已整个消失,根本没有记录的意义了。
环境信息 / Environment
N/A
补充信息 / Additional context
这是我让AI帮我总结的,作者你要是能修还是修一下吧,对实际使用真的影响很大。
Issue 1:沉淀记忆(remember)的 Agent 会静默删除已有记忆
文件位置: src/subagent.ts
根因:
WRITE_TOOLS(第35-43行)中包含了 mnemon_forget 工具
WRITE_PERSONA(第637行)要求 Agent "check for duplicates or conflicts",但没有禁止删除已有条目
当 Agent 判断新候选与某条已有记忆语义相似时,可能调用 mnemon_forget 删除旧条目,再写入新条目
最终回执只显示 mnemon_remember 的结果(action: "stored"),forget 操作对用户完全不可见
实际影响: 用户三次沉淀记忆,第二条被确认成功写入。第三次沉淀后,Agent 判定第一条和第三条重复,删除了第一条。用户事后检查才发现条目丢失,没有任何通知。
建议修复:
从 WRITE_TOOLS 中去掉 'mnemon_forget',或者
在 WRITE_PERSONA 中明确约束:"Never delete, forget, or remove existing entries. If you detect a duplicate, skip the new candidate instead."
Issue 2:后台审查 Agent(review)会覆盖用户主动创建的档案文档
文件位置: src/subagent.ts 第664-670行(REVIEW_PERSONA)
根因:
REVIEW_PERSONA 第668行:"use mnemon_document_search to find an existing active document, then create or update at most one concise managed Markdown document with mnemon_document_manage"
Agent 有权 update 已有文档,且倾向于生成"简明"版本
用户主动写入的详细档案(如插件修改代码记录)可能被后台 Agent 自动覆盖为摘要,原文丢失
实际影响: 用户详细记录了插件的代码修改内容,被后台审查 Agent 改写为简明摘要,原始内容无法恢复,没有任何通知。
建议修复:
限制 update 仅适用于 Agent 自己创建的文档,或
在 REVIEW_PERSONA 中明确 "Never update existing documents. Only create new ones.",或
增加用户确认机制
总结: 两个问题的共同模式是——后台 Agent 的写入权限过于宽泛,且没有区分"用户主动创建的内容"和"Agent 自动生成的内容"。用户主动写入的数据不应被静默删除或覆盖。