用途:为 Deep Agent 提供记忆、持久化与文件系统访问能力,覆盖短期、长期与混合存储场景。
主要能力:StateBackend 为短期存储,仅在单个线程内有效,线程结束即丢失;StoreBackend 为长期存储,可跨线程与会话持久化;CompositeBackend 为混合方案,按路径把不同目录路由到不同后端。FilesystemMiddleware 提供 ls、read_file、write_file、edit_file、glob、grep 工具。FilesystemBackend 可直接读写磁盘,支持 virtual_mode 限制访问范围。
使用方式:默认 create_deep_agent() 使用 StateBackend。使用 StoreBackend 时必须同时传入 store,例如 create_deep_agent(backend=lambda rt: StoreBackend(rt), store=InMemoryStore())。CompositeBackend 通过 routes 指定持久化路径,如 routes={"/memories/": StoreBackend(rt)},未匹配路径走默认后端。跨线程读取需写入持久化路径,否则线程 2 无法读取线程 1 的文件。FilesystemBackend 可配合 interrupt_on 与 checkpointer 实现人工确认。
适用场景:临时工作文件用 StateBackend;本地开发 CLI 用 FilesystemBackend;跨会话记忆用 StoreBackend;混合存储用 CompositeBackend。
限制:工具名称固定,不可配置;无法访问 virtual_mode 之外的文件;未正确配置后端时无法跨线程访问文件;生产环境应使用 PostgresStore 等持久化存储而非 InMemoryStore;切勿在 Web 服务器中使用 FilesystemBackend,应改用 StateBackend 或沙箱。