Skip to content

[Feature] [Service][Adapters] 支持对接 mem0 记忆服务 #35

Description

🚀 背景描述

Agent 需要跨会话/长期记忆能力,当前 middleware 层已有 checkpointer(in_memory/redis)、session-store、object-storage、vector-store 占位,但未对接具体的记忆服务。mem0 作为主流记忆服务,需在 Adapters 层提供对接,让 Agent 在会话中可读写长期记忆。

设计思路

  • 在 adapters-common(或新增 memory 子模块)抽象记忆 SPI(MemoryStore:add/search/get/delete),与现有 middleware SPI 风格一致。
  • 提供 mem0 适配实现,基于 openjiuwen.service.middleware.memory.*(type=mem0,endpoint/api-key/超时/治理)配置,复用 ExternalCallExecutor 的超时/重试/熔断。
  • 与 Core 的会话/记忆扩展点接线,使 Runner 可在适当时机读写记忆。
  • 替代方案:直接用 vector-store 占位承载,但 mem0 有独立 API 语义,单独抽象更清晰。

涉及到的对外API

新增 openjiuwen.service.middleware.memory.* 配置与 MemoryStore SPI。

与其他模块的相关性描述

  • 复用 MiddlewareProperties、ExternalCallExecutor、CredentialDecryptor。
  • 与 checkpointer(短期状态)分工:mem0 承载长期记忆。

测试设计与测试计划

  • 功能:记忆写入/检索/删除 E2E(对接 mock/真实 mem0)。
  • 治理:超时/熔断/审计。
  • 集成:Agent 多轮会话中记忆生效。

其他信息

感谢您的贡献 🎉!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions