Synology Chat
Stato: canale di messaggi diretti con plugin incluso che usa webhook Synology Chat. Il plugin accetta messaggi in ingresso dai webhook in uscita di Synology Chat e invia le risposte tramite un webhook in ingresso di Synology Chat.Plugin incluso
Synology Chat è fornito come plugin incluso nelle attuali release di OpenClaw, quindi le normali build pacchettizzate non richiedono un’installazione separata. Se usi una build più vecchia o un’installazione personalizzata che esclude Synology Chat, installalo manualmente: Installa da un checkout locale:Configurazione rapida
- Assicurati che il plugin Synology Chat sia disponibile.
- Le attuali release pacchettizzate di OpenClaw lo includono già.
- Le installazioni vecchie/personalizzate possono aggiungerlo manualmente da un checkout del sorgente con il comando sopra.
openclaw onboardora mostra Synology Chat nello stesso elenco di configurazione canali diopenclaw channels add.- Configurazione non interattiva:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- Nelle integrazioni Synology Chat:
- Crea un webhook in ingresso e copia il suo URL.
- Crea un webhook in uscita con il tuo token segreto.
- Punta l’URL del webhook in uscita al tuo gateway OpenClaw:
https://gateway-host/webhook/synologyper impostazione predefinita.- Oppure al tuo
channels.synology-chat.webhookPathpersonalizzato.
- Completa la configurazione in OpenClaw.
- Guidata:
openclaw onboard - Diretta:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- Guidata:
- Riavvia il gateway e invia un DM al bot Synology Chat.
- OpenClaw accetta il token del webhook in uscita da
body.token, poi?token=..., poi dagli header. - Forme di header accettate:
x-synology-tokenx-webhook-tokenx-openclaw-tokenAuthorization: Bearer <token>
- I token vuoti o mancanti falliscono in modalità fail-closed.
Variabili d’ambiente
Per l’account predefinito, puoi usare variabili d’ambiente:SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(separati da virgole)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
Policy DM e controllo degli accessi
dmPolicy: "allowlist"è il valore predefinito consigliato.allowedUserIdsaccetta un elenco (o una stringa separata da virgole) di ID utente Synology.- In modalità
allowlist, un elencoallowedUserIdsvuoto viene trattato come configurazione errata e la route del webhook non verrà avviata (usadmPolicy: "open"per consentire tutti). dmPolicy: "open"consente qualsiasi mittente.dmPolicy: "disabled"blocca i DM.- Il binding del destinatario della risposta resta associato di default allo stabile
user_idnumerico.channels.synology-chat.dangerouslyAllowNameMatching: trueè una modalità di compatibilità di emergenza che riabilita la ricerca di username/nickname modificabili per la consegna delle risposte. - Le approvazioni di pairing funzionano con:
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
Consegna in uscita
Usa ID utente numerici di Synology Chat come destinazioni. Esempi:Account multipli
Sono supportati più account Synology Chat sottochannels.synology-chat.accounts.
Ogni account può sovrascrivere token, URL in ingresso, percorso del webhook, policy DM e limiti.
Le sessioni di messaggi diretti sono isolate per account e utente, quindi lo stesso user_id numerico
su due account Synology diversi non condivide lo stato della trascrizione.
Assegna a ogni account abilitato un webhookPath distinto. OpenClaw ora rifiuta percorsi esatti duplicati
e si rifiuta di avviare account nominati che ereditano soltanto un percorso webhook condiviso nelle configurazioni multi-account.
Se hai intenzionalmente bisogno dell’ereditarietà legacy per un account nominato, imposta
dangerouslyAllowInheritedWebhookPath: true su quell’account o su channels.synology-chat,
ma i percorsi esatti duplicati vengono comunque rifiutati in modalità fail-closed. Preferisci percorsi espliciti per account.
Note di sicurezza
- Mantieni segreto
tokene ruotalo se viene esposto. - Mantieni
allowInsecureSsl: falsea meno che tu non ti fidi esplicitamente di un certificato NAS locale self-signed. - Le richieste webhook in ingresso vengono verificate tramite token e soggette a rate limit per mittente.
- I controlli su token non validi usano un confronto del segreto a tempo costante e falliscono in modalità fail-closed.
- Preferisci
dmPolicy: "allowlist"per la produzione. - Mantieni
dangerouslyAllowNameMatchingdisattivato a meno che tu non abbia esplicitamente bisogno della consegna delle risposte legacy basata su username. - Mantieni
dangerouslyAllowInheritedWebhookPathdisattivato a meno che tu non accetti esplicitamente il rischio di instradamento su percorso condiviso in una configurazione multi-account.
Risoluzione dei problemi
Missing required fields (token, user_id, text):- nel payload del webhook in uscita manca uno dei campi richiesti
- se Synology invia il token negli header, assicurati che il gateway/proxy preservi tali header
Invalid token:- il segreto del webhook in uscita non corrisponde a
channels.synology-chat.token - la richiesta sta colpendo l’account o il percorso webhook sbagliato
- un reverse proxy ha rimosso l’header del token prima che la richiesta raggiungesse OpenClaw
- il segreto del webhook in uscita non corrisponde a
Rate limit exceeded:- troppi tentativi con token non validi dalla stessa origine possono bloccare temporaneamente quell’origine
- i mittenti autenticati hanno anche un rate limit separato per utente
Allowlist is empty. Configure allowedUserIds or use dmPolicy=open.:dmPolicy="allowlist"è abilitato ma non sono configurati utenti
User not authorized:- il
user_idnumerico del mittente non è inallowedUserIds
- il
Correlati
- Panoramica dei canali — tutti i canali supportati
- Pairing — autenticazione DM e flusso di pairing
- Gruppi — comportamento delle chat di gruppo e gating delle menzioni
- Instradamento dei canali — instradamento della sessione per i messaggi
- Sicurezza — modello di accesso e hardening