CLI песочницы
Управление контейнерами Docker для изолированного выполнения агентов.
Обзор
OpenClaw может запускать агентов в изолированных контейнерах Docker для обеспечения безопасности. Команды sandbox помогают управлять этими контейнерами, особенно после обновлений или изменений конфигурации.
Команды
openclaw sandbox explain
Проверка эффективного режима/области/доступа к рабочему пространству песочницы, политики инструментов песочницы и повышенных привилегий (с путями к ключам конфигурации для исправления).
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
openclaw sandbox list
Список всех контейнеров песочницы с их статусом и конфигурацией.
openclaw sandbox list
openclaw sandbox list --browser # Только контейнеры браузера
openclaw sandbox list --json # Вывод в JSON
Вывод включает:
- Имя контейнера и статус (работает/остановлен)
- Docker-образ и соответствие конфигурации
- Возраст (время с момента создания)
- Время простоя (время с последнего использования)
- Связанная сессия/агент
openclaw sandbox recreate
Удаление контейнеров песочницы для принудительного пересоздания с обновленными образами/конфигурацией.
openclaw sandbox recreate --all # Пересоздать все контейнеры
openclaw sandbox recreate --session main # Конкретная сессия
openclaw sandbox recreate --agent mybot # Конкретный агент
openclaw sandbox recreate --browser # Только контейнеры браузера
openclaw sandbox recreate --all --force # Пропустить подтверждение
Опции:
- --all: Пересоздать все контейнеры песочницы
- --session <key>: Пересоздать контейнер для конкретной сессии
- --agent <id>: Пересоздать контейнеры для конкретного агента
- --browser: Пересоздать только контейнеры браузера
- --force: Пропустить запрос подтверждения
Важно: Контейнеры автоматически пересоздаются при следующем использовании агента.
Случаи использования
После обновления Docker-образов
# Загрузить новый образ
docker pull openclaw-sandbox:latest
docker tag openclaw-sandbox:latest openclaw-sandbox:bookworm-slim
# Обновить конфигурацию для использования нового образа
# Редактировать конфигурацию: agents.defaults.sandbox.docker.image (или agents.list[].sandbox.docker.image)
# Пересоздать контейнеры
openclaw sandbox recreate --all
После изменения конфигурации песочницы
# Редактировать конфигурацию: agents.defaults.sandbox.* (или agents.list[].sandbox.*)
# Пересоздать для применения новой конфигурации
openclaw sandbox recreate --all
После изменения setupCommand
openclaw sandbox recreate --all
# или только для одного агента:
openclaw sandbox recreate --agent family
Только для конкретного агента
# Обновить только контейнеры одного агента
openclaw sandbox recreate --agent alfred
Зачем это нужно?
Проблема: При обновлении Docker-образов или конфигурации песочницы:
- Существующие контейнеры продолжают работать со старыми настройками
- Контейнеры удаляются только после 24 часов неактивности
- Регулярно используемые агенты сохраняют старые контейнеры бесконечно
Решение: Используйте openclaw sandbox recreate для принудительного удаления старых контейнеров. Они будут автоматически пересозданы с текущими настройками при следующей необходимости.
Совет: предпочитайте openclaw sandbox recreate вместо ручного docker rm. Команда использует именование контейнеров Gateway и избегает несоответствий при изменении ключей области/сессии.
Конфигурация
Настройки песочницы находятся в ~/.openclaw/openclaw.json в разделе agents.defaults.sandbox (переопределения для конкретных агентов в agents.list[].sandbox):
{
"agents": {
"defaults": {
"sandbox": {
"mode": "all", // off, non-main, all
"scope": "agent", // session, agent, shared
"docker": {
"image": "openclaw-sandbox:bookworm-slim",
"containerPrefix": "openclaw-sbx-"
// ... дополнительные опции Docker
},
"prune": {
"idleHours": 24, // Автоудаление после 24 часов простоя
"maxAgeDays": 7 // Автоудаление после 7 дней
}
}
}
}
}
См. также
- Документация по песочнице
- Конфигурация агента
- Команда Doctor - Проверка настройки песочницы