accessGroups, a następnie przywołujesz na listach dozwolonych kanałów za pomocą accessGroup:<name>.
Używaj ich, gdy te same osoby powinny mieć dostęp w kilku kanałach wiadomości lub gdy jeden zaufany zbiór ma służyć zarówno do autoryzacji wiadomości prywatnych, jak i nadawców w grupach.
Sama grupa nie przyznaje żadnych uprawnień. Ma znaczenie tylko wtedy, gdy odwołuje się do niej pole listy dozwolonych.
Statyczne grupy nadawców wiadomości
Statyczne grupy nadawców używajątype: "message.senders". Klucze w members są identyfikatorami kanałów wiadomości, a "*" oznacza wpisy wspólne dla wszystkich kanałów:
Wpisy są dopasowywane zgodnie ze standardowymi regułami
allowFrom kanału docelowego. OpenClaw nie przekształca identyfikatorów nadawców między kanałami: jeśli Alicja ma identyfikator Telegram i identyfikator Discord, umieść oba identyfikatory pod odpowiednimi kluczami kanałów.
Odwoływanie się do grup z list dozwolonych
Odwołuj się do grupy za pomocąaccessGroup:<name> wszędzie tam, gdzie ścieżka kanału wiadomości obsługuje listy dozwolonych nadawców.
Przykład listy dozwolonych dla wiadomości prywatnych:
Obsługiwane ścieżki kanałów wiadomości
Grupy dostępu działają we współdzielonych ścieżkach autoryzacji kanałów wiadomości:- listach dozwolonych nadawców wiadomości prywatnych, takich jak
channels.<channel>.allowFrom - listach dozwolonych nadawców grupowych, takich jak
channels.<channel>.groupAllowFrom - listach dozwolonych nadawców dla poszczególnych pomieszczeń danego kanału, które korzystają z tych samych reguł dopasowywania nadawców (na przykład
groups.<space>.usersw Google Chat) - ścieżkach autoryzacji poleceń, które ponownie wykorzystują listy dozwolonych nadawców kanałów wiadomości
message.senders są niezależne od kanału, dlatego nowe kanały wiadomości uzyskują ich obsługę, gdy używają współdzielonych mechanizmów wejściowych SDK pluginu zamiast niestandardowego rozwijania list dozwolonych.
Odbiorcy kanału Discord
Discord obsługuje również dynamiczny typ grupy dostępu:discord.channelAudience oznacza „zezwalaj na wiadomości prywatne od nadawców Discord, którzy obecnie mogą wyświetlać ten kanał serwera”. OpenClaw rozpoznaje nadawcę za pośrednictwem Discord w momencie autoryzacji i stosuje reguły uprawnienia Discord ViewChannel. Pole membership jest opcjonalne, a jego wartość domyślna to canViewChannel.
Użyj tego rozwiązania, gdy kanał Discord jest już źródłem prawdy dla zespołu, na przykład #maintainers lub #on-call.
Wymagania i zachowanie w razie błędów:
- Bot musi mieć dostęp do serwera i kanału.
- Bot wymaga opcji Server Members Intent w Discord Developer Portal.
- Grupa dostępu domyślnie odmawia dostępu, gdy Discord zwróci
Missing Access, nie można rozpoznać nadawcy jako członka serwera lub kanał należy do innego serwera.
Diagnostyka pluginów
Autorzy pluginów mogą sprawdzać ustrukturyzowany stan grup dostępu bez ponownego rozwijania go do płaskiej listy dozwolonych:expandAllowFromWithAccessGroups(...) używaj tylko w ścieżkach zgodności, które nadal oczekują płaskiej tablicy allowFrom.
Uwagi dotyczące bezpieczeństwa
- Grupy dostępu są aliasami list dozwolonych, a nie rolami. Same nie tworzą właścicieli, nie zatwierdzają żądań parowania ani nie przyznają uprawnień do narzędzi.
dmPolicy: "open"nadal wymaga"*"na efektywnej liście dozwolonych dla wiadomości prywatnych. Odwołanie do grupy dostępu nie jest równoznaczne z dostępem publicznym.- Brakujące nazwy grup domyślnie skutkują odmową dostępu. Jeśli
allowFromzawieraaccessGroup:operators, aleaccessGroups.operatorsnie istnieje, ten wpis nie autoryzuje nikogo. - Zachowuj stabilność identyfikatorów kanałów. Jeśli kanał obsługuje zarówno identyfikatory numeryczne lub użytkowników, jak i nazwy wyświetlane, preferuj identyfikatory.
Rozwiązywanie problemów
Jeśli nadawca powinien zostać dopasowany, ale jest blokowany:- Potwierdź, że pole listy dozwolonych zawiera dokładne odwołanie
accessGroup:<name>. - Potwierdź, że
accessGroups.<name>.typema prawidłową wartość. - Potwierdź, że identyfikator nadawcy znajduje się pod odpowiednim kluczem kanału lub pod
"*". - Potwierdź, że wpis używa standardowej składni listy dozwolonych danego kanału.
- W przypadku odbiorców kanału Discord potwierdź, że bot widzi kanał serwera i ma włączoną opcję Server Members Intent.
openclaw doctor. Polecenie wykrywa wiele nieprawidłowych kombinacji list dozwolonych i zasad przed uruchomieniem.