跳转到内容

共享内存

团队可以共享一个带命名空间的键值存储,让后面的智能体看到前面智能体的发现。用一个布尔值启用默认的进程内存储:

const team = orchestrator.createTeam('research-team', {
name: 'research-team',
agents: [researcher, writer],
sharedMemory: true,
})

想要持久存储又不想写任何存储代码,就传入内置的 FileStore——一个零依赖、基于文件系统、带原子写入的 MemoryStore(见 检查点与恢复)。对于跨进程或基础设施后端(Redis、Postgres、Engram 等),自行实现 MemoryStore 接口并通过 sharedMemoryStore 传入。键在抵达存储之前仍会被命名空间化为 <agentName>/<key>

import type { MemoryStore } from '@open-multi-agent/core'
class RedisStore implements MemoryStore { /* get/set/list/delete/clear */ }
const team = orchestrator.createTeam('durable-team', {
name: 'durable-team',
agents: [researcher, writer],
sharedMemoryStore: new RedisStore(),
})

两者都提供时,sharedMemoryStore 胜出。仅限 SDK:CLI 无法传入运行时对象。

共享内存的写入会逐字持久化智能体的输出。别处的脱敏(追踪 span、仪表盘)止步于遥测层,不会触及存储——所以如果某个智能体可能把密钥泄漏到它的回答中、而你的存储又是持久的,那这个密钥就会落到磁盘上。用 RedactingStore 把存储包装起来:它是一个 MemoryStore 装饰器,会在每次写入必经的那一个咽喉点上,于写入时把值中的凭据(外加你自行添加的任意自定义模式)擦除:

import { RedactingStore, FileStore } from '@open-multi-agent/core'
const team = orchestrator.createTeam('durable-team', {
name: 'durable-team',
agents: [researcher, writer],
sharedMemoryStore: new RedactingStore(new FileStore('./.oma/memory.json'), {
// Optional: extra value patterns (e.g. PII) on top of built-in credential redaction.
patterns: [/\b\d{3}-\d{2}-\d{4}\b/],
}),
})

由于检查点默认使用团队的共享内存存储,这一次包装同样会对写入其中的检查点脱敏(见 检查点与恢复)。脱敏发生在写入时,因此它从构造上就是需显式开启的,且刻意是有损的:下游智能体——或一次恢复的运行——会在原本是密钥的地方读到 [redacted]。面向调用方的运行结果不受影响;它从不经过存储。

// 直接联系

把 Open Multi-Agent 用进真实业务

联系框架作者本人,帮你梳理 AI 落地目标、让 AI 真正与业务结合

可提供的工程服务
S-01

AI Agent 定制开发

业务梳理、Agent 设计、Prompt 评估、生产部署、私有化与持续支持。

S-02

多智能体系统集成

多 Agent 架构编排、RAG、CRM / ERP / API 对接、性能与稳定性调优。

S-03

企业 AI 咨询

AI 场景评估、技术选型、POC、ROI 估算与落地路线规划。