挂载卸载器
卸载器是任何实现Offloader 协议的对象。该协议是结构化的,仅有两个方法:
把实现该协议的对象传入智能体的
offloader 参数即可完成挂载。所有内置工作区(本地、Docker、E2B 等)都实现了该协议,可以直接用作卸载器:
使用工作区卸载
工作区把卸载的内容写到其文件系统的workdir 之下,并按 session_id 隔离每次智能体运行。下图以本地工作区为例展示目录布局,沙箱类工作区在各自的文件系统中采用相同结构:
{workdir}
data
{sha256}.png
sessions
{session_id}
context.jsonl
tool_result-{tool_id}.txt
skills
sessions/{session_id}/:每个智能体会话一个目录,避免并发智能体互相干扰。被压缩的消息以追加方式写入context.jsonl;每条被截断的工具结果对应一份独立的tool_result-{tool_id}.txt。data/:被卸载的消息所引用的多模态文件(图片、音频),按 SHA-256 内容哈希去重。skills/:与卸载无关;工作区同时承担智能体的技能目录职责。
自定义卸载器
需要接入工作区以外的后端(数据库、对象存储、向量库等)时,开发者只需实现Offloader 协议。该协议是结构化的,无需继承:
Agent(offloader=...) 即可。