一個 Gateway 養多個助理——Bindings 路由,讓對的訊息找到對的助理
4 min read
如果你的工作群組和私人群組都用同一個助理回話,那場面會有多混亂⋯
多 Agent + Bindings 就是解法:每個場景,讓對的那個助理出來說話。
本篇學習目標
- 知道什麼情況需要多個 Agent
- 學會在 Config 裡定義多個 Agent
- 設定 Bindings 路由規則
- 找到 Telegram 群組 ID
為什麼要多個 Agent?
| 場景 | 需求 |
|---|---|
| 工作群組 vs 私人對話 | 不同工作區,資料不混 |
| 需要快速回覆 vs 深度分析 | 用不同模型 |
| 多個專案各自獨立 | 各用一個工作區 |
怎麼設定?兩步搞定
第一步:在 agents.list 定義你的助理們
{
"agents": {
"list": [
{ "id": "main", "name": "主站助理", "workspace": "~/.openclaw/workspace-main", "default": true },
{ "id": "project-a", "name": "專案 A", "workspace": "~/.openclaw/workspace-project-a" },
{ "id": "project-b", "name": "專案 B", "workspace": "~/.openclaw/workspace-project-b" }
]
}
}第二步:在 bindings 設定路由規則
就像門衛一樣:「從群組 A 進來的,去找助理 A;群組 B 的去找助理 B;其他的去找預設。」
{
"bindings": [
{ "agentId": "project-a", "match": { "channel": "telegram", "peer": { "kind": "group", "id": "-1001234567890" } } },
{ "agentId": "project-b", "match": { "channel": "telegram", "peer": { "kind": "group", "id": "-1009876543210" } } },
{ "agentId": "main", "match": { "channel": "telegram" } }
]
}⚠️ Bindings 順序超重要! 愈具體的規則寫在愈前面,匹配時「先命中先贏」。上面的例子中,群組規則要在「其他 Telegram」規則的前面。
怎麼找群組 ID?
方法一:在群組發一則訊息,然後:
openclaw logs --follow
# 找 log 裡的 chat.id,通常是負數如 -1001234567890方法二:把群組的任意訊息轉發給 @userinfobot,它會直接告訴你。
進階:不同 Bot 帳號對應不同助理
如果你有多個 Bot Token(用多個 Bot 帳號):
{
"channels": {
"telegram": {
"accounts": {
"default": { "botToken": "Bot A 的 Token" },
"alerts": { "botToken": "Bot B 的 Token" }
}
}
},
"bindings": [
{ "agentId": "main", "match": { "channel": "telegram", "accountId": "default" } },
{ "agentId": "alerts", "match": { "channel": "telegram", "accountId": "alerts" } }
]
}改完記得 Save
修改 Config 後按 Save / Apply。如果出現「baseHash 衝突」,是設定被其他地方改過了——重新載入 Config 再改一次即可。
下一步
現在你有多個助理了,下一篇我們來把其中一個部署到 VPS,讓他 24 小時隨時待命。