Перейти к содержанию

Песочница

Песочница ограничивает действия CLI и инструментов на уровне окружения запуска. Она особенно полезна для shell-команд и задач, где агент может выполнять сторонние скрипты. Включить песочницу можно флагом --sandbox (см. аргументы) или настройкой sandbox (см. настройки).

Запуск

koda --sandbox

Настройка:

.kodacli/settings.json
{
  "sandbox": "docker"
}

Допустимые значения: true, false, docker, podman, sandbox-exec.

Поведение по платформам

  • macOS: CLI может использовать sandbox-exec.
  • Linux/Windows: для полноценной песочницы обычно используются Docker или Podman.
  • Если процесс уже запущен внутри песочницы, CLI определяет это по переменным окружения и не пытается вложить песочницу повторно.

Переменные окружения

Переменная Назначение
KODA_SANDBOX включение/режим песочницы
KODA_SANDBOX_IMAGE образ для Docker/Podman
KODA_SANDBOX_PROXY_COMMAND команда-прокси для песочницы
SANDBOX признак, что процесс уже в песочнице
SANDBOX_MOUNTS дополнительные примонтированные пути
SANDBOX_ENV переменные окружения, пробрасываемые в песочницу
SANDBOX_PORTS порты
SEATBELT_PROFILE профиль macOS для песочницы

Практические ограничения

  • Shell-команды могут не видеть файлы вне примонтированных путей.
  • Доступ к сети зависит от выбранного режима и прокси.
  • Интеграция с IDE и локальные сокеты могут не работать внутри контейнера без дополнительной настройки.
  • Песочница не заменяет просмотр diff и подтверждение вызовов инструментов.