Date: 2026-03-04
Preserve upstream openclaw-mem0 plugin semantics while swapping storage provider calls to foxmemory /v2.
scope=session->run_id=ctx.sessionKeyscope=long-term->user_id=<configured user id>scope=all-> query both scopes and merge/dedupe by memory id
- Add memories (infer lane):
POST /v2/memories- payload includes
messages,user_id/run_id, optional upstream-compatible options
- payload includes
- Search memories:
POST /v2/memories/search- payload includes
query, scope-resolved ids,top_k, optional controls
- payload includes
- List memories:
GET /v2/memories- query includes scope-resolved ids and pagination
- Get memory:
GET /v2/memories/:id - Delete memory:
DELETE /v2/memories/:id - Optional forget-by-query:
POST /v2/memories/forget
All /v2 endpoints should normalize to envelope shape:
- success:
{ ok: true, data, meta? } - failure:
{ ok: false, error: { code, message, details? } }
- No breaking changes to
/v1routes during v2 rollout. - No plugin cutover before side-by-side smoke validation + rollback command confirmation.