用途:从 mem0 中删除指定记忆,支持按搜索查询或记忆 ID 定位,删除前必须确认,属于破坏性操作。也可用于撤销本会话最近写入的记忆。
用法:命令形式为 /mem0-forget <搜索查询> 或 /mem0-forget <memory_id>;未提供参数时会询问要忘记什么。
按记忆 ID 删除时,先调用 get_memory 验证存在并显示内容前 120 字符与创建日期;按查询删除时调用 search_memories,filters 为 {"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<project_id>"}]},top_k=10,列出编号结果。随后询问删除哪些(输入编号如 1,3,5、all 或 cancel),单条 ID 则询问 y/N,未确认绝不删除。确认后逐条调用 delete_memory,最后报告删除数量及失败原因。
撤销最近写入:用户说“undo last N memories”或“undo last write”时,检查 MEM0_SESSION_ID 环境变量;若已设置,调用 search_memories,query="recently added",filters 含 user_id、app_id 与 metadata.session_id,top_k=20,按创建时间倒序显示最近 N 条(默认 1)并请求确认后删除。若未设置或无结果,提示可使用 /mem0-tour 浏览或 /mem0-forget <查询> 查找。
输出限制:不要使用 markdown,OpenCode TUI 会原样渲染文本,加粗、## 标题和 | 表格 | 语法会显示为原始字符;请用纯文本与缩进、短横线列表和空格对齐列。
适用场景:移除过时决策、错误记忆、敏感数据等。限制:删除不可逆,必须确认;依赖 mem0 的记忆读写工具与有效的用户、应用标识;撤销功能依赖 MEM0_SESSION_ID。