Mainstream messaging
Matrix-Push-Regeln für unaufdringliche Vorschauen
Wenn channels.matrix.streaming auf "quiet" gesetzt ist, streamt OpenClaw die Antwort, indem es ein einzelnes Vorschauereignis direkt aktualisiert. Vorschauen werden als nicht benachrichtigende m.notice-Ereignisse gesendet, und die abschließende Bearbeitung wird mit content["com.openclaw.finalized_preview"] = true markiert. Matrix-Clients benachrichtigen bei dieser abschließenden Bearbeitung nur, wenn eine benutzerspezifische Push-Regel auf die Markierung zutrifft. Diese Seite richtet sich an Betreiber, die Matrix selbst hosten und diese Regel für jedes Empfängerkonto installieren möchten.
streaming: "progress" schließt seine Entwürfe über denselben Pfad ab, sodass dieselbe Regel auch bei abgeschlossenen Bearbeitungen im Fortschrittsmodus ausgelöst wird.
Wenn Sie nur das standardmäßige Benachrichtigungsverhalten von Matrix wünschen, verwenden Sie streaming: "partial" oder lassen Sie Streaming deaktiviert. Siehe Einrichtung des Matrix-Kanals.
Voraussetzungen
- Empfängerbenutzer = die Person, die die Benachrichtigung erhalten soll
- Bot-Benutzer = das OpenClaw-Matrix-Konto, das die Antwort sendet
- Verwenden Sie für die folgenden API-Aufrufe das Zugriffstoken des Empfängerbenutzers
- Gleichen Sie
senderin der Push-Regel mit der vollständigen MXID des Bot-Benutzers ab - Für das Empfängerkonto müssen bereits funktionierende Pusher vorhanden sein; Regeln für stille Vorschauen funktionieren nur, wenn die normale Matrix-Push-Zustellung ordnungsgemäß funktioniert
Schritte
Stille Vorschauen konfigurieren
{channels: {matrix: { streaming: "quiet",},},}Zugriffstoken des Empfängers abrufen
Verwenden Sie nach Möglichkeit ein vorhandenes Client-Sitzungstoken erneut. So erstellen Sie ein neues:
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"}'Vorhandene Pusher überprüfen
curl -sS \-H "Authorization: Bearer $USER_ACCESS_TOKEN" \"https://matrix.example.org/_matrix/client/v3/pushers"Wenn keine Pusher zurückgegeben werden, beheben Sie die normale Matrix-Push-Zustellung für dieses Konto, bevor Sie fortfahren.
Überschreibende Push-Regel installieren
Installieren Sie eine Regel, die sowohl auf die Markierung der abgeschlossenen Vorschau als auch auf die MXID des Bots als Absender zutrifft:
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 }]}'Ersetzen Sie vor der Ausführung:
https://matrix.example.org: die Basis-URL Ihres Homeservers$USER_ACCESS_TOKEN: das Zugriffstoken des Empfängerbenutzersopenclaw-finalized-preview-botname: eine pro Bot und Empfänger eindeutige Regel-ID (Muster:openclaw-finalized-preview-<botname>)@bot:example.org: die MXID Ihres OpenClaw-Bots, nicht die des Empfängers
Überprüfen
curl -sS \-H "Authorization: Bearer $USER_ACCESS_TOKEN" \"https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname"Testen Sie anschließend eine gestreamte Antwort. Im stillen Modus zeigt der Raum eine stille Entwurfsvorschau an und sendet eine Benachrichtigung, sobald der Block oder Durchlauf abgeschlossen ist.
Um die Regel später zu entfernen, senden Sie mit dem Token des Empfängers eine DELETE-Anfrage an dieselbe Regel-URL.
Hinweise zu mehreren Bots
Push-Regeln werden nach ruleId identifiziert: Wenn PUT erneut mit derselben ID ausgeführt wird, wird eine einzelne Regel aktualisiert. Wenn mehrere OpenClaw-Bots denselben Empfänger benachrichtigen, erstellen Sie für jeden Bot eine eigene Regel mit einem individuellen Absenderabgleich.
Neue benutzerdefinierte override-Regeln werden vor den standardmäßigen Unterdrückungsregeln des Servers eingefügt, sodass kein zusätzlicher Reihenfolgeparameter erforderlich ist. Die Regel wirkt sich nur auf reine Textvorschau-Bearbeitungen aus, die direkt abgeschlossen werden können. Medienantworten, Ausweichvorgänge bei veralteten Vorschauen und endgültige Texte, die Matrix-Erwähnungen aktivieren würden, werden stattdessen als normale benachrichtigende Nachrichten zugestellt.
Hinweise zum Homeserver
Synapse
Es ist keine besondere Änderung an homeserver.yaml erforderlich. Wenn normale Matrix-Benachrichtigungen diesen Benutzer bereits erreichen, sind das Empfängertoken und der oben beschriebene pushrules-Aufruf die wesentlichen Einrichtungsschritte.
Wenn Sie Synapse hinter einem Reverse Proxy oder mit Workern betreiben, stellen Sie sicher, dass /_matrix/client/.../pushrules/ Synapse korrekt erreicht. Die Push-Zustellung wird vom Hauptprozess oder von synapse.app.pusher beziehungsweise konfigurierten Pusher-Workern verarbeitet – stellen Sie sicher, dass diese ordnungsgemäß funktionieren.
Die Regel verwendet die Push-Regel-Bedingung event_property_is (MSC3758, Push-Regel v1.10), die 2023 zu Synapse hinzugefügt wurde. Ältere Synapse-Versionen akzeptieren den Aufruf PUT pushrules/..., lassen die Bedingung jedoch unbemerkt nie zutreffen – aktualisieren Sie Synapse, wenn bei einer abgeschlossenen Vorschau-Bearbeitung keine Benachrichtigung eintrifft.
Tuwunel
Derselbe Ablauf wie bei Synapse; für die Markierung der abgeschlossenen Vorschau ist keine Tuwunel-spezifische Konfiguration erforderlich.
Wenn Benachrichtigungen ausbleiben, während der Benutzer auf einem anderen Gerät aktiv ist, prüfen Sie, ob suppress_push_when_active aktiviert ist. Tuwunel hat diese Option in 1.4.2 (September 2025) hinzugefügt; sie kann Push-Benachrichtigungen an andere Geräte absichtlich unterdrücken, während ein Gerät aktiv ist.