AI Frontier

OpenClaw 工具执行审批与人机协同门控(2026):macOS 策略矩阵、破坏性工具暂停、预发演练与云 Mac mini

MacHTML Lab2026.05.2228 分钟阅读

macOS 上运行 OpenClaw 网关的团队,2026 年往往已经做好模型路由与 429 限流——但一个分类错误的工具仍可能删库、向客户 Slack 发帖,或以生产密钥执行 shell。 工具执行审批人机协同门控 会在不可逆副作用发生前暂停破坏性调用,直到人工明确放行,并配合超时拒绝与可审计日志。本文说明如何给网关工具分级、在 ~/.openclaw/openclaw.json 中写审批策略,以及在提升 LaunchAgent 前于预发端口演练“挂起—批准—拒绝”。延伸阅读 doctor 诊断JSON 与环境配置staging/生产工作区上游断路器,以及 模型故障转移(用于供应商降级,不能替代审批)。

你将得到威胁模型、策略矩阵模板、数字护栏(待审批最长 120 秒超时拒绝、独立预发频道),以及可在租用 Apple Silicon Mac mini 上执行的上线清单——MacHTML 公开价约 16.9 美元/天

为何需要执行审批

大模型善于说服,却不承担后果。网关一旦暴露 writeshellbrowser 工具,一次幻觉路径就可能清空工作区、从 ~/.openclaw/.env 泄露 API Key,或向客户可见的 Slack 频道发帖。审批门在不可逆副作用之前插入人工决策;超时必须明确拒绝,避免机器人无声挂起。

审批不是反自动化,而是分级风控:只读可自动放行;写入、shell、浏览器等破坏性层级需在 Slack、Telegram 或 macOS 控制界面点选批准。把层级写进策略矩阵,让凌晨三点的值班无需翻源码。

Agent 工具威胁模型

从 LaunchAgent 用户在 macOS 上能做什么出发:读取其主目录下任意路径、写入 git 仓库、带环境变量调用 shell、用 Cookie 驱动浏览器。攻击面包括粘贴 HTML 的提示注入、被攻陷的频道 Webhook,以及把生产 .env 贴进预发对话。

为每类工具标注爆炸半径:read(信息泄露)、write(完整性破坏)、shell(主机沦陷)、browser(会话劫持)。能列出主目录的读取,若无路径白名单,应提升到与 write 相同的审批级。

按频道与工具的策略矩阵

工具类默认模式说明
read / grep自动放行无白名单时改为人审
write / patch人工批准在 Slack 线程展示 diff 预览
shell始终批准生产禁止自动放行
browser批准 + 域名白名单拦截 file:// 与内网 IP
私信 / 私密频道严于 #general默认更高敏感度

矩阵应贴在运行手册旁。产品要求“写入也自动批”时,必须指定负责人与下线日期,否则每次发布都会磨平门控。

openclaw.json 审批骨架

审批策略与模型路由一样放在 ~/.openclaw/openclaw.json,密钥在 ~/.openclaw/.envchmod 600。结构上分工具类、频道覆盖与超时行为。

{
  "tools": {
    "approval": {
      "default": "auto",
      "classes": {
        "read": "auto",
        "write": "human",
        "shell": "human",
        "browser": "human"
      },
      "pendingTimeoutMs": 120000,
      "onTimeout": "deny"
    },
    "channels": {
      "slack:#ops-alerts": { "write": "auto" },
      "slack:#customer-support": { "shell": "deny" }
    }
  }
}

字段名随版本变化——粘贴前请对照发行说明。改完后跑 openclaw doctor,并在预发对每类工具各触发一次挂起。

无生产风险的预发演练

把审批演练绑在预发网关端口与工作区配置上,绝不加载生产密钥。用固定提示词请求 shell 与 write,确认网关发出审批卡片且未批准前不执行。再测拒绝与超时——值班应看到“120 秒后拒绝”,而不是一直“思考中…”。

staging/生产 LaunchAgent 配套;勿在会签生产 plist 的笔记本上对客户库做破坏性审批。

doctor 检查与审计日志

每次改审批策略,把 openclaw doctor --json 附在变更单。确认审批中间件健康、频道 Webhook 可达、无崩溃遗留的 pending 队列。批准/拒绝事件带 correlation id,便于安全团队日后还原整轮对话。

若 doctor 报工具注册名不匹配,先修 JSON 再提升 LaunchAgent——对不存在的工具点批准只会训练值班“盲批”。

生产上线清单

  1. 导出 openclaw.json 指纹(不含密钥)到 git 忽略目录。
  2. 为每个注册工具分级并更新策略矩阵 wiki。
  3. 在预发对 write、shell、browser 做挂起演练并截图存档。
  4. 生产启用人工审批,120 秒超时且拒绝
  5. 监控 pending 深度,并发挂起 > 5 时告警。
  6. 文档化回滚:还原 JSON + launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway

常见问题

只读工具可以跳过审批吗?

有路径白名单时可以;宽泛列目录应提升审批级。

审批会让 Slack 变慢吗?

按轮合并;120 秒超时并返回明确拒绝文案。

如何不碰生产测试?

用预发配置与合成工具调用,勿在笔记本加载生产密钥。

通过 MacHTML 租用 Apple Silicon Mac mini,可在与高管相同的 WebKit、Keychain、Node 构建上练审批——不是 Linux 容器假装 macOS。节点提供 SSH 查看日志,GUI 批准按钮需要真实屏幕时用 VNC。空闲功耗常见 6–12 瓦,一周人机协同演练的成本往往低于一次 shell 误删发布分支。

公开价约 16.9 美元/天,比为审计背三年硬件折旧更划算;演练结束关机,策略矩阵仍留在文档里。

在真机 macOS 上演练 OpenClaw 工具审批

租用云 Mac mini,在生产 LaunchAgent 提升前验证人机协同门控、超时拒绝与 doctor 探针。

工具审批演练云 Mac
约 $16.9/天起