用途:为 Deep Agent 提供记忆、持久化与文件系统访问能力,按需选择不同后端。
主要能力:StateBackend 为默认后端,文件在单个线程内有效,线程结束即丢失;StoreBackend 跨线程与会话持久保存;CompositeBackend 按路径把不同目录路由到不同后端,例如 /memories/ 走持久存储、其余走临时存储;FilesystemBackend 直接读写本地磁盘,适合本地开发 CLI。FilesystemMiddleware 提供 ls、read_file、write_file、edit_file、glob、grep 工具。
使用方式:默认 create_deep_agent() 即使用 StateBackend,调用时通过 config 传入 thread_id。需要跨线程记忆时,创建 store(如 InMemoryStore),用 CompositeBackend 配置 routes,把 /memories/ 指向 StoreBackend,并同时传入 store。使用 FilesystemBackend 时可设置 root_dir 与 virtual_mode 限制访问范围,配合 interrupt_on 对 write_file、edit_file 做人工确认,并用 checkpointer 保存状态。也可在自定义工具中通过 runtime.store 读写长期存储。
适用场景:临时工作文件、本地开发、跨会话记忆、临时与持久混合存储。
限制:StoreBackend 必须提供 store 实例,否则报错;StateBackend 文件仅限同一 thread_id 访问,跨线程需改用 StoreBackend;工具名称固定不可改;virtual_mode 之外的文件无法访问;官方明确警告不要在 Web 服务器中使用 FilesystemBackend,应改用 StateBackend 或沙箱。具体安装命令与版本要求资料未提供。