🚀 背景描述
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 多轮会话中记忆生效。
其他信息
感谢您的贡献 🎉!
🚀 背景描述
Agent 需要跨会话/长期记忆能力,当前 middleware 层已有 checkpointer(in_memory/redis)、session-store、object-storage、vector-store 占位,但未对接具体的记忆服务。mem0 作为主流记忆服务,需在 Adapters 层提供对接,让 Agent 在会话中可读写长期记忆。
设计思路
涉及到的对外API
新增 openjiuwen.service.middleware.memory.* 配置与 MemoryStore SPI。
与其他模块的相关性描述
测试设计与测试计划
其他信息
感谢您的贡献 🎉!