AI / 自动化 2026年5月13日

2026-05-13 OpenClaw 多智能体 agents.json 角色拆分无头租用 Apple Silicon 云 Mac(HK / JP / KR / SG / US

MacXCode 技术团队 2026年5月13日 约 21 分钟阅读

单网关、单人格、单条误删事故线——直到你把 OpenClaw 拆成显式的多智能体配置。在香港、东京、首尔、新加坡与美国租用的 Mac mini M4 上,同一 UID 往往同时跑 xcodebuild 车道、签名树和回答企业 IM 的助手。本文把 agents.json 当作运维合同:谁可以触碰哪些根路径、哪个 OPENCLAW_STATE_DIR 拥有 checkpoint、入站事件如何映射到唯一智能体身份。内容串联 工作区白名单会话 checkpoint 与网关重启 以及 onboard 与 doctor 分流,形成可复现的研发 vs 运维拆分,使 launchd 重启后持久状态不会混写。

为何共享租用构建机必须做多智能体设计

能读仓库的助手与能重启守护进程、轮换令牌的自动化不是同一风险等级。若两种人格共用同一状态目录,去重缓存、插件清单与半写入的 JSON 会在突发 Webhook 下交错,尤其在 npm 升级或 launchctl kickstart 风暴之后。多智能体的核心是爆炸半径:为每个角色收窄工具面、用不同日志前缀区分,并在扩大权限前要求人工评审。把 agents.json 当基础设施代码:走同行评审、在发布包中附带校验和,并按区域灰度,让东京金丝雀失败不会拖垮新加坡流量。

运维默认策略:若入站事件无法映射到唯一智能体画像,应失败闭合并记录——关联 ID 需与 nginx 访问日志一致;切勿仅凭聊天自由文本猜测人格。

agents.json 与网关进程模型的分层关系

可分三层理解:传输层(HTTP、Slack、Telegram 等)、网关层(路由、鉴权、限流)与智能体运行时(工具执行、模型调用、文件系统策略)。agents.json 属于运行时层——声明命名智能体、默认模型、技能包及各智能体策略字段。网关在启动时读取这些声明;若在受控重启之外热改,容易出现“内存里一半旧策略”。请记录你的 OpenClaw 版本里哪些字段可热加载、哪些必须按 checkpoint 指南 做停启顺序。

  • 身份 — 稳定的 id 字符串,供路由与指标引用。
  • 范围 — 工作区根路径,必须与 单体仓库护栏 中的白名单一致。
  • 工具 — 显式允许/拒绝列表;运维画像可包含服务控制类工具,研发画像应省略。

研发与运维人格:彼此不应继承的权限

研发助手 应偏向只读仓库导航、利于 diff 的小范围编辑,以及限定在 CI 检出目录内的测试命令。运维自动化 可能需要更广的主机自省,但仍须避免交互式提示与无界 shell。两类人格的内联提示词都不应硬编码密钥——从 macOS 钥匙串或 plist 引用的密封环境文件加载。团队一旦“临时”模糊边界,事故就会跟着来:聊天线程继承了运维工具,在操作者仍以为是只读探索时去触碰 launchd plist。

护栏:在经 Git 评审的 JSON 中为每个智能体写一行“使命陈述”,事故时 diff 意图而不只看工具表。

单机多智能体下的 OPENCLAW_STATE_DIR 隔离

在可预测前缀下拆分状态根,例如 ~/Library/Application Support/OpenClaw/state-dev.../state-ops;若多条产品线共用一台租赁机,再按租户分子目录。切勿把一个状态树符号链接到另一个;APFS firmlink 与备份工具可能抹平你以为的边界。为每个智能体对齐独立的 TMPDIR 导出,避免并行任务互相删除半成品上传。目录迁移后,按 doctor 分流 中的验证步骤,确认非交互 shell 下网关解析到预期路径。

# 示例:在 launchd 封装脚本中 export 后 exec #!/bin/bash set -euo pipefail export OPENCLAW_STATE_DIR="$HOME/.openclaw-state/ops" exec /usr/local/bin/openclaw gateway --config "$HOME/.openclaw/ops-gateway.json"

网关路由:关联键、频道与碰撞规避

入站 Webhook 应携带稳定标识——仓库全名加投递 id、Slack 团队加频道加线程 ts,或签名过的内部作业令牌。将每种标识模式映射到单一 id;避免正则兜底把流量误送到默认助手而本应走运维自动化。单主机双网关时,可复用双端口文章中的上游标签思路,但人格路由应与 A/B 流量切分正交。上线期在 info 级别记录路由决策,待错误预算稳定后再降级日志。

决策矩阵:单智能体、拆分 agents.json 与拆分网关进程

信号 倾向单智能体 倾向拆分 agents.json 倾向拆分网关进程
工具面重叠度 高重叠、同类风险 低重叠、同一网关鉴权域 不同鉴权域或 TLS 证书
发布节奏 仅周更提示词 不同团队各管一份 JSON 独立 SLO 或维护窗口
状态目录争用 写少、缓存小 checkpoint 或插件 IO 重 合规审计需要硬隔离
运维成本 组件最少 中等:更多目录与路由测试 最高:双倍 launchd 与健康探测

在租用 Apple Silicon 上落地多智能体 OpenClaw 的八步

  1. 梳理过去 30 天内所有自动化与人工触发、命中网关的入口。
  2. 起草含研发与运维画像的 agents.json;工作区根按 白名单指南 绑定。
  3. 创建兄弟 OPENCLAW_STATE_DIR 树,匹配属主与磁盘配额。
  4. 实现确定性路由规则,并为样例负载编写单元测试。
  5. 按人格部署 plist 或封装脚本;先在预发用 launchctl kickstart 验证。
  6. 运行合成分流:路由错误时必须失败。
  7. 采集前后指标:被拒工具尝试次数与网关 p95 延迟。
  8. 文档化回滚:状态目录 tarball 与打 Git tag 的旧 JSON。

多智能体网关 SLO 信号

信号 阈值 动作
路由歧义率 请求中 > 0.1% 冻结路由变更并补充显式匹配
状态目录交叉写 在声明根之外出现任意 停止网关并从 checkpoint 快照恢复
Git JSON 与主机文件漂移 任意未发布的 SSH 手改 回滚主机并强制仅 PR 部署

常见问题

问题 实务答复(2026-05-13)
研发与运维是否应共享同一份模型允许列表? 若成本统一治理可共享提供商列表;若运维作业必须更便宜或可离线端点,则拆分禁用模型列表。
事故中能否 SSH 热改 agents.json 仅在有配对重启计划与已打 Git 标签的前提下;否则优先改路由侧特性开关,爆炸半径更短。

为何 Mac mini M4 租用更适合多智能体 OpenClaw

高速 NVMe 与充足的统一内存可同时承载多份状态树、并行模型缓存与网关健康检查,避免在排练路由变更时 CI 仍在全量编译导致交换抖动。通过 定价页 对比区域容量;在扩大工具权限前,先把同事导向 SSH/VNC 指南

租用能把多智能体策略真正落到盘上的构建机

HK / JP / KR / SG / US · SSH / 可选 VNC