Synology Chat (Plugin)

Status: Unterstützt via Plugin als Direktnachrichten-Kanal mittels Synology Chat Webhooks. Das Plugin empfängt eingehende Nachrichten über Synology Chat Outgoing Webhooks und sendet Antworten über einen Synology Chat Incoming Webhook.

Plugin erforderlich

Synology Chat ist Plugin-basiert und nicht Teil der Standard-Kerninstallation.

Installation aus einem lokalen Checkout:

openclaw plugins install ./extensions/synology-chat

Details: Plugins

Schnelleinrichtung

  1. Installiere und aktiviere das Synology Chat Plugin.
  2. In den Synology Chat Integrationen:
    • Erstelle einen Incoming Webhook und kopiere seine URL.
    • Erstelle einen Outgoing Webhook mit deinem geheimen Token.
  3. Setze die Outgoing Webhook URL auf dein OpenClaw Gateway:
    • Standardmäßig https://gateway-host/webhook/synology.
    • Oder dein benutzerdefinierter channels.synology-chat.webhookPath.
  4. Konfiguriere channels.synology-chat in OpenClaw.
  5. Starte das Gateway neu und sende eine DM an den Synology Chat Bot.

Minimale Konfiguration:

{
  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,
    },
  },
}

Umgebungsvariablen

Für das Standardkonto kannst du Umgebungsvariablen verwenden:

  • SYNOLOGY_CHAT_TOKEN
  • SYNOLOGY_CHAT_INCOMING_URL
  • SYNOLOGY_NAS_HOST
  • SYNOLOGY_ALLOWED_USER_IDS (kommagetrennt)
  • SYNOLOGY_RATE_LIMIT
  • OPENCLAW_BOT_NAME

Konfigurationswerte überschreiben Umgebungsvariablen.

DM-Richtlinie und Zugriffssteuerung

  • dmPolicy: "allowlist" ist die empfohlene Standardeinstellung.
  • allowedUserIds akzeptiert eine Liste (oder kommagetrennte Zeichenkette) von Synology Benutzer-IDs.
  • Im allowlist-Modus wird eine leere allowedUserIds-Liste als Fehlkonfiguration behandelt und die Webhook-Route startet nicht (verwende dmPolicy: "open" für alle erlauben).
  • dmPolicy: "open" erlaubt jeden Absender.
  • dmPolicy: "disabled" blockiert DMs.
  • Pairing-Genehmigungen funktionieren mit:
    • openclaw pairing list synology-chat
    • openclaw pairing approve synology-chat <CODE>

Ausgehende Zustellung

Verwende numerische Synology Chat Benutzer-IDs als Ziele.

Beispiele:

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"

Mediensendungen werden durch URL-basierte Dateizustellung unterstützt.

Multi-Account

Mehrere Synology Chat Konten werden unter channels.synology-chat.accounts unterstützt. Jedes Konto kann Token, Incoming URL, Webhook-Pfad, DM-Richtlinie und Limits überschreiben.

{
  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"],
        },
      },
    },
  },
}

Sicherheitshinweise

  • Halte den token geheim und rotiere ihn bei Kompromittierung.
  • Behalte allowInsecureSsl: false bei, es sei denn, du vertraust einem selbstsignierten lokalen NAS-Zertifikat ausdrücklich.
  • Eingehende Webhook-Anfragen werden per Token verifiziert und pro Absender ratenbegrenzt.
  • Bevorzuge dmPolicy: "allowlist" für den Produktionsbetrieb.