2026-05-13 OpenClaw 多智慧體 agents.json 角色拆分與無頭租用 Apple Silicon 雲端 Mac(HK / JP / KR / SG / US)
單閘道、單人格、單條誤刪故事線——直到你把 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 當基礎設施程式:走同行審核、在發佈包附校驗和,並按區域灰度,讓東京金絲雀失敗不會拖垮新加坡流量。
agents.json 與閘道程序模型的分層關係
可分三層理解:傳輸層(HTTP、Slack、Telegram 等)、閘道層(路由、鑑權、限流)與智慧體執行時期(工具執行、模型呼叫、檔案系統策略)。agents.json 屬於執行時期——宣告具名智慧體、預設模型、技能包及各智慧體策略欄位。閘道在啟動時讀取這些宣告;若在受控重啟之外熱改,容易出現「記憶體裡一半舊策略」。請記錄你的 OpenClaw 版本裡哪些欄位可熱載入、哪些必須依 checkpoint 指南 做停啟順序。
- 身分 — 穩定的
id字串,供路由與指標引用。 - 範圍 — 工作區根路徑,須與 單體倉庫護欄 中的白名單一致。
- 工具 — 明確允許/拒絕清單;維運畫像可含服務控制類工具,開發畫像應省略。
開發與維運人格:彼此不應繼承的權限
開發助理 應偏向唯讀倉庫導覽、利於 diff 的小範圍編輯,以及限定在 CI 檢出目錄內的測試指令。維運自動化 可能需要更廣的主機自省,但仍須避免互動式提示與無界 shell。兩類人格的內嵌提示詞都不應硬編碼金鑰——從 macOS 鑰匙圈或 plist 引用的密封環境檔載入。團隊一旦「暫時」模糊邊界,事故就跟著來:聊天執行緒繼承了維運工具,在操作者仍以為是唯讀探索時去碰觸 launchd plist。
單機多智慧體下的 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 的八步
- 盤點過去 30 天內所有自動化與人工觸發、命中閘道的入口。
- 起草含開發與維運畫像的
agents.json;工作區根依 白名單指南 綁定。 - 建立兄弟
OPENCLAW_STATE_DIR樹,匹配擁有者與磁碟配額。 - 實作確定性路由規則,並為樣本負載撰寫單元測試。
- 依人格部署 plist 或封裝指令稿;先在預發以
launchctl kickstart驗證。 - 執行合成分流:路由錯誤時必須失敗。
- 採集前後指標:被拒工具嘗試次數與閘道 p95 延遲。
- 文件化回復:狀態目錄 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 指南。