Skip to Content
👋 欢迎来到 HowToUseMoltbot 快速入门
CLI 参考Sandbox 沙箱

Sandbox CLI

管理基于 Docker 的沙箱容器,用于隔离代理执行。

概览

Moltbot 可在隔离的 Docker 容器中运行代理以提高安全。sandbox 命令用于管理这些容器,尤其在更新或配置变更之后。

命令

moltbot sandbox explain

查看生效的沙箱模式/作用域/工作区访问、沙箱工具策略及提升门控(含可修复的配置键路径)。

moltbot sandbox explain moltbot sandbox explain --session agent:main:main moltbot sandbox explain --agent work moltbot sandbox explain --json

moltbot sandbox list

列出所有沙箱容器及其状态与配置。

moltbot sandbox list moltbot sandbox list --browser # 仅列出浏览器容器 moltbot sandbox list --json # JSON 输出

输出包含: 容器名与状态(运行/停止)、Docker 镜像及是否与配置一致、创建时长、空闲时长、关联会话/代理。

moltbot sandbox recreate

删除沙箱容器以强制用更新后的镜像/配置重建。

moltbot sandbox recreate --all # 重建所有容器 moltbot sandbox recreate --session main # 指定会话 moltbot sandbox recreate --agent mybot # 指定代理 moltbot sandbox recreate --browser # 仅浏览器容器 moltbot sandbox recreate --all --force # 跳过确认

选项: --all--session <key>--agent <id>--browser--force。重要:下次使用代理时会自动重建容器。

使用场景

更新 Docker 镜像后

# 拉取新镜像 docker pull moltbot-sandbox:latest docker tag moltbot-sandbox:latest moltbot-sandbox:bookworm-slim # 在配置中改为使用新镜像 # 编辑:agents.defaults.sandbox.docker.image(或 agents.list[].sandbox.docker.image) # 重建容器 moltbot sandbox recreate --all

修改沙箱配置后

编辑 agents.defaults.sandbox.*(或 agents.list[].sandbox.*),然后执行 moltbot sandbox recreate --all

修改 setupCommand 后

moltbot sandbox recreate --all,或仅一个代理:moltbot sandbox recreate --agent family

为何需要?

问题: 更新沙箱 Docker 镜像或配置时,已有容器仍按旧设置运行,且仅在 24 小时无活动后才被清理,常用代理会长期使用旧容器。

解决: 使用 moltbot sandbox recreate 强制移除旧容器。下次需要时会按当前设置自动重建。提示:优先使用 moltbot sandbox recreate 而非手动 docker rm,它会遵循网关的容器命名,避免作用域/会话键变更时不一致。

配置

沙箱设置在 ~/.clawdbot/moltbot.jsonagents.defaults.sandbox 下(每代理覆盖在 agents.list[].sandbox):

{ "agents": { "defaults": { "sandbox": { "mode": "all", // off, non-main, all "scope": "agent", // session, agent, shared "docker": { "image": "moltbot-sandbox:bookworm-slim", "containerPrefix": "moltbot-sbx-" }, "prune": { "idleHours": 24, "maxAgeDays": 7 } } } } }

参见

最后更新于: