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/天起