Synology Chat (plugin)

Statut : pris en charge via plugin comme canal de messages prives utilisant les webhooks Synology Chat. Le plugin accepte les messages entrants depuis les webhooks sortants Synology Chat et envoie les reponses via un webhook entrant Synology Chat.

Plugin requis

Synology Chat est base sur un plugin et ne fait pas partie de l’installation de base.

Installation depuis un checkout local :

openclaw plugins install ./extensions/synology-chat

Details : Plugins

Configuration rapide

  1. Installez et activez le plugin Synology Chat.
  2. Dans les integrations Synology Chat :
    • Creez un webhook entrant et copiez son URL.
    • Creez un webhook sortant avec votre jeton secret.
  3. Pointez l’URL du webhook sortant vers votre gateway OpenClaw :
    • https://gateway-host/webhook/synology par defaut.
    • Ou votre channels.synology-chat.webhookPath personnalise.
  4. Configurez channels.synology-chat dans OpenClaw.
  5. Redemarrez la gateway et envoyez un DM au bot Synology Chat.

Configuration minimale :

{
  channels: {
    "synology-chat": {
      enabled: true,
      token: "synology-outgoing-token",
      incomingUrl: "https://nas.example.com/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token=...",
      webhookPath: "/webhook/synology",
      dmPolicy: "allowlist",
      allowedUserIds: ["123456"],
      rateLimitPerMinute: 30,
      allowInsecureSsl: false,
    },
  },
}

Variables d’environnement

Pour le compte par defaut, vous pouvez utiliser des variables d’environnement :

  • SYNOLOGY_CHAT_TOKEN
  • SYNOLOGY_CHAT_INCOMING_URL
  • SYNOLOGY_NAS_HOST
  • SYNOLOGY_ALLOWED_USER_IDS (separees par des virgules)
  • SYNOLOGY_RATE_LIMIT
  • OPENCLAW_BOT_NAME

Les valeurs de configuration priment sur les variables d’environnement.

Politique DM et controle d’acces

  • dmPolicy: "allowlist" est la valeur par defaut recommandee.
  • allowedUserIds accepte une liste (ou une chaine separee par des virgules) d’identifiants utilisateur Synology.
  • En mode allowlist, une liste allowedUserIds vide est consideree comme une erreur de configuration et la route webhook ne demarrera pas (utilisez dmPolicy: "open" pour autoriser tout le monde).
  • dmPolicy: "open" autorise tous les expediteurs.
  • dmPolicy: "disabled" bloque les DMs.
  • Les approbations d’appairage fonctionnent avec :
    • openclaw pairing list synology-chat
    • openclaw pairing approve synology-chat <CODE>

Livraison sortante

Utilisez les IDs numeriques d’utilisateur Synology Chat comme cibles.

Exemples :

openclaw message send --channel synology-chat --target 123456 --text "Hello from OpenClaw"
openclaw message send --channel synology-chat --target synology-chat:123456 --text "Hello again"

L’envoi de medias est pris en charge via la livraison de fichiers par URL.

Multi-comptes

Plusieurs comptes Synology Chat sont pris en charge sous channels.synology-chat.accounts. Chaque compte peut surcharger le jeton, l’URL entrante, le chemin du webhook, la politique DM et les limites.

{
  channels: {
    "synology-chat": {
      enabled: true,
      accounts: {
        default: {
          token: "token-a",
          incomingUrl: "https://nas-a.example.com/...token=...",
        },
        alerts: {
          token: "token-b",
          incomingUrl: "https://nas-b.example.com/...token=...",
          webhookPath: "/webhook/synology-alerts",
          dmPolicy: "allowlist",
          allowedUserIds: ["987654"],
        },
      },
    },
  },
}

Remarques de securite

  • Gardez le token secret et faites-le tourner s’il est compromis.
  • Gardez allowInsecureSsl: false sauf si vous faites explicitement confiance a un certificat auto-signe local du NAS.
  • Les requetes webhook entrantes sont verifiees par jeton et limitees en debit par expediteur.
  • Preferez dmPolicy: "allowlist" pour la production.