DistributedStore 接口下。一行配置即可让 Agent 的状态、工作区文件系统、沙箱快照和并发锁全部切到同一个分布式后端。
快速上手
能力矩阵
OSS 不提供SandboxExecutionGuard——对象存储不适合做分布式锁。需要 sandbox 并发控制的 OSS 用户,用DistributedStore.builder()混入 Redis 的 guard。
混合后端
不同组件可以来自不同的存储后端:各组件说明
AgentStateStore — Agent 状态持久化
Agent 的对话上下文、压缩摘要、权限规则、Plan Mode 状态等,通过(userId, sessionId) 寻址。distributedStore 自动注入,也可通过 .stateStore(...) 单独覆盖。
BaseStore — 工作区文件系统 KV
RemoteFilesystemSpec 的存储后端,将 MEMORY.md、memory/、skills/、sessions/ 等路径路由到共享 KV 存储。distributedStore 自动注入到 RemoteFilesystemSpec(如果用的是无参构造器)。
SandboxSnapshotSpec — 沙箱快照
将 Docker/K8s 等沙箱的工作区打成 tar 包持久化,下次call() 自动恢复。distributedStore 自动注入到 SandboxFilesystemSpec。
SandboxExecutionGuard — 沙箱并发锁
AGENT / GLOBAL 隔离范围在多副本下需要分布式锁防止并发冲突。distributedStore 自动注入到 SandboxFilesystemSpec。
优先级
后端详细文档
- Redis — 最全功能覆盖,多副本生产首选
- MySQL / JDBC — 已有关系型数据库的场景
- 阿里云 OSS — 对象存储,大容量快照首选
aistio 托管 Store
若已部署 aistio 控制面,可由控制面托管DistributedStore 的协调类能力(BaseStore、沙箱锁/快照、MessageBus、AsyncToolRegistry、TaskRepository、可选 SessionTurnGate)。AgentStateStore 仍需自备一个后端(Redis / MySQL / Postgres / OSS);core 已提供 getVersioned / saveIfVersion 乐观并发,但存储不在控制面。
- 控制面开启:
--enable-hosted-store(生产建议 Postgres)。 withAgentStateStore已包含托管TaskRepository与SessionTurnGate。使用SandboxFilesystemSpec且需要子 agent 后台任务时,应走此路径(workspace 版TaskRepository无法跨副本持久化任务)。- AgentStateStore versioning:Redis、Postgres、MySQL、InMemory 支持 CAS;JsonFile / OSS / COS / JPA 仍为 last-writer-wins。多副本建议选支持 versioning 的后端。
- Turn gate +
ConflictPolicy.FAIL为可选:多副本下减少重复 LLM turn;正确性仍靠 CAS(当后端支持 versioning 时)。 - 当前鉴权为集群内共享 internal token;租户(
agentName/namespace)取自请求体——不适用于同一控制面上互不信任的多租户。 MessageBus.queueDrain为 destructive(读即 ack);租户/key 弄错会丢消息。