Сначала ответ: почему нельзя запускать Agent прямо на macOS?
Многие команды на старте думают: «Это же тест — зайду по SSH на облачный Mac и отдам всё Agent». Проблема в том, что современные фреймворки —
LangGraph, AutoGen, Cursor Background Agent — выполняют вызовы инструментов с правами текущего пользователя:
границы чтения файлов, дочерних процессов и сети совпадают с тем, что вы видели бы в своём терминале.
Во внутреннем пилоте мы поручили Agent просканировать Swift-репозиторий и автоматически исправить предупреждения компилятора;
на третьей итерации он попытался прочитать ~/Library/Keychains и выполнить security find-identity.
Намерение «найти сертификат подписи» понятно, но на build-машине с Distribution-сертификатом это критично.
Менять учётные записи или переустанавливать окружение на каждую задачу дорого. Docker не покрывает полный Xcode toolchain на macOS.
Подход OpenClaw — запускать Agent на реальном macOS (xcodebuild и Apple Neural Engine доступны),
но перед каждым системным вызовом срабатывает движок политик: нарушение блокируется и полностью фиксируется в аудите.
Для команд с требованиями комплаенса это доказательство: какие пути запрашивались и что было отклонено — без остановки всего build-узла.
Здесь — кратчайший путь от нуля до первой успешной задачи в песочнице. Архитектура, multi-user zero trust и проводка CI —
в полном руководстве OpenClaw.
Оборудование: Mac mini M4 · 10-ядерный CPU · 16 ГБ объединённой памяти · 256 ГБ NVMe · выделенная полоса 1 Гбит/с (узел PixVPS Сингапур).
ОС: macOS 15 Sequoia. OpenClaw CLI 0.9.4, формат политик v2.
Пример задачи: Agent клонирует публичный репозиторий → сканирует TODO-комментарии через rg → пишет Markdown-отчёт (чтение, без внешней сети).
Весь процесс через SSH. VNC не использовался.
Три вещи до старта
Локальный Mac не нужен — достаточно SSH с Windows или Linux. Без трёх пунктов ниже процесс оборвётся на середине:
Облачный узел: если его ещё нет — выберите регион и срок на странице заказа.
Пять площадок (Сингапур, Япония Токио, Корея Сеул, Гонконг, восток США) имеют одинаковое железо и цены — ориентируйтесь на задержку.
Для команд из СНГ и Европы часто удобны Сингапур или Гонконг; для работы с американскими API — восток США.
instance-token: выдаётся в консоли при первом включении OpenClaw в разделе «Безопасность и песочница». Показывается один раз — сразу сохраните в корпоративное хранилище секретов.
Файл политики: сохраните шаблон из раздела 4 как ~/policies/quickstart-readonly.yaml.
Поток на 5 минут: от активации до первой задачи в песочнице
Времена ниже — по нашим замерам. На узле Сингапур после пяти повторений полный цикл занял около 4 мин 20 с. На первый раз закладывайте 5–8 минут. У каждого шага есть чёткий критерий завершения — переходите дальше только после ожидаемого вывода.
-
01
1 мин: включить OpenClaw в консоли
Войдите в консоль PixVPS → детали инстанса → «Безопасность и песочница» → включите OpenClaw. Скопируйте показанный
instance-tokenв 1Password или Bitwarden. Критерий: статус OpenClaw — «Активен». -
02
2 мин: SSH и установка CLI
Скопируйте SSH-команду из «Данные подключения» в консоли, войдите на инстанс и выполните скрипт установки с аутентификацией. Критерий:
openclaw statusпоказывает Policy Engine, Sandbox Runtime и Audit Bus в состоянииhealthy. -
03
3 мин: политика только для чтения
Создайте
~/policies/и вставьте YAML из раздела 4. Проверьте синтаксис:openclaw policy validate -f ~/policies/quickstart-readonly.yaml. Критерий: выводpolicy valid, без предупреждений о конфликте путей. -
04
4 мин: создать песочницу и проверить
openclaw sandbox create --name quickstart --policy ~/policies/quickstart-readonly.yaml, затемopenclaw sandbox exec quickstart -- /bin/zsh -lc 'ls -la /workspace'. Критерий: внутри песочницы виден пустой workspace без ошибок прав доступа. -
05
5 мин: entry-скрипт Agent и tail аудита
Запустите entry Agent внутри песочницы (или пример ниже). В другом терминале:
openclaw audit tail --sandbox quickstart --follow. По завершении:openclaw sandbox stop quickstart. Критерий: в аудите есть записиdecision: allowиdecision: deny(при попытке доступа к запрещённому пути).
В SSH-сессии на инстансе:
curl -fsSL https://api.pixvps.com/openclaw/install.sh | bash
openclaw auth login --token <instance-token>
openclaw status
YAML минимальных прав: шаблон для сканирования кода
Принцип quickstart — сначала строго, потом ослаблять. Первая политика открывает Agent только необходимый минимум.
Шаблон ниже разрешает чтение и запись в /workspace, выполнение git / rg / python3,
блокирует Keychain и SSH-пути, полностью запрещает исходящую сеть — достаточно для сценария «клонировать публичный репозиторий → статический скан → отчёт».
apiVersion: openclaw.pixvps.com/v2
kind: SandboxPolicy
metadata:
name: quickstart-readonly
spec:
filesystem:
allow:
- path: /workspace
access: [read, write]
deny:
- path: "**/Keychains/**"
- path: "**/.ssh/**"
process:
allow: [git, rg, python3, zsh]
network:
egress: deny-all
Запись в /workspace нужна, чтобы сохранить отчёт сканирования на диск.
Для чисто read-only задач замените access на [read].
Чтобы получать код с GitHub, смените network.egress на allow-list и добавьте github.com:443 —
самое частое «ослабление на шаге 2» после quickstart. Полные паттерны сетевого whitelist — в
разделе 5 полного руководства.
Первая задача Agent: готовый entry-скрипт
Прежде чем подключать LangGraph или свой оркестратор, проверьте цикл «политика + песочница + аудит» коротким shell-скриптом (~20 строк).
Сохраните на хосте как /workspace/agent-entry.sh (песочница автоматически монтирует эту директорию):
#!/bin/zsh
set -euo pipefail
cd /workspace
git clone --depth 1 https://github.com/apple/swift-sample-code.git repo 2>/dev/null || true
rg -n "TODO|FIXME" repo/ > scan-report.txt || true
echo "Scan done: $(wc -l < scan-report.txt) matches" > summary.txt
cat summary.txt
При egress: deny-all команда git clone блокируется сетевой политикой — это ожидаемая демонстрация.
С открытым audit tail вы увидите запись decision: deny для network.
После добавления GitHub в allow-list повторный запуск даст decision: allow и создание summary.txt.
Запуск:
openclaw sandbox exec quickstart -- /bin/zsh /workspace/agent-entry.sh.
На узле M4 (с клонированием) у нас вышло около 38 с; накладные расходы оценки политик — менее 200 мс, пренебрежимо мало.
По завершении выполните openclaw sandbox stop quickstart, чтобы освободить workspace. «Зомби»-песочницы занимают диск — лимит одновременных сессий на инстанс по умолчанию 5.
Для архива аудита: openclaw audit export --sandbox quickstart --format jsonl.
Три частые проблемы и однострочное исправление
При первом запуске почти все упираются в одну из строк таблицы. Длинный мануал не нужен — действуйте по симптому.
| Симптом | Вероятная причина | Исправление в одну строку |
|---|---|---|
openclaw auth login сообщает, что token недействителен |
Лишние пробелы при копировании или ротация token | Скопируйте заново из консоли; старый token недействителен сразу после ротации |
Agent возвращает E_POLICY_DENY: filesystem |
Путь не в allow-list | openclaw audit query --decision deny --since 1h → уточните путь и поправьте YAML |
git clone падает без файловой ошибки |
Сетевая политика deny-all | Смените network.egress на allow-list и добавьте github.com:443 |
Не коммитьте instance-token в Git и не публикуйте скриншоты в Slack.
Если после пилота нужен доступ нескольких сотрудников — настройте в консоли zero trust с сертификатами устройств и ролями viewer / operator / admin;
см. раздел 6 полного руководства.
После пилота: расширять права и масштабировать под нагрузку
Пятиминутная read-only песочница — только отправная точка. Реальные нагрузки требуют xcodebuild, npm-реестров
и CI, где на каждый push нужна новая песочница. Это зона «от пилота к продакшену» — более тонкие ступени политик и экспорт аудита —
в полном руководстве OpenClaw (продвинутый YAML, проводка GitHub Actions, хранение аудита 90 дней).
Если облачного Mac ещё нет, у каждой альтернативы свои минусы. Локальный ноутбук с Agent 24/7 жрёт электричество и не даёт фиксированный зарубежный IP. Публичные macOS VM в облаке без нативной интеграции OpenClaw и аудита по задачам. Покупка Mac mini в офис — амортизация и штат на эксплуатацию. PixVPS предлагает выделенный физический Mac mini M4 (16 ГБ объединённой памяти, 38 TOPS, выделенная полоса 1 Гбит/с), OpenClaw встроен в стандартный инстанс. Развёртывание за 1–5 минут после оплаты, от $21.1/день — эксперименты с Agent по дням, при стабилизации переход на $105.7/мес. Гибче, чем покупать железо при неопределённом спросе.
Рекомендуемый путь: сегодня пройти read-only песочницу → завтра скопировать шаблон политики под тип задач (сборка / сбор документации / ops-патруль — см. таблицу сравнения в полном руководстве) →
на третьей неделе положить YAML в Git и сделать openclaw audit export обязательным шагом CI.
На одном M4 с 16 ГБ мы стабильно держим две песочницы с DerivedData при параллельных build-Agent.
Для большего параллелизма рассмотрите кластер Thunderbolt 5 — пул из нескольких машин на 80 Гбит/с.
Вопросы по настройке: [email protected] — ответ в течение часа, 7×24.
Дайте Agent облачный Mac с OpenClaw за 5 минут
На выделенных узлах Mac mini M4 PixVPS встроена песочница OpenClaw: изоляция по задачам, zero trust и прослеживаемые журналы аудита. 16 ГБ памяти для Agent и Xcode параллельно — от $21.1/день, пять узлов по всему миру.