存取群組是具名的傳送者清單,你只需定義一次,並可透過Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
accessGroup:<name> 從通道允許清單參照。
當同一批人應該被允許使用多個訊息通道,或同一組受信任成員應同時套用於 DM 與群組傳送者授權時,請使用它們。
存取群組本身不會授予存取權。只有在允許清單欄位參照群組時,群組才有作用。
靜態訊息傳送者群組
靜態傳送者群組使用type: "message.senders"。
| 鍵 | 意義 |
|---|---|
"*" | 檢查每個參照該群組的訊息通道時共用的項目。 |
discord | 僅在 Discord 允許清單比對時檢查的項目。 |
telegram | 僅在 Telegram 允許清單比對時檢查的項目。 |
whatsapp | 僅在 WhatsApp 允許清單比對時檢查的項目。 |
allowFrom 規則進行比對。OpenClaw 不會在通道之間轉換傳送者 id。如果 Alice 同時有 Telegram id 和 Discord id,請將兩個 id 分別列在適當的鍵下。
從允許清單參照群組
在訊息通道路徑支援傳送者允許清單的任何位置,使用accessGroup:<name> 參照群組。
DM 允許清單範例:
支援的訊息通道路徑
存取群組可用於共用的訊息通道授權路徑,包括:- DM 傳送者允許清單,例如
channels.<channel>.allowFrom - 群組傳送者允許清單,例如
channels.<channel>.groupAllowFrom - 使用相同傳送者比對規則的通道特定各聊天室傳送者允許清單
- 重用訊息通道傳送者允許清單的命令授權路徑
message.senders 群組設計為與通道無關,因此新的訊息通道應透過使用共用的 plugin SDK 輔助工具來支援它們,而不是自訂允許清單展開。
Plugin 診斷
Plugin 作者可以檢查結構化存取群組狀態,而不必將其展開回扁平允許清單:allowFrom 陣列時,才使用 expandAllowFromWithAccessGroups(...)。
Discord 通道受眾
Discord 也支援動態存取群組類型:discord.channelAudience 的意思是「允許目前可以檢視此 guild 通道的 Discord DM 傳送者」。OpenClaw 會在授權時透過 Discord 解析傳送者,並套用 Discord ViewChannel 權限規則。
當 Discord 通道已經是團隊的事實來源時,例如 #maintainers 或 #on-call,請使用這個方法。
需求與失敗行為:
- bot 需要能夠存取 guild 和通道。
- bot 需要 Discord Developer Portal Server Members Intent。
- 當 Discord 傳回
Missing Access、傳送者無法解析為 guild 成員,或通道屬於另一個 guild 時,存取群組會封閉失敗。
安全性注意事項
- 存取群組是允許清單別名,而不是角色。它們本身不會建立擁有者、核准配對請求,或授予工具權限。
dmPolicy: "open"仍需要有效的 DM 允許清單中包含"*"。參照存取群組不等同於公開存取。- 遺失的群組名稱會封閉失敗。如果
allowFrom包含accessGroup:operators而accessGroups.operators不存在,該項目不會授權任何人。 - 保持通道 id 穩定。當通道同時支援數字/使用者 id 和顯示名稱時,偏好使用前者。
疑難排解
如果傳送者應該比對但被封鎖:- 確認允許清單欄位包含精確的
accessGroup:<name>參照。 - 確認
accessGroups.<name>.type正確。 - 確認傳送者 id 已列在相符的通道鍵下,或列在
"*"下。 - 確認該項目使用該通道的一般允許清單語法。
- 對於 Discord 通道受眾,確認 bot 可以看到 guild 通道,且已啟用 Server Members Intent。
openclaw doctor。它會在執行階段之前捕捉許多無效的允許清單與政策組合。