Synology Chat
Statut : plugin intégré de canal de message direct utilisant les webhooks Synology Chat. Le plugin accepte les messages entrants des webhooks sortants Synology Chat et envoie les réponses via un webhook entrant Synology Chat.Plugin intégré
Synology Chat est fourni comme plugin intégré dans les versions actuelles d’OpenClaw, donc les builds empaquetés normaux n’ont pas besoin d’une installation séparée. Si vous utilisez une version plus ancienne ou une installation personnalisée qui exclut Synology Chat, installez-le manuellement : Installer depuis un checkout local :Configuration rapide
- Assurez-vous que le plugin Synology Chat est disponible.
- Les versions empaquetées actuelles d’OpenClaw l’incluent déjà.
- Les installations plus anciennes/personnalisées peuvent l’ajouter manuellement depuis un checkout source avec la commande ci-dessus.
openclaw onboardaffiche désormais Synology Chat dans la même liste de configuration des canaux queopenclaw channels add.- Configuration non interactive :
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- Dans les intégrations Synology Chat :
- Créez un webhook entrant et copiez son URL.
- Créez un webhook sortant avec votre jeton secret.
- Pointez l’URL du webhook sortant vers votre gateway OpenClaw :
https://gateway-host/webhook/synologypar défaut.- Ou votre
channels.synology-chat.webhookPathpersonnalisé.
- Terminez la configuration dans OpenClaw.
- Guidé :
openclaw onboard - Direct :
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- Guidé :
- Redémarrez la gateway et envoyez un message direct au bot Synology Chat.
- OpenClaw accepte le jeton du webhook sortant depuis
body.token, puis?token=..., puis les en-têtes. - Formes d’en-tête acceptées :
x-synology-tokenx-webhook-tokenx-openclaw-tokenAuthorization: Bearer <token>
- Les jetons vides ou manquants échouent en mode fermé.
Variables d’environnement
Pour le compte par défaut, vous pouvez utiliser des variables d’environnement :SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(séparés par des virgules)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
Politique DM et contrôle d’accès
dmPolicy: "allowlist"est la valeur par défaut recommandée.allowedUserIdsaccepte une liste (ou une chaîne séparée par des virgules) d’identifiants utilisateur Synology.- En mode
allowlist, une listeallowedUserIdsvide est traitée comme une mauvaise configuration et la route webhook ne démarrera pas (utilisezdmPolicy: "open"pour tout autoriser). dmPolicy: "open"autorise n’importe quel expéditeur.dmPolicy: "disabled"bloque les messages directs.- La liaison du destinataire des réponses reste basée par défaut sur le
user_idnumérique stable.channels.synology-chat.dangerouslyAllowNameMatching: trueest un mode de compatibilité de secours qui réactive la recherche basée sur un nom d’utilisateur/surnom mutable pour la remise des réponses. - Les approbations d’appairage fonctionnent avec :
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
Remise sortante
Utilisez des identifiants utilisateur Synology Chat numériques comme cibles. Exemples :Multi-comptes
Plusieurs comptes Synology Chat sont pris en charge souschannels.synology-chat.accounts.
Chaque compte peut surcharger le jeton, l’URL entrante, le chemin webhook, la politique DM et les limites.
Les sessions de message direct sont isolées par compte et par utilisateur ; ainsi, le même user_id numérique
sur deux comptes Synology différents ne partage pas l’état de transcription.
Attribuez à chaque compte activé un webhookPath distinct. OpenClaw rejette désormais les chemins exacts dupliqués
et refuse de démarrer les comptes nommés qui héritent uniquement d’un chemin webhook partagé dans les configurations multi-comptes.
Si vous avez intentionnellement besoin de l’héritage historique pour un compte nommé, définissez
dangerouslyAllowInheritedWebhookPath: true sur ce compte ou dans channels.synology-chat,
mais les chemins exacts dupliqués sont toujours rejetés en mode fermé. Préférez des chemins explicites par compte.
Notes de sécurité
- Gardez
tokensecret et faites-le tourner en cas de fuite. - Gardez
allowInsecureSsl: falsesauf si vous faites explicitement confiance à un certificat NAS local auto-signé. - Les requêtes webhook entrantes sont vérifiées par jeton et limitées en débit par expéditeur.
- Les vérifications de jeton invalide utilisent une comparaison de secret en temps constant et échouent en mode fermé.
- Préférez
dmPolicy: "allowlist"en production. - Laissez
dangerouslyAllowNameMatchingdésactivé sauf si vous avez explicitement besoin de la remise des réponses historique basée sur le nom d’utilisateur. - Laissez
dangerouslyAllowInheritedWebhookPathdésactivé sauf si vous acceptez explicitement le risque de routage à chemin partagé dans une configuration multi-comptes.
Dépannage
Missing required fields (token, user_id, text):- la charge utile du webhook sortant ne contient pas l’un des champs requis
- si Synology envoie le jeton dans les en-têtes, assurez-vous que la gateway/le proxy conserve ces en-têtes
Invalid token:- le secret du webhook sortant ne correspond pas à
channels.synology-chat.token - la requête atteint le mauvais compte/chemin webhook
- un proxy inverse a supprimé l’en-tête du jeton avant que la requête n’atteigne OpenClaw
- le secret du webhook sortant ne correspond pas à
Rate limit exceeded:- trop de tentatives de jeton invalide depuis la même source peuvent temporairement bloquer cette source
- les expéditeurs authentifiés ont aussi une limite de débit de messages distincte par utilisateur
Allowlist is empty. Configure allowedUserIds or use dmPolicy=open.:dmPolicy="allowlist"est activé mais aucun utilisateur n’est configuré
User not authorized:- le
user_idnumérique de l’expéditeur n’est pas dansallowedUserIds
- le
Voir aussi
- Channels Overview — tous les canaux pris en charge
- Pairing — authentification DM et flux d’appairage
- Groups — comportement des discussions de groupe et filtrage par mention
- Channel Routing — routage de session pour les messages
- Security — modèle d’accès et renforcement