mem0 Memory 🧠 — 完整实现(增强版)
组件
| 组件 | 技术 | 作用 |
|---|
| LLM | MiniMax-M2.7 | 记忆生成与提取 |
| Embedder |
Ollama
nomic-embed-text | 本地语义向量化(完全离线) |
| 向量库 | Chroma | 本地向量存储 |
| Ollama | 开机自启 | 向量服务 |
文件路径: INLINECODE1
增强功能(参考 bilibili_code 课件)
chatwithmemories 对话模式
mem0_wrapper.py chat 命令实现了完整的记忆增强对话流程:
CODEBLOCK0
中文记忆提取
内置 FACT
RETRIEVALPROMPT,自动将用户对话提取为中文记忆条目。
多级记忆支持
--run 参数支持 Session 级别记忆,
--agent 支持 Agent 级别记忆。
完整 API(10 个命令)
CODEBLOCK1
多级记忆架构
CODEBLOCK2
当前实现:User Memory(main_user),SESSION-STATE.md 作为 Session 层补充。
WAL 触发扫描(每消息必做)
| 触发类型 | 示例 | 存储 |
|---|
| 偏好 | "我喜欢..." / "不要..." | mem0 add |
| 经历 |
"我去了..." / "我做过..." | mem0 add |
| 重要事实 | "我有..." / "我是..." | mem0 add |
| 纠正 | "不是Y,是X" / "其实..." | SESSION-STATE |
| 决定 | "就用X" / "去..." | SESSION-STATE + mem0 |
| 数字/日期 | 具体数字+单位、日期 | SESSION-STATE |
| URL/路径 | 链接、文件路径 | SESSION-STATE |
| 专有名词 | 名字、地点、公司、产品 | 判断后存储 |
优先级:SESSION-STATE > mem0
完整工作流
收到消息时
CODEBLOCK3
回复后
CODEBLOCK4
截断恢复(下次会话)
CODEBLOCK5
参考资料
- - ZejunCao/bilibilicode(Mem0框架解读):https://github.com/ZejunCao/bilibilicode
-
mcp_server.py — FastMCP + mem0 REST 服务架构参考
-
prompts_zh.py — 中文提示词模板(USER
MEMORYEXTRACTION_PROMPT 等)
-
demo.ipynb — chat
withmemories 完整流程
-
踩坑记录.md — OpenMemory 调试踩坑
注意事项
- - Ollama 必须后台运行(已设开机自启)
- 添加需要 LLM(慢),搜索只需 embedder(快)
- SESSION-STATE 优先于 mem0
- 危险操作(reset/deleteall)需要二次确认
- memoryid 是记忆的唯一标识,用于 update/delete/history
技能名称: mem0-memory
详细描述:
mem0 Memory 🧠 — 完整实现(增强版)
组件
| 组件 | 技术 | 作用 |
|---|
| LLM | MiniMax-M2.7 | 记忆生成与提取 |
| Embedder |
Ollama nomic-embed-text | 本地语义向量化(完全离线) |
| 向量库 | Chroma | 本地向量存储 |
| Ollama | 开机自启 | 向量服务 |
文件路径:D:\autoclaw\结果\mem0\
增强功能(参考 bilibili_code 课件)
chatwithmemories 对话模式
mem0_wrapper.py chat 命令实现了完整的记忆增强对话流程:
- 1. search 检索相关记忆
- 将记忆注入 system prompt
- 调用 MiniMax LLM 生成回复
中文记忆提取
内置 FACT
RETRIEVALPROMPT,自动将用户对话提取为中文记忆条目。
多级记忆支持
--run 参数支持 Session 级别记忆,--agent 支持 Agent 级别记忆。
完整 API(10 个命令)
bash
增删改查
python D:\autoclaw\结果\mem0\mem0
wrapper.py add id> <内容> # 添加记忆(自动提取)
python D:\autoclaw\结果\mem0\mem0wrapper.py search id> # 语义搜索
python D:\autoclaw\结果\mem0\mem0wrapper.py getall # 全部记忆
python D:\autoclaw\结果\mem0\mem0wrapper.py get id> # 单条记忆
python D:\autoclaw\结果\mem0\mem0wrapper.py update id> <新内容> # 更新记忆
python D:\autoclaw\结果\mem0\mem0wrapper.py delete id> # 删除记忆
python D:\autoclaw\结果\mem0\mem0wrapper.py history id> # 修改历史
记忆增强对话(新增)
python D:\autoclaw\结果\mem0\mem0wrapper.py chat id> <问题> # 检索+注入+LLM回答
重置
python D:\autoclaw\结果\mem0\mem0wrapper.py deleteall # 清空用户记忆
python D:\autoclaw\结果\mem0\mem0_wrapper.py reset # 清空全部记忆(慎用)
可选参数
--limit N # 限制返回数量(search/chat 默认5)
--run # 指定会话ID(session级别记忆)
--agent # 指定智能体ID(agent级别记忆)
多级记忆架构
mem0 存储层
├── User Memory(userid=mainuser) ← 跨会话长期记忆
├── Session Memory(run_id) ← 单会话临时记忆
└── Agent Memory(agent_id) ← 多智能体共享记忆
当前实现:User Memory(main_user),SESSION-STATE.md 作为 Session 层补充。
WAL 触发扫描(每消息必做)
| 触发类型 | 示例 | 存储 |
|---|
| 偏好 | 我喜欢... / 不要... | mem0 add |
| 经历 |
我去了... / 我做过... | mem0 add |
| 重要事实 | 我有... / 我是... | mem0 add |
| 纠正 | 不是Y,是X / 其实... | SESSION-STATE |
| 决定 | 就用X / 去... | SESSION-STATE + mem0 |
| 数字/日期 | 具体数字+单位、日期 | SESSION-STATE |
| URL/路径 | 链接、文件路径 | SESSION-STATE |
| 专有名词 | 名字、地点、公司、产品 | 判断后存储 |
优先级:SESSION-STATE > mem0
完整工作流
收到消息时
扫描类型
├─ [偏好/经历/事实] → mem0 add
├─ [纠正/决定/数字/URL] → SESSION-STATE.md
└─ [闲聊/无价值] → 不存
回复用户
回复后
上下文使用率 > 60%?
└─ 是 → WORKING-BUFFER.md 激活
截断恢复(下次会话)
- 1. mem0 get_all → 恢复长期语义记忆
- mem0 chat → 主动询问是否继续上次任务
- SESSION-STATE.md → 恢复当前任务状态
- WORKING-BUFFER.md → 恢复危险区对话
参考资料
- - ZejunCao/bilibilicode(Mem0框架解读):https://github.com/ZejunCao/bilibili
code
- mcp_server.py — FastMCP + mem0 REST 服务架构参考
- promptszh.py — 中文提示词模板(USERMEMORYEXTRACTIONPROMPT 等)
- demo.ipynb — chatwithmemories 完整流程
- 踩坑记录.md — OpenMemory 调试踩坑
注意事项
- - Ollama 必须后台运行(已设开机自启)
- 添加需要 LLM(慢),搜索只需 embedder(快)
- SESSION-STATE 优先于 mem0
- 危险操作(reset/deleteall)需要二次确认
- memory
id 是记忆的唯一标识,用于 update/delete/history