用途:将当前项目的所有 Mem0 记忆导出到一个可移植的 Markdown 文件,适用于备份记忆、迁移到另一个项目或分享记忆。
主要能力:先解析当前身份(用户与项目),再分页拉取该项目下的全部记忆,最后以 YAML frontmatter 块的形式写入单个 Markdown 文件并打印导出摘要。
使用方式:
- 解析身份:user_id 依次取环境变量 MEM0_USER_ID、$USER、"default";project_id(作为 app_id)取环境变量 MEM0_PROJECT_ID,或通过项目解析器获得。
- 拉取记忆:调用 get_memories,filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]},page_size=200;若结果分页(含 next 游标或数量等于 page_size),继续翻页直至取完。
- 格式化:每条记忆生成一个 --- 包裹的 YAML 块,字段含 id、created_at、type、confidence、branch、files(逗号分隔)、categories(逗号分隔),随后为记忆内容;分隔符独占一行,缺失字段写空字符串而非 "null",块之间留空行。
- 写文件:文件名为 mem0-export-<project_id>-<YYYY-MM-DD>.md(日期为 UTC 当天),写入当前工作目录。
- 打印摘要:Exported <N> memories to <filename>。
错误处理:若 get_memories 报错或返回零条记忆,打印 No memories found for project <project_id>. Nothing exported.;若写入失败则向用户报告错误。
限制:资料未提供关于认证方式、权限、并发或文件大小上限的说明;分页行为依赖返回结果的游标或计数判断。