§09 沙箱与文件系统
DeerFlow 让代理写代码、跑命令,但这些动作必须关在沙箱里,不能碰你本机。
沙箱给你什么
沙箱提供两层能力:
- Bash 访问:代理能在隔离环境里执行命令。
- 文件写工具:
write_file、str_replace、read_file等。
向导初始化时你会配置安全偏好,决定沙箱能碰多大范围。
沙箱后端可换
DeerFlow 支持多种沙箱 provider,在 config.yaml 里指定:
sandbox:
use: deerflow.community.aio_sandbox:AioSandboxProvider
可选后端包括:
| provider | 说明 |
|---|---|
aio_sandbox |
社区版异步沙箱(provisioner 模式会自动拉起 provisioner) |
e2b |
E2B 云端沙箱 |
kubernetes |
K8s Pod 沙箱 |
docker |
Docker 容器沙箱 |
技能目录互相隔离
每个 Skill 在沙箱里是独立目录,互不 import。MiniMax 那篇设计文档明确写了:MiniMax 代码在每个 skill 内各自内联,不做跨 skill 共享模块——少量重复可接受,换来的是强隔离。
标叔的结论:沙箱是 DeerFlow 敢让代理「动手」的底气。本地玩建议先用 aio_sandbox,别一上来就给代理裸 Bash 权限。
外部工具除了沙箱里跑,还能通过 MCP 接进来。下一章讲。