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

CLI

cautem sandbox create|list|get|stop|start|delete|exec|connect|upload|download|…
cautem cp <local-path> <sandbox>:/path | <sandbox>:/path <local-path>
cautem sandbox template create|list|get|delete
cautem sandbox provider …
cautem provider create|list|get|refresh|update|delete|profile …
cautem profile …
cautem gateway add|select|ensure|info|login|…
cautem policy get|set|…
cautem rule get|approve|reject|…
cautem workspace|forward|service|settings|whoami|logs|term
cautem health|init|doctor|status|version|install|completions|ssh-proxy

--gateway-endpoint URL выбирает Gateway напрямую, без поиска имени в зарегистрированных Gateway. Флаг можно указать до или после пути команды; endpoint имеет приоритет над сохранённым выбором Gateway. --gateway-insecure отключает проверку TLS-сертификата Gateway и предназначен только для endpoint, сертификат которого локально нельзя проверить. Повторяемый -v или --verbose включает debug logging. --color auto|always|never управляет ANSI-цветами (QUARSHELL_COLOR задаёт значение по умолчанию; в режиме auto непустой NO_COLOR отключает цвета, а непустой FORCE_COLOR включает их, если NO_COLOR не задан).

cautem forward service --target-port PORT [--target-host HOST] [--local [BIND:]PORT] [SANDBOX] открывает локальный TCP listener к loopback-сервису в sandbox. По умолчанию target host — 127.0.0.1; --local 0 просит ОС выбрать локальный порт.

cautem provider list [--page-size N] [--page-token TOKEN] [--label-selector EXPR] [--all-workspaces] [-o table|yaml|json] возвращает одну страницу Gateway. Передайте next_page_token как --page-token; для all-workspaces нужен platform administrator. Значения provider credentials остаются скрыты. cautem provider list-profiles [--workspace NAME|--global] [--page-size N] [--page-token TOKEN] [-o table|yaml|json] постранично выводит выбранный каталог профилей; те же параметры принимает provider profile list.

cautem term --theme auto|dark|light выбирает акцентную палитру TUI; QUARSHELL_THEME задаёт значение по умолчанию. Режим auto использует COLORFGBG, если он задан, иначе выбирает тёмную тему.

Create (compute)

Флаг Смысл
--name Имя sandbox
--from / --image Alias или OCI reference
--gateway-workspace Workspace OpenShell Gateway
--policy YAML политики OpenShell SandboxPolicy
--cpu / --memory Переносимые лимиты ресурсов
--template Именованный workload template
--provider Credential-провайдер (повтор)
--expose PORT Зарегистрировать HTTP/WebSocket service вместе с Gateway create
--expose-authorization-mode strip|bearer-passthrough Выбрать обработку Bearer authorization в service proxy
--gpu NVIDIA CDI

cautem sandbox create --help показывает допустимые параметры создания. Создание всегда использует выбранный Gateway и OpenShell CreateSandbox. Локальная сборка, display, bind mount и Engine-специфичные create-флаги не принимаются. У каждого sandbox leaf есть собственная справка: cautem sandbox <leaf> --help.

Укажите --gateway-workspace NAME, чтобы выбрать workspace. При создании из образа доступны CPU, memory, количество GPU, environment, labels, provider attachments, policy, restart policy и JSON конфигурации driver. Общий шаблон содержит свои workload-параметры и не принимает inline overrides. --from принимает локальный rootfs архив .tar, .tar.gz или .tgz, если Gateway находится на этой машине, а compute driver поддерживает rootfs staging. Foreground-команда запускается после provisioning через native interactive exec; --detach оставляет её запущенной в Gateway. Для подключения IDE используйте cautem sandbox connect NAME --editor vscode|cursor.

--expose PORT сохраняет доступность sandbox supervisor. Gateway получает exposure вместе с запросом создания и просит Gateway удалить новый sandbox, если регистрация service завершилась ошибкой. Это компенсирующее удаление; если cleanup не удался, Gateway сообщает об ошибке для reconciliation. --expose-authorization-mode по умолчанию использует strip; bearer-passthrough передаёт приложению один корректный Bearer header.

Повторяйте --forward PORT при создании, чтобы после provisioning запустить фоновый локальный TCP forward. cautem forward start [BIND:]PORT SANDBOX использует native OpenShell ForwardTcp relay к loopback-порту sandbox; --forward использует одинаковый порт на локальной и sandbox стороне.

SSH helper из сгенерированных настроек sandbox ssh-config поддерживает текущий Gateway, именованный Gateway и явный URL Gateway с токеном sandbox. Точные варианты показывает cautem ssh-proxy --help.

Host bind mount, локальная сборка образа, display и переключатели локального runtime не входят в контракт OpenShell Gateway create. --upload передаёт файлы через native OpenShell interactive execution RPC. Foreground-команда с TTY запускается как canonical main process в create request, после чего CLI подключается к сохранённому PTY. Команда без TTY запускается через native interactive exec после создания. Detached-команда передаётся в create request.

Добавляйте --gateway к команде sandbox template, чтобы управлять шаблоном в workspace выбранного Gateway. Gateway template create также принимает повторяемые --annotation KEY=VALUE, --ready-within DURATION и --max-burst COUNT; для локальных шаблонов эти параметры отклоняются, а не игнорируются. Формат duration: 30s, 5m или 1h.

Подкоманды sandbox

Команда Формат
sandbox list --page-size N, --page-token TOKEN, --selector EXPR, -o table\|yaml\|json, --ids, --names, --all-workspaces
sandbox get NAME [--policy-only]
sandbox start / sandbox stop Необязательное NAME (по умолчанию последний sandbox)
sandbox delete NAME... либо отдельный --all
sandbox upload NAME LOCAL_PATH [SANDBOX_DEST] [--no-git-ignore]
sandbox download NAME SANDBOX_PATH [LOCAL_DEST]
sandbox ssh-config NAME [--install]
sandbox connect [NAME] [--editor vscode\|cursor] либо [NAME] -- COMMAND...
sandbox provider list [SANDBOX] [--page-size N] [--page-token TOKEN] [-o table\|yaml\|json]
sandbox provider attach / detach SANDBOX PROVIDER (выводит change ID)
sandbox provider status SANDBOX PROVIDER [--receipt ID] [--wait] [--timeout SECONDS] [-o table\|yaml\|json]

sandbox list возвращает одну страницу. Передайте next_page_token как --page-token; table выводит token в stderr, JSON/YAML включают его в ответ. Для --all-workspaces нужна роль platform administrator. | sandbox template create | NAME; image/from/policy, CPU/memory/PIDs/GPU, env, labels, driver config и provider flags | | sandbox template list | --gateway [--page-size N] [--page-token TOKEN] [--label-selector EXPR] [-o table\|yaml\|json] | | sandbox template get / delete | NAME [--gateway] |

Список Gateway templates возвращает одну страницу. Передайте next_page_token как --page-token; table выводит token в stderr, JSON/YAML включают его.

--editor нельзя сочетать с командой. --no-git-ignore доступен только для upload; каталог по умолчанию для upload — /workspace, для download — текущий каталог.

Команды workspace

Команда Формат
workspace create --name NAME, повторяемый --label KEY=VALUE
workspace list --page-size N, --page-token TOKEN, --label-selector KEY=VALUE[,KEY=VALUE...], -o table\|yaml\|json
workspace member list --workspace NAME, --page-size N, --page-token TOKEN, -o table\|yaml\|json
workspace get NAME
workspace delete NAME...

Команда списка возвращает одну страницу. Передайте её next_page_token в --page-token, чтобы запросить следующую страницу. Условия label selector объединяются через AND. Список workspace members также возвращает одну страницу и принимает token продолжения из предыдущего ответа.

Settings

cautem settings get [SANDBOX] [--global] [--json] читает эффективные настройки последнего или указанного sandbox; --global читает настройки Gateway и не принимает имя sandbox. settings set [SANDBOX] --key KEY --value VALUE и settings delete [SANDBOX] --key KEY задают или удаляют настройку sandbox. Для глобальной настройки укажите --global --yes. CLI проверяет ключи и типы значений по реестру OpenShell.

Service endpoints

Используйте cautem service expose SANDBOX PORT [NAME] [--authorization-mode strip|bearer-passthrough], service list [SANDBOX] [--page-size N] [--page-token TOKEN] [--all-workspaces] [-o table|yaml|json] и service get|delete SANDBOX [NAME]. Список возвращает одну страницу: table выводит следующий token, JSON/YAML включают next_page_token. Для --all-workspaces нужна роль platform administrator; флаг переопределяет выбранный workspace. Текущий Gateway поддерживает безопасный режим strip: перед proxy к приложению Authorization headers удаляются. bearer-passthrough передаёт приложению один корректный Bearer header без изменений по HTTP и WebSocket; этот режим требует соединения с Gateway. По умолчанию используется strip. Таблица сервисов показывает URL endpoint; JSON/YAML также содержат ID endpoint, sandbox и workspace, domain и режим авторизации.

Терминальный интерфейс

cautem term обновляет список sandbox каждые две секунды. Выбирайте sandbox клавишами ↑/↓ или j/k, нажмите / для фильтра по имени, статусу или образу, d для просмотра подробностей. enter или c подключает к sandbox, e открывает интерактивную оболочку, s останавливает работающий sandbox, S запускает остановленный. Для удаления нажмите x и подтвердите действие. l следит за логами выбранного sandbox, a — за логами всех sandbox, L печатает логи выбранного sandbox и возвращается. p приостанавливает и возобновляет отображение live-логов, пока ограниченный буфер продолжает их собирать; s переключает source-фильтр (локально: all, sandbox, proxy; Gateway: all, gateway, sandbox). r В live-логах ↑/↓ или j/k выбирают строку, Enter открывает её детали, PgUp/PgDn или Ctrl-B/Ctrl-F перемещают выбор на размер viewport, а g/G выбирают первую или последнюю строку. y отправляет выбранную строку, а Y — видимые строки логов в clipboard терминала; поддержка зависит от терминала. y копирует текущую строку или выбранный визуальный диапазон. r обновляет список, q закрывает интерфейс. v начинает или завершает цветом выделенный визуальный диапазон; перемещайтесь j/k, затем y копирует выбранные строки. Нажмите Esc, чтобы выйти из подробностей или просмотра потока логов.

Soft defaults

Если флаги (и template) не задают sizing, config/env могут заполнить пробелы — жёсткого default memory нет. См. Ресурсы Docker.