Mainstream messaging
Règles de notification push Matrix pour des aperçus silencieux
Lorsque channels.matrix.streaming.mode vaut "quiet", OpenClaw diffuse la réponse en modifiant sur place un seul événement d’aperçu. Les aperçus sont envoyés sous forme d’événements m.notice sans notification, et la modification finalisée est marquée avec content["com.openclaw.finalized_preview"] = true. Les clients Matrix n’émettent une notification pour cette modification finale que si une règle de notification propre à l’utilisateur correspond au marqueur. Cette page s’adresse aux opérateurs qui auto-hébergent Matrix et souhaitent installer cette règle pour chaque compte destinataire.
streaming.mode: "progress" finalise ses brouillons par le même chemin ; la même règle se déclenche donc également pour les modifications finalisées en mode progression.
Si vous souhaitez uniquement le comportement de notification Matrix standard, utilisez streaming.mode: "partial" ou laissez la diffusion désactivée. Consultez la configuration du canal Matrix.
Prérequis
- utilisateur destinataire = la personne qui doit recevoir la notification
- utilisateur bot = le compte Matrix d’OpenClaw qui envoie la réponse
- utilisez le jeton d’accès de l’utilisateur destinataire pour les appels d’API ci-dessous
- faites correspondre
senderdans la règle de notification au MXID complet de l’utilisateur bot - le compte destinataire doit déjà disposer de services de notification opérationnels ; les règles d’aperçu silencieux ne fonctionnent que lorsque l’envoi normal des notifications Matrix est opérationnel
Étapes
Configurer les aperçus silencieux
{channels: {matrix: { streaming: { mode: "quiet" },},},}Obtenir le jeton d’accès du destinataire
Réutilisez si possible le jeton d’une session cliente existante. Pour en créer un nouveau :
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"}'Vérifier l’existence de services de notification
curl -sS \-H "Authorization: Bearer $USER_ACCESS_TOKEN" \"https://matrix.example.org/_matrix/client/v3/pushers"Si aucun service de notification n’est renvoyé, rétablissez l’envoi normal des notifications Matrix pour ce compte avant de continuer.
Installer la règle de notification prioritaire
Installez une règle qui fait correspondre le marqueur d’aperçu finalisé et le MXID du bot en tant qu’expéditeur :
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 }]}'Remplacez les éléments suivants avant l’exécution :
https://matrix.example.org: l’URL de base de votre serveur d’origine$USER_ACCESS_TOKEN: le jeton d’accès de l’utilisateur destinataireopenclaw-finalized-preview-botname: un ID de règle unique pour chaque bot et chaque destinataire (modèle :openclaw-finalized-preview-<botname>)@bot:example.org: le MXID de votre bot OpenClaw, et non celui du destinataire
Vérifier
curl -sS \-H "Authorization: Bearer $USER_ACCESS_TOKEN" \"https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname"Testez ensuite une réponse diffusée. En mode silencieux, le salon affiche un aperçu silencieux du brouillon et émet une notification lorsque le bloc ou le tour se termine.
Pour supprimer la règle ultérieurement, envoyez une requête DELETE à la même URL de règle avec le jeton du destinataire.
Remarques sur les configurations à plusieurs bots
Les règles de notification sont indexées par ruleId : réexécuter PUT avec le même ID met à jour une seule règle. Pour que plusieurs bots OpenClaw notifient le même destinataire, créez une règle par bot avec une correspondance d’expéditeur distincte.
Les nouvelles règles override définies par l’utilisateur sont insérées avant les règles de suppression par défaut du serveur ; aucun paramètre d’ordre supplémentaire n’est donc nécessaire. La règle affecte uniquement les modifications d’aperçu ne contenant que du texte qui peuvent être finalisées sur place ; les réponses multimédias, les replis liés aux aperçus obsolètes et les textes finaux qui activeraient les mentions Matrix sont envoyés à la place comme des messages normaux avec notification.
Remarques sur les serveurs d’origine
Synapse
Aucune modification particulière de homeserver.yaml n’est requise. Si les notifications Matrix normales parviennent déjà à cet utilisateur, le jeton du destinataire et l’appel pushrules ci-dessus constituent l’étape de configuration principale.
Si vous exécutez Synapse derrière un proxy inverse ou avec des processus workers, assurez-vous que /_matrix/client/.../pushrules/ atteint correctement Synapse. L’envoi des notifications est géré par le processus principal ou par synapse.app.pusher / les workers de notification configurés ; assurez-vous qu’ils sont opérationnels.
La règle utilise la condition de règle de notification event_property_is (MSC3758, règle de notification v1.10), ajoutée à Synapse en 2023. Les anciennes versions de Synapse acceptent l’appel PUT pushrules/..., mais la condition ne correspond alors jamais, sans aucun avertissement ; mettez Synapse à niveau si aucune notification n’arrive lors de la modification d’un aperçu finalisé.
Tuwunel
Même procédure que pour Synapse ; aucune configuration propre à Tuwunel n’est nécessaire pour le marqueur d’aperçu finalisé.
Si les notifications disparaissent lorsque l’utilisateur est actif sur un autre appareil, vérifiez si suppress_push_when_active est activé. Tuwunel a ajouté cette option dans la version 1.4.2 (septembre 2025) ; elle peut volontairement supprimer les notifications envoyées aux autres appareils lorsqu’un appareil est actif.