Vai al contenuto principale
Quando channels.matrix.streaming è "quiet", OpenClaw modifica sul posto un singolo evento di anteprima e contrassegna la modifica finalizzata con un flag personalizzato nel contenuto. I client Matrix inviano una notifica sulla modifica finale solo se una regola push per utente corrisponde a quel flag. Questa pagina è destinata agli operatori che self-hostano Matrix e vogliono installare quella regola per ogni account destinatario. Se vuoi solo il comportamento standard delle notifiche di Matrix, usa streaming: "partial" oppure lascia lo streaming disattivato. Vedi Configurazione del canale Matrix.

Prerequisiti

  • utente destinatario = la persona che deve ricevere la notifica
  • utente bot = l’account Matrix OpenClaw che invia la risposta
  • usa il token di accesso dell’utente destinatario per le chiamate API qui sotto
  • fai corrispondere sender nella regola push all’MXID completo dell’utente bot
  • l’account destinatario deve già avere pusher funzionanti — le regole di anteprima silenziosa funzionano solo quando il normale recapito push di Matrix è in salute

Passaggi

1

Configura le anteprime silenziose

{
  channels: {
    matrix: {
      streaming: "quiet",
    },
  },
}
2

Ottieni il token di accesso del destinatario

Riutilizza, quando possibile, il token di una sessione client esistente. Per crearne uno nuovo:
curl -sS -X POST \
  "https://matrix.example.org/_matrix/client/v3/login" \
  -H "Content-Type: application/json" \
  --data '{
    "type": "m.login.password",
    "identifier": { "type": "m.id.user", "user": "@alice:example.org" },
    "password": "REDACTED"
  }'
3

Verifica che esistano dei pusher

curl -sS \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  "https://matrix.example.org/_matrix/client/v3/pushers"
Se non viene restituito alcun pusher, risolvi il normale recapito push di Matrix per questo account prima di continuare.
4

Installa la regola push di override

OpenClaw contrassegna le modifiche finalizzate delle anteprime solo testuali con content["com.openclaw.finalized_preview"] = true. Installa una regola che corrisponda a quel marcatore più l’MXID del bot come mittente:
curl -sS -X PUT \
  "https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{
    "conditions": [
      { "kind": "event_match", "key": "type", "pattern": "m.room.message" },
      {
        "kind": "event_property_is",
        "key": "content.m\\.relates_to.rel_type",
        "value": "m.replace"
      },
      {
        "kind": "event_property_is",
        "key": "content.com\\.openclaw\\.finalized_preview",
        "value": true
      },
      { "kind": "event_match", "key": "sender", "pattern": "@bot:example.org" }
    ],
    "actions": [
      "notify",
      { "set_tweak": "sound", "value": "default" },
      { "set_tweak": "highlight", "value": false }
    ]
  }'
Sostituisci prima di eseguire:
  • https://matrix.example.org: l’URL di base del tuo homeserver
  • $USER_ACCESS_TOKEN: il token di accesso dell’utente destinatario
  • openclaw-finalized-preview-botname: un ID regola univoco per bot per destinatario (modello: openclaw-finalized-preview-<botname>)
  • @bot:example.org: l’MXID del tuo bot OpenClaw, non quello del destinatario
5

Verifica

curl -sS \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  "https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname"
Poi testa una risposta in streaming. In modalità quiet la stanza mostra una bozza di anteprima silenziosa e invia una notifica una volta terminato il blocco o il turno.
Per rimuovere la regola in seguito, usa DELETE sullo stesso URL della regola con il token del destinatario.

Note su più bot

Le regole push sono identificate da ruleId: rieseguire PUT sullo stesso ID aggiorna una singola regola. Per più bot OpenClaw che notificano lo stesso destinatario, crea una regola per ogni bot con una corrispondenza del mittente distinta. Le nuove regole override definite dall’utente vengono inserite prima delle regole di soppressione predefinite, quindi non serve alcun parametro di ordinamento aggiuntivo. La regola influisce solo sulle modifiche delle anteprime solo testuali che possono essere finalizzate sul posto; i fallback per i media e i fallback per anteprime stale usano il normale recapito Matrix.

Note sull’homeserver

Non è richiesta alcuna modifica speciale a homeserver.yaml. Se le normali notifiche Matrix raggiungono già questo utente, il token del destinatario + la chiamata pushrules qui sopra sono il passaggio principale della configurazione.Se esegui Synapse dietro un reverse proxy o con worker, assicurati che /_matrix/client/.../pushrules/ raggiunga correttamente Synapse. Il recapito push è gestito dal processo principale o da synapse.app.pusher / worker pusher configurati — assicurati che siano in salute.
Stesso flusso di Synapse; non è necessaria alcuna configurazione specifica di Tuwunel per il marcatore di anteprima finalizzata.Se le notifiche scompaiono mentre l’utente è attivo su un altro dispositivo, controlla se suppress_push_when_active è abilitato. Tuwunel ha aggiunto questa opzione nella versione 1.4.2 (settembre 2025) e può sopprimere intenzionalmente le notifiche push verso altri dispositivi mentre un dispositivo è attivo.

Correlati