Skip to content

REST API 参考

Memory Service 运行一个 FastAPI 服务器,默认端口为 8230

接口列表

方法路径说明
GET/health健康检查
POST/memory/add添加记忆
POST/memory/search语义搜索
POST/memory/search_combined组合搜索(长期 + 近期短期记忆)
GET/memory/list列出记忆
GET/memory/{id}获取单条记忆
PUT/memory/update更新记忆
DELETE/memory/{id}删除记忆
GET/memory/history/{id}记忆变更历史

健康检查

bash
curl http://127.0.0.1:8230/health
json
{"status": "ok", "service": "mem0-memory-service"}

添加记忆

bash
# 长期记忆(文本)
curl -X POST http://127.0.0.1:8230/memory/add \
  -H 'Content-Type: application/json' \
  -d '{"user_id":"me","agent_id":"dev","text":"Important lesson..."}'

# 短期记忆(带 run_id)
curl -X POST http://127.0.0.1:8230/memory/add \
  -H 'Content-Type: application/json' \
  -d '{"user_id":"me","agent_id":"dev","run_id":"2026-03-23","text":"Today discussion..."}'

# 从对话消息添加
curl -X POST http://127.0.0.1:8230/memory/add \
  -H 'Content-Type: application/json' \
  -d '{"user_id":"me","agent_id":"dev","messages":[{"role":"user","content":"..."},{"role":"assistant","content":"..."}]}'

请求体:

字段类型必填说明
user_idstring用户标识
agent_idstring代理标识
run_idstring短期记忆的运行 ID(YYYY-MM-DD
textstring✅*要记忆的原始文本
messagesarray✅*对话消息 [{role, content}]
metadataobject额外元数据标签
inferboolean是否让 mem0 提炼事实(默认 true)。设为 false 则原文存储。
custom_extraction_promptstring自定义提炼提示词,覆盖默认 prompt(仅在 infer=true 时生效)。详见定向记忆抽取

* textmessages 二选一,必须提供其一。

定向记忆抽取

默认情况下,mem0 使用通用的事实提炼 prompt。通过 custom_extraction_prompt 可以指定特定维度进行抽取,无需修改全局配置。

bash
# 从 session block 抽取已完成工作任务
curl -X POST http://127.0.0.1:8230/memory/add \
  -H 'Content-Type: application/json' \
  -d '{
    "user_id": "boss",
    "agent_id": "dev",
    "run_id": "2026-04-11",
    "text": "<session block 内容>",
    "infer": true,
    "metadata": {"category": "task"},
    "custom_extraction_prompt": "从以下对话中列出agent实际完成的工作任务(最终成果),每行一条,格式:[类型] 描述。类型:开发/修复/文档/配置/分析/部署/其他。只写最终成果,不超过5条。"
  }'

使用场景:

场景推荐 custom_extraction_prompt
工作任务汇总"列出agent实际完成的工作任务(最终成果),格式:[类型] 描述..."
技术决策记录"提取重要技术决策及原因,格式:[决策] 原因..."
配置/环境发现"提取新增的服务配置、端口、路径等环境信息..."
默认(不传)mem0 使用通用提炼,适合混合内容

注意: custom_extraction_prompt 仅对当次调用生效,不影响全局 mem0 配置。

搜索

bash
curl -X POST http://127.0.0.1:8230/memory/search \
  -H 'Content-Type: application/json' \
  -d '{"query":"keywords","user_id":"me","agent_id":"dev","top_k":5}'

组合搜索

搜索长期记忆 + 最近 N 天的短期记忆,合并去重后返回。

bash
curl -X POST http://127.0.0.1:8230/memory/search_combined \
  -H 'Content-Type: application/json' \
  -d '{"query":"keywords","user_id":"me","agent_id":"dev","top_k":10,"recent_days":7}'

列出记忆

bash
# 列出用户的所有记忆
curl 'http://127.0.0.1:8230/memory/list?user_id=me&agent_id=dev'

# 列出指定日期的短期记忆
curl 'http://127.0.0.1:8230/memory/list?user_id=me&agent_id=dev&run_id=2026-03-23'

获取 / 更新 / 删除

bash
# 获取
curl http://127.0.0.1:8230/memory/<memory_id>

# 更新
curl -X PUT http://127.0.0.1:8230/memory/update \
  -H 'Content-Type: application/json' \
  -d '{"memory_id":"<id>","text":"Updated text"}'

# 删除
curl -X DELETE http://127.0.0.1:8230/memory/<memory_id>

记忆历史

bash
curl http://127.0.0.1:8230/memory/history/<memory_id>

Released under the MIT License.