Встроенные инструменты
Exec Approvals
Exec approvals — это приложение-компаньон / ограничитель хоста узла, позволяющий агенту в песочнице выполнять команды на реальном хосте (gateway или node). Представьте это как предохранительную блокировку: команды разрешены только когда политика + список разрешений + (опциональное) подтверждение пользователя согласованы. Exec approvals работают в дополнение к политике инструментов и повышенному контролю (если только повышенный режим не установлен в full, что пропускает утверждения). Эффективная политика — это более строгая из tools.exec.* и значений по умолчанию утверждений; если поле утверждений опущено, используется значение tools.exec. Если пользовательский интерфейс приложения-компаньона недоступен, любой запрос, требующий подтверждения, разрешается с помощью резервного действия (по умолчанию: запрет).
Где применяется
Exec approvals применяются локально на хосте выполнения:
- хост gateway → процесс
openclawна машине шлюза - хост узла → запускающий процесс узла (приложение-компаньон macOS или headless-хост узла)
Разделение на macOS:
- служба хоста узла перенаправляет
system.runв приложение macOS через локальный IPC. - приложение macOS применяет утверждения + выполняет команду в контексте UI.
Настройки и хранение
Настройки утверждений хранятся в локальном JSON-файле на хосте выполнения: ~/.openclaw/exec-approvals.json Пример схемы:
{
"version": 1,
"socket": {
"path": "~/.openclaw/exec-approvals.sock",
"token": "base64url-token"
},
"defaults": {
"security": "deny",
"ask": "on-miss",
"askFallback": "deny",
"autoAllowSkills": false
},
"agents": {
"main": {
"security": "allowlist",
"ask": "on-miss",
"askFallback": "deny",
"autoAllowSkills": true,
"allowlist": [
{
"id": "B0C8C0B3-2C2D-4F8A-9A3C-5A4B3C2D1E0F",
"pattern": "~/Projects/**/bin/rg",
"lastUsedAt": 1737150000000,
"lastUsedCommand": "rg -n TODO",
"lastResolvedPath": "/Users/user/Projects/.../bin/rg"
}
]
}
}
}