mem0-pin 用于固定或取消固定一条记忆,使其免于在 dream consolidation 的修剪阶段被移除。适用于需要长期保留的关键记忆,例如架构决策等。
固定流程分为四步。第一步查找记忆:用户提供记忆 ID 或搜索查询。若为 ID,调用 get_memory;若为查询,调用 search_memories,参数 filters={"AND": [{"user_id": "<id>"}, {"app_id": "<pid>"}]}, top_k=5,随后展示带编号的内容预览并询问要固定哪一条。第二步读取当前内容:调用 get_memory,保存 original_text 与 original_metadata。第三步执行固定:通过 update_memory 在文本前追加 "[PINNED] " 标记,如 pinned_text = "[PINNED] " + original_text(若尚未包含该标记则保持不变),再调用 update_memory(id=<selected_id>, text=pinned_text)。若固定的是尚未存储的新记忆,则调用 add_memory,text="[PINNED] <用户文本>",user_id=<active_user_id>,app_id=<active_project_id>,metadata={"pinned": true, "type": "decision", "confidence": 1.0},infer=False;响应包含 event_id,需调用 get_event_status(event_id=<event_id>) 一次以获取记忆 ID,然后确认。第四步确认,输出记忆内容前 80 字符及记忆 ID。
取消固定:调用 get_memory 读取当前内容,移除标记 unpinned_text = original_text.removeprefix("[PINNED] "),再调用 update_memory(memory_id=<id>, text=unpinned_text)。
输出格式要求:不要使用 markdown,OpenCode TUI 会逐字渲染文本,粗体、## 标题和 | 表格 | 语法会显示为原始字符。请使用纯文本与缩进组织内容,列表用短横线,用空格对齐列而非 markdown 表格。