Synology Chat
Status: gebündelter Plugin-Kanal für Direktnachrichten mit Synology Chat-Webhooks. Das Plugin akzeptiert eingehende Nachrichten von ausgehenden Synology Chat-Webhooks und sendet Antworten über einen eingehenden Synology Chat-Webhook.Gebündeltes Plugin
Synology Chat wird in aktuellen OpenClaw-Versionen als gebündeltes Plugin mitgeliefert, daher benötigen normale Paket-Builds keine separate Installation. Wenn Sie eine ältere Version oder eine benutzerdefinierte Installation ohne Synology Chat verwenden, installieren Sie es manuell: Aus einem lokalen Checkout installieren:Schnelleinrichtung
- Stellen Sie sicher, dass das Synology Chat-Plugin verfügbar ist.
- Aktuelle paketierte OpenClaw-Versionen enthalten es bereits.
- Ältere/benutzerdefinierte Installationen können es mit dem obigen Befehl manuell aus einem Source-Checkout hinzufügen.
openclaw onboardzeigt Synology Chat jetzt in derselben Liste zur Kanaleinrichtung wieopenclaw channels addan.- Nicht interaktive Einrichtung:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- In den Synology Chat-Integrationen:
- Erstellen Sie einen eingehenden Webhook und kopieren Sie dessen URL.
- Erstellen Sie einen ausgehenden Webhook mit Ihrem geheimen Token.
- Richten Sie die URL des ausgehenden Webhooks auf Ihr OpenClaw-Gateway:
- Standardmäßig
https://gateway-host/webhook/synology. - Oder Ihren benutzerdefinierten
channels.synology-chat.webhookPath.
- Standardmäßig
- Schließen Sie die Einrichtung in OpenClaw ab.
- Geführt:
openclaw onboard - Direkt:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- Geführt:
- Starten Sie das Gateway neu und senden Sie eine DM an den Synology Chat-Bot.
- OpenClaw akzeptiert das Token des ausgehenden Webhooks aus
body.token, dann?token=..., dann aus Headern. - Akzeptierte Header-Formen:
x-synology-tokenx-webhook-tokenx-openclaw-tokenAuthorization: Bearer <token>
- Leere oder fehlende Tokens schlagen fail-closed fehl.
Umgebungsvariablen
Für das Standardkonto können Sie Umgebungsvariablen verwenden:SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(durch Kommas getrennt)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
DM-Richtlinie und Zugriffskontrolle
dmPolicy: "allowlist"ist der empfohlene Standard.allowedUserIdsakzeptiert eine Liste (oder eine durch Kommas getrennte Zeichenfolge) von Synology-Benutzer-IDs.- Im Modus
allowlistwird eine leere ListeallowedUserIdsals Fehlkonfiguration behandelt und die Webhook-Route wird nicht gestartet (verwenden SiedmPolicy: "open"für Zulassen-aller). dmPolicy: "open"erlaubt jeden Absender.dmPolicy: "disabled"blockiert DMs.- Die Bindung des Antwortempfängers bleibt standardmäßig an die stabile numerische
user_idgebunden.channels.synology-chat.dangerouslyAllowNameMatching: trueist ein Break-Glass-Kompatibilitätsmodus, der die veränderliche Suche nach Benutzername/Spitzname für die Antwortzustellung wieder aktiviert. - Kopplungsgenehmigungen funktionieren mit:
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
Ausgehende Zustellung
Verwenden Sie numerische Synology Chat-Benutzer-IDs als Ziele. Beispiele:Multi-Account
Mehrere Synology Chat-Konten werden unterchannels.synology-chat.accounts unterstützt.
Jedes Konto kann Token, eingehende URL, Webhook-Pfad, DM-Richtlinie und Limits überschreiben.
Direktnachrichtensitzungen sind pro Konto und Benutzer isoliert, sodass dieselbe numerische user_id
auf zwei verschiedenen Synology-Konten keinen gemeinsamen Transkriptzustand teilt.
Geben Sie jedem aktivierten Konto einen eigenen webhookPath. OpenClaw lehnt jetzt doppelte exakte Pfade ab
und verweigert den Start benannter Konten, die in Multi-Account-Setups nur einen gemeinsamen Webhook-Pfad erben.
Wenn Sie absichtlich eine veraltete Vererbung für ein benanntes Konto benötigen, setzen Sie
dangerouslyAllowInheritedWebhookPath: true für dieses Konto oder unter channels.synology-chat,
aber doppelte exakte Pfade werden weiterhin fail-closed abgelehnt. Bevorzugen Sie explizite Pfade pro Konto.
Sicherheitshinweise
- Halten Sie
tokengeheim und rotieren Sie es, wenn es offengelegt wurde. - Lassen Sie
allowInsecureSsl: false, es sei denn, Sie vertrauen einem selbstsignierten lokalen NAS-Zertifikat ausdrücklich. - Eingehende Webhook-Anfragen werden tokenverifiziert und pro Absender ratenbegrenzt.
- Prüfungen ungültiger Tokens verwenden einen Vergleich von Geheimnissen in konstanter Zeit und schlagen fail-closed fehl.
- Bevorzugen Sie
dmPolicy: "allowlist"für den Produktionseinsatz. - Lassen Sie
dangerouslyAllowNameMatchingdeaktiviert, es sei denn, Sie benötigen ausdrücklich die veraltete antwortbasierte Zustellung über Benutzernamen. - Lassen Sie
dangerouslyAllowInheritedWebhookPathdeaktiviert, es sei denn, Sie akzeptieren ausdrücklich das Risiko gemeinsamen Pfad-Routings in einem Multi-Account-Setup.
Fehlerbehebung
Missing required fields (token, user_id, text):- in der Nutzlast des ausgehenden Webhooks fehlt eines der erforderlichen Felder
- wenn Synology das Token in Headern sendet, stellen Sie sicher, dass das Gateway/der Proxy diese Header beibehält
Invalid token:- das Geheimnis des ausgehenden Webhooks stimmt nicht mit
channels.synology-chat.tokenüberein - die Anfrage trifft das falsche Konto/den falschen Webhook-Pfad
- ein Reverse-Proxy hat den Token-Header entfernt, bevor die Anfrage OpenClaw erreicht hat
- das Geheimnis des ausgehenden Webhooks stimmt nicht mit
Rate limit exceeded:- zu viele ungültige Token-Versuche aus derselben Quelle können diese Quelle vorübergehend aussperren
- authentifizierte Absender haben außerdem ein separates Ratenlimit pro Benutzer für Nachrichten
Allowlist is empty. Configure allowedUserIds or use dmPolicy=open.:dmPolicy="allowlist"ist aktiviert, aber es sind keine Benutzer konfiguriert
User not authorized:- die numerische
user_iddes Absenders ist nicht inallowedUserIds
- die numerische
Verwandt
- Channels Overview — alle unterstützten Kanäle
- Pairing — DM-Authentifizierung und Kopplungsablauf
- Groups — Verhalten in Gruppenchats und Mention-Gating
- Channel Routing — Sitzungsrouting für Nachrichten
- Security — Zugriffsmodell und Härtung