CLI commands
Подтверждения
openclaw approvals
Управляйте подтверждениями выполнения команд для локального хоста, хоста Gateway или хоста Node. Если флаг целевого хоста не указан, команды читают и записывают локальный файл подтверждений на диске. Используйте --gateway, чтобы выбрать Gateway, или --node <id|name|ip>, чтобы выбрать конкретный Node.
Псевдоним: openclaw exec-approvals
См. также: Подтверждения выполнения команд, Узлы
openclaw exec-policy
openclaw exec-policy — вспомогательная команда, работающая только локально и за один шаг синхронизирующая запрошенную конфигурацию tools.exec.* с локальным файлом подтверждений хоста:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullПредустановки (yolo, cautious, deny-all) одновременно применяют host, security, ask и askFallback. set применяет только переданные вами флаги; каждое допустимое значение проверяется (--host auto|sandbox|gateway|node, --security deny|allowlist|full, --ask off|on-miss|always, --ask-fallback deny|allowlist|full).
Область действия:
- Одновременно обновляет локальный файл конфигурации и локальный файл подтверждений; не передаёт политику в Gateway или на хост Node.
--host nodeотклоняется: подтверждения выполнения команд Node во время работы получаются от самого Node, поэтому локальная командаexec-policyне может их синхронизировать. Вместо неё используйтеopenclaw approvals set --node <id|name|ip>.exec-policy showпомечает областиhost=nodeкак управляемые Node во время работы вместо вычисления итоговой политики на основе локального файла подтверждений.
Для подтверждений удалённого хоста используйте непосредственно openclaw approvals set --gateway или openclaw approvals set --node <id|name|ip>.
Часто используемые команды
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayget показывает итоговую политику выполнения команд для целевого хоста: запрошенную политику tools.exec, политику из файла подтверждений хоста и объединённый итоговый результат. Узлы с собственной политикой хоста, например приложение-компаньон для Windows, показывают эту политику напрямую без применения логики объединения политики из файла подтверждений OpenClaw.
Для узлов, использующих файл, объединённое представление требует снимка политики, сформированного на хосте. Для старых узлов итоговая политика отображается как недоступная вместо предположения, что запрошенная политика Gateway также применяется на хосте.
Приоритет:
- Файл подтверждений хоста является применяемым источником истины.
- Запрошенная политика
tools.execможет сужать или расширять намерение, но итоговый результат определяется правилами хоста. --nodeобъединяет файл подтверждений хоста Node с политикойtools.execGateway (обе применяются во время работы).- Если конфигурация Gateway недоступна, CLI использует снимок подтверждений Node и указывает, что окончательную политику времени выполнения вычислить не удалось.
Замена подтверждений из файла
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset принимает JSON5, а не только строгий JSON. Используйте либо --file, либо --stdin, но не оба одновременно.
Узлы Windows с собственной политикой хоста используют свой формат политики:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ defaultAction: "deny", rules: [{ pattern: "hostname", action: "allow" }]}EOFCLI сначала считывает текущий хеш Node и отправляет его вместе с обновлением, поэтому параллельные локальные изменения отклоняются, а не перезаписываются. rules является обязательным, поскольку эта операция заменяет полный список правил Node; defaultAction указывать необязательно. Node, сообщающий, что его собственная политика отключена, нельзя настроить удалённо; сначала включите или настройте политику на этом хосте. Собственные политики хоста не поддерживают вспомогательные средства allowlist add|remove.
Пример «никогда не запрашивать» / YOLO
Установите для подтверждений хоста значения по умолчанию full + off, если хост никогда не должен останавливаться для запроса подтверждений выполнения команд:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFДля узлов, предоставляющих файл подтверждений OpenClaw, используйте то же содержимое с openclaw approvals set --node <id|name|ip> --stdin. Для узлов с собственной политикой хоста требуется показанный выше формат, определённый их владельцем.
Это изменяет только файл подтверждений хоста. Чтобы согласовать с ним запрошенную политику OpenClaw, также задайте:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offЗдесь tools.exec.host=gateway указан явно, поскольку host=auto по-прежнему означает «песочница, если она доступна, иначе Gateway»: YOLO относится к подтверждениям, а не к маршрутизации. Используйте gateway (или /exec host=gateway), если требуется выполнять команды на хосте даже при настроенной песочнице.
Если askFallback не указан, по умолчанию используется deny. При обновлении хоста без пользовательского интерфейса, который должен сохранить режим без запросов, явно задайте askFallback: "full".
Локальная сокращённая команда для того же режима, действующая только на локальной машине:
openclaw exec-policy preset yoloВспомогательные команды списка разрешений
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"Общие параметры
get, set и allowlist add|remove поддерживают:
--node <id|name|ip>(определяет Node по идентификатору, имени, IP-адресу или префиксу идентификатора; используется тот же механизм, что и вopenclaw nodes)--gateway- общие параметры RPC для Node:
--url,--token,--timeout,--json
Если флаг целевого хоста не указан, используется локальный файл подтверждений на диске.
allowlist add|remove также поддерживает --agent <id> (по умолчанию "*", применяется ко всем агентам).
Примечания
- Хост Node должен объявлять поддержку
system.execApprovals.get/set(приложение macOS, хост Node без графического интерфейса или приложение-компаньон для Windows). - Файлы подтверждений хранятся отдельно для каждого хоста в каталоге состояния OpenClaw:
$OPENCLAW_STATE_DIR/exec-approvals.jsonили~/.openclaw/exec-approvals.json, если переменная не задана.