本網站為獨立社群專案,與 OpenClaw 官方無任何關聯。內容僅供參考。 了解更多

翻譯文件

本頁為社群翻譯版本,可能與官方最新內容有出入。 查看官方英文原文 →

多 Agent 路由

OpenClaw 多 Agent 路由機制,在單一 Gateway 中運行多個隔離 Agent,包括設定流程、路由架構與安全功能。

概覽

OpenClaw 支援在單一 Gateway 實例中運行多個隔離的 Agent。每個 Agent 獨立運作,擁有自己的工作區、驗證機制和工作階段儲存,而多個頻道帳號則能將訊息路由到不同的 Agent。

核心概念

什麼定義了一個 Agent

一個 Agent 由三個部分組成:

  • 包含設定檔的工作區(AGENTS.md、SOUL.md、USER.md)
  • 專用的狀態目錄agentDir),用於驗證和模型登錄
  • 工作階段儲存,用於聊天歷史

憑證隔離

驗證設定檔為每個 Agent 獨立。每個 Agent 從自己的 ~/.openclaw/agents/<agentId>/agent/auth-profiles.json 讀取,不應共享相同的 agentDir 以防止碰撞。

設定流程

快速入門包含四個步驟:

  1. 使用 CLI 精靈為每個 Agent 建立隔離的工作區
  2. 建立頻道帳號(Discord Bot、Telegram Bot、WhatsApp 號碼)
  3. 在設定檔中設定 Agent、帳號和綁定
  4. 重新啟動並使用診斷命令驗證路由

路由架構

綁定使用確定性匹配規則決定訊息流向。系統依以下優先順序評估匹配:

  1. Peer(特定的 DM/群組 ID)— 最高優先
  2. Parent peer 繼承路由
  3. Discord 角色 + Guild 組合
  4. Guild ID
  5. Team ID
  6. Account ID
  7. 頻道層級 後備
  8. 預設 Agent

若同一層級中有多個綁定匹配,設定順序中的第一個獲勝。若一個綁定設定了多個匹配欄位(例如 peer + guildId),所有指定的欄位都必須匹配(AND 語義)。

頻道特定範例

Discord

每個 Bot 接收一個唯一的 accountId,對應到單一 Agent。Token 儲存在 channels.discord.accounts.<id>.token

Telegram

Bot Token 位於 channels.telegram.accounts.<id>.botToken,透過 BotFather 為每個 Agent 建立獨立的 Bot。

WhatsApp

多個電話號碼對應到不同的 accountId 值,使一台伺服器能夠託管多個帳號而不會混淆工作階段。

進階功能

每個 Agent 的沙箱

自 v2026.1.6 起,Agent 可擁有個別的沙箱模式和工具限制。設定允許在 Agent 層級指定允許/拒絕的工具以及可選的 Docker 設定命令。

家庭 Agent 範例

專用的家庭 Agent 可綁定到特定的 WhatsApp 群組,搭配提及閘控和受限的工具存取,展示安全隔離的可能性。

多頻道範例

可透過頻道分割 Agent 職責 — 例如將 WhatsApp 對話路由到較快的 Sonnet 模型,而將 Telegram 互動導向 Claude Opus 以進行更深入的分析。