Synology Chat
Status: dołączony plugin kanału wiadomości bezpośrednich używający webhooków Synology Chat. Plugin przyjmuje wiadomości przychodzące z webhooków wychodzących Synology Chat i wysyła odpowiedzi przez webhook przychodzący Synology Chat.Dołączony plugin
Synology Chat jest dostarczany jako dołączony plugin w bieżących wydaniach OpenClaw, więc zwykłe spakowane kompilacje nie wymagają osobnej instalacji. Jeśli używasz starszej kompilacji lub niestandardowej instalacji, która nie zawiera Synology Chat, zainstaluj go ręcznie: Zainstaluj z lokalnego checkoutu:Szybka konfiguracja
- Upewnij się, że plugin Synology Chat jest dostępny.
- Bieżące spakowane wydania OpenClaw już go zawierają.
- Starsze/niestandardowe instalacje mogą dodać go ręcznie z checkoutu źródeł za pomocą powyższego polecenia.
openclaw onboardwyświetla teraz Synology Chat na tej samej liście konfiguracji kanałów coopenclaw channels add.- Konfiguracja nieinteraktywna:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- W integracjach Synology Chat:
- Utwórz webhook przychodzący i skopiuj jego URL.
- Utwórz webhook wychodzący z tajnym tokenem.
- Skieruj URL webhooka wychodzącego do swojej bramy OpenClaw:
- Domyślnie
https://gateway-host/webhook/synology. - Lub do niestandardowego
channels.synology-chat.webhookPath.
- Domyślnie
- Dokończ konfigurację w OpenClaw.
- Z przewodnikiem:
openclaw onboard - Bezpośrednio:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- Z przewodnikiem:
- Uruchom ponownie bramę i wyślij DM do bota Synology Chat.
- OpenClaw akceptuje token webhooka wychodzącego z
body.token, następnie?token=..., a potem z nagłówków. - Akceptowane formy nagłówków:
x-synology-tokenx-webhook-tokenx-openclaw-tokenAuthorization: Bearer <token>
- Puste lub brakujące tokeny są odrzucane w trybie fail-closed.
Zmienne środowiskowe
Dla konta domyślnego możesz użyć zmiennych środowiskowych:SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(rozdzielane przecinkami)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
Zasady DM i kontrola dostępu
dmPolicy: "allowlist"to zalecana wartość domyślna.allowedUserIdsakceptuje listę (lub ciąg rozdzielany przecinkami) identyfikatorów użytkowników Synology.- W trybie
allowlistpusta listaallowedUserIdsjest traktowana jako błędna konfiguracja i trasa webhooka nie zostanie uruchomiona (użyjdmPolicy: "open"dla zezwolenia wszystkim). dmPolicy: "open"pozwala każdemu nadawcy.dmPolicy: "disabled"blokuje DM.- Powiązanie odbiorcy odpowiedzi domyślnie pozostaje oparte na stabilnym numerycznym
user_id.channels.synology-chat.dangerouslyAllowNameMatching: trueto awaryjny tryb zgodności, który ponownie włącza wyszukiwanie po zmiennej nazwie użytkownika/pseudonimie na potrzeby dostarczania odpowiedzi. - Zatwierdzanie parowania działa z:
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
Dostarczanie wychodzące
Używaj numerycznych identyfikatorów użytkowników Synology Chat jako celów. Przykłady:Wiele kont
Wiele kont Synology Chat jest obsługiwanych wchannels.synology-chat.accounts.
Każde konto może nadpisać token, URL przychodzący, ścieżkę webhooka, zasady DM i limity.
Sesje wiadomości bezpośrednich są izolowane dla każdego konta i użytkownika, więc ten sam numeryczny user_id
na dwóch różnych kontach Synology nie współdzieli stanu transkrypcji.
Nadaj każdemu włączonemu kontu odrębny webhookPath. OpenClaw odrzuca teraz zduplikowane dokładne ścieżki
i odmawia uruchomienia nazwanych kont, które w konfiguracjach wielokontowych dziedziczą wyłącznie wspólną ścieżkę webhooka.
Jeśli celowo potrzebujesz starszego dziedziczenia dla nazwanego konta, ustaw
dangerouslyAllowInheritedWebhookPath: true na tym koncie lub w channels.synology-chat,
ale zduplikowane dokładne ścieżki nadal są odrzucane w trybie fail-closed. Preferuj jawne ścieżki dla każdego konta.
Uwagi dotyczące bezpieczeństwa
- Zachowaj
tokenw tajemnicy i zmień go, jeśli wycieknie. - Pozostaw
allowInsecureSsl: false, chyba że wyraźnie ufasz lokalnemu certyfikatowi self-signed NAS. - Żądania przychodzących webhooków są weryfikowane tokenem i ograniczane szybkością na nadawcę.
- Kontrole nieprawidłowych tokenów używają porównywania sekretów w stałym czasie i działają w trybie fail-closed.
- W środowisku produkcyjnym preferuj
dmPolicy: "allowlist". - Pozostaw
dangerouslyAllowNameMatchingwyłączone, chyba że wyraźnie potrzebujesz starszego dostarczania odpowiedzi opartego na nazwie użytkownika. - Pozostaw
dangerouslyAllowInheritedWebhookPathwyłączone, chyba że wyraźnie akceptujesz ryzyko routingu współdzielonej ścieżki w konfiguracji wielokontowej.
Rozwiązywanie problemów
Missing required fields (token, user_id, text):- w ładunku webhooka wychodzącego brakuje jednego z wymaganych pól
- jeśli Synology wysyła token w nagłówkach, upewnij się, że brama/proxy zachowuje te nagłówki
Invalid token:- sekret webhooka wychodzącego nie pasuje do
channels.synology-chat.token - żądanie trafia do niewłaściwego konta/ścieżki webhooka
- reverse proxy usunęło nagłówek tokena, zanim żądanie dotarło do OpenClaw
- sekret webhooka wychodzącego nie pasuje do
Rate limit exceeded:- zbyt wiele prób z nieprawidłowym tokenem z tego samego źródła może tymczasowo zablokować to źródło
- uwierzytelnieni nadawcy mają też oddzielny limit szybkości wiadomości na użytkownika
Allowlist is empty. Configure allowedUserIds or use dmPolicy=open.:dmPolicy="allowlist"jest włączone, ale nie skonfigurowano żadnych użytkowników
User not authorized:- numeryczny
user_idnadawcy nie znajduje się wallowedUserIds
- numeryczny
Powiązane
- Channels Overview — wszystkie obsługiwane kanały
- Pairing — uwierzytelnianie DM i przepływ parowania
- Groups — zachowanie czatów grupowych i bramkowanie wzmianek
- Channel Routing — routing sesji dla wiadomości
- Security — model dostępu i utwardzanie