lizard sandbox

Создавайте Sandboxes и управляйте ими из терминала: Sandboxes. Псевдоним: lizard sb.

Использование

lizard sandbox create [flags]
lizard sandbox list [flags]
lizard sandbox exec <id> -- <command>
lizard sandbox ssh <id>
lizard sandbox rm <id> [flags]

Каждый sandbox принадлежит проекту: тому, который связан с текущей директорией, или тому, который вы укажете через -p.

Подкоманды

lizard sandbox create

Создаёт sandbox и выводит его ID.

ФлагОписание
-t, --template <name>Шаблон (по умолчанию base). Доступные шаблоны: base, interpreter, codex, desktop, opencode, pi, prime, claude. Сервер проверяет список региона
-s, --size <size>small, medium (по умолчанию) или large
--timeout <ms>Время жизни в миллисекундах (по умолчанию 300000, пять минут); 0 отключает истечение срока
--region <code>Регион, в котором создаётся sandbox
--snapshot <id>Запустить из сохранённого снапшота; нельзя сочетать с --size
--volume <name-or-id>Подключить Persistent Volume
--with-token [key]Установить в sandbox API-ключ liz_, чтобы там работал lizard. Без значения используется ключ liz_, с которым вы запускаете команду; при входе через браузер такого ключа нет
-p, --project <id>Проект (по умолчанию связанный)

Lizard тарифицирует каждый размер посекундно по фиксированной ставке, пока sandbox работает, включая простой. В цену входят локальный диск и 2 ТБ исходящего трафика на аккаунт за последние 30 дней. Успешная пауза останавливает оплату вычислений; хранение в Persistent Volumes оплачивается по тарифу тома, в том числе после отключения тома от sandbox.

РазмерvCPUПамятьДискЦена
small24 GiB5 GB$0.0162/h
medium48 GiB20 GB$0.0324/h
large816 GiB50 GB$0.0648/h

Ключ, установленный через --with-token, может прочитать любой процесс в sandbox. Используйте ключ, ограниченный одним рабочим пространством или проектом: lizard keys create sandbox-key -w my-team.

Пока не начался пробный период или план Pro, create возвращает HTTP 402 со ссылкой на Checkout; выполните lizard billing start. Во время пробного периода можно одновременно запускать 5 sandbox, а после первого оплаченного счёта — 100. Приостановленные sandbox не учитываются. См. Лимиты.

lizard sandbox list

Выводит список sandbox в связанном проекте (псевдоним ls).

ФлагОписание
-p, --project <id>Вывести список для указанного проекта
--allВывести все sandbox во всех ваших рабочих пространствах

lizard sandbox rm <id>

Удаляет sandbox (псевдоним delete).

ФлагОписание
-y, --yesПропустить подтверждение

lizard sandbox timeout <id> <ms>

Задаёт новое время жизни, отсчитываемое с текущего момента, в миллисекундах (не меньше 1000). Это не таймер простоя: выполнение команд его не сбрасывает.

lizard sandbox exec <id> -- <command>

Запускает одну команду внутри sandbox через sh -c, передаёт её вывод потоком и завершается с её кодом выхода.

lizard sandbox ssh <id>

Открывает интерактивную оболочку в работающем sandbox (псевдоним shell). Используется ваш вход в Lizard, поэтому настраивать SSH-ключи не нужно; ограниченный API-ключ получает доступ только к sandbox в своей области. Ctrl-C, стрелки и автодополнение по Tab передаются в sandbox. Чтобы выйти, введите exit или нажмите Ctrl-D.

Нужен интерактивный терминал; в скрипте используйте lizard sandbox exec. Это не протокол SSH, поэтому SSH-клиенты, scp и проброс портов не работают.

lizard sandbox expose <id> <port>

Назначает порту в sandbox HTTPS-адрес. Порт приватный: запросам нужен токен доступа sandbox — в заголовке X-Lizard-Access-Token или в query-параметре lizard_token, который уже есть в выведенном URL. Запросы без него получают HTTP 401. С --json результат дополнительно содержит hostname и accessToken.

lizard sandbox unexpose <id> <port> удаляет URL.

lizard sandbox desktop <id>

Запускает графический рабочий стол sandbox, созданного с -t desktop, и выводит URL для браузера и URL только для просмотра. Относитесь к обеим ссылкам как к паролям.

ФлагОписание
--view-onlyВывести или открыть только URL для просмотра
--resolution <WxH>Размер экрана, от 640x480 до 3840x2160
--openОткрыть рабочий стол в браузере
--statusПоказать состояние рабочего стола и URL, не запуская его
--stopОстановить рабочий стол и удалить его URL

lizard sandbox vnc <id>

Подключает VNC-приложение (macOS Screen Sharing, TigerVNC, RealVNC) к рабочему столу sandbox, созданного с -t desktop. У рабочего стола нет публичного VNC-порта, поэтому CLI слушает localhost и передаёт каждое подключение в sandbox через защищённый WebSocket. При необходимости он запускает рабочий стол, выводит адрес и VNC-пароль и работает до нажатия Ctrl-C.

ФлагОписание
--port <port>Локальный порт (по умолчанию 5900; если он занят — следующий свободный)
--view-onlyИспользовать пароль только для просмотра: наблюдение без управления
--openОткрыть адрес в VNC-приложении (vnc://, Screen Sharing в macOS)

Пауза, возобновление и снапшоты

КомандаЧто делает
lizard sandbox pause <id>Сохраняет память и процессы sandbox, затем ставит его на паузу. Успешная пауза останавливает оплату вычислений; хранение в Persistent Volumes оплачивается отдельно
lizard sandbox resume <id>Снова запускает приостановленный sandbox с сохранёнными памятью и файлами
lizard sandbox snapshot <id> --name <name>Сохраняет работающий sandbox как приватный снапшот в его проекте и держит наготове прогретые копии (--warm, от 1 до 10, по умолчанию 5)
lizard sandbox restore <snapshot-id>Запускает новый sandbox из снапшота (--timeout <ms>, по умолчанию 300000)
lizard sandbox snapshotsВыводит список снапшотов проекта (-p для другого проекта)
lizard sandbox snapshot-pause <snapshot-id>Освобождает прогретые копии снапшота и сохраняет его состояние
lizard sandbox snapshot-resume <snapshot-id>Заново наполняет прогретые копии приостановленного снапшота
lizard sandbox snapshot-warm <snapshot-id> <count>Меняет число прогретых копий (от 1 до 10)
lizard sandbox snapshot-rm <snapshot-id>Удаляет снапшот (псевдоним snapshot-delete, -y пропускает подтверждение)

pause, resume и snapshot ждут завершения работы; укажите --no-wait, чтобы вернуться сразу после постановки в очередь. О том, что сохраняет каждый шаг, см. Пауза, возобновление и снапшоты.

lizard sandbox files

КомандаЧто делает
lizard sandbox files ls <id> [path]Выводит содержимое директории (по умолчанию /)
lizard sandbox files cat <id> <path>Выводит содержимое файла
lizard sandbox files put <id> <local> <remote>Загружает локальный файл
lizard sandbox files get <id> <remote> <local>Скачивает файл
lizard sandbox files rm <id> <path>Удаляет файл или директорию

Coding-агенты

Запускайте coding-агента внутри sandbox со своими учётными данными. Сначала подключите их через lizard agents. Создайте sandbox из шаблона агента (codex, claude, opencode, pi или prime); в шаблоне base нет Node.js, и агенты в нём работать не могут.

lizard sandbox prompt <id> <prompt...> отправляет промпт и передаёт потоком действия агента.

ФлагОписание
--agent <name>codex (по умолчанию), claude, pi, opencode или prime
-c, --conversation <id>Продолжить эту беседу
--newНачать новую беседу
-m, --model <model>Используемая модель
--effort <level>Усилие рассуждения: minimal, low, medium, high или xhigh
--cwd <dir>Рабочая директория в sandbox (по умолчанию /workspace)
-v, --verboseТакже выводить вывод команд
--no-waitВернуться сразу после принятия промпта

Ctrl-C прекращает наблюдение; агент продолжает работу. lizard sandbox interrupt <id> [-c <conversation>] останавливает его текущий ход. lizard sandbox conversations <id> выводит список бесед, сначала новые.

Примеры

Создание sandbox и запуск команды

lizard sandbox create --size small --timeout 600000
lizard sandbox exec sb_abc123 -- python3 -c "print(1 + 1)"

Открытие оболочки

lizard sandbox ssh sb_abc123

Подключение Persistent Volume

lizard volume create agent-workdir --size 10
lizard sandbox create --volume agent-workdir

Публикация порта

lizard sandbox exec sb_abc123 -- sh -c "nohup python3 -m http.server 3000 --bind 0.0.0.0 >/tmp/http.log 2>&1 &"
lizard sandbox expose sb_abc123 3000

Использование рабочего стола через VNC-приложение

lizard sandbox create -t desktop
lizard sandbox vnc sb_abc123 --open

Запуск Codex в sandbox

lizard agents login chatgpt
lizard sandbox create -t codex
lizard sandbox prompt sb_abc123 "add a health check endpoint and test it"

Сохранение и восстановление sandbox

lizard sandbox snapshot sb_abc123 --name my-app
lizard sandbox restore <snapshot-id>   # ID from `lizard sandbox snapshots`

См. также

  • Sandboxes — среда выполнения, шаблоны и жизненный цикл
  • Быстрый старт Sandboxes — те же шаги через Lizard SDK
  • lizard volume — Persistent Volumes для подключения через --volume
  • lizard agents — учётные данные для sandbox prompt
  • Лимиты — размеры, лимиты запущенных sandbox, исходящий трафик и время жизни

Обновлено