Mainstream messaging
Sessiz önizlemeler için Matrix gönderim kuralları
channels.matrix.streaming değeri "quiet" olduğunda OpenClaw, tek bir önizleme olayını yerinde düzenleyerek yanıtı akış halinde iletir. Önizlemeler, bildirim oluşturmayan m.notice olayları olarak gönderilir ve sonlandırılmış düzenleme content["com.openclaw.finalized_preview"] = true ile işaretlenir. Matrix istemcileri, yalnızca kullanıcıya özel bir anlık bildirim kuralı işaretleyiciyle eşleşirse bu son düzenleme için bildirim gönderir. Bu sayfa, Matrix'i kendi altyapısında barındıran ve bu kuralı her alıcı hesabı için yüklemek isteyen operatörlere yöneliktir.
streaming: "progress" taslaklarını aynı yol üzerinden sonlandırdığından, aynı kural ilerleme modunda sonlandırılan düzenlemeler için de tetiklenir.
Yalnızca standart Matrix bildirim davranışını istiyorsanız streaming: "partial" kullanın veya akışı kapalı bırakın. Bkz. Matrix kanal kurulumu.
Ön koşullar
- alıcı kullanıcı = bildirimi alması gereken kişi
- bot kullanıcısı = yanıtı gönderen OpenClaw Matrix hesabı
- aşağıdaki API çağrıları için alıcı kullanıcının erişim belirtecini kullanın
- anlık bildirim kuralındaki
senderalanını bot kullanıcısının tam MXID'siyle eşleştirin - alıcı hesabında çalışan anlık bildirim göndericileri zaten bulunmalıdır; sessiz önizleme kuralları yalnızca normal Matrix anlık bildirim teslimatı sağlıklı çalıştığında işler
Adımlar
Sessiz önizlemeleri yapılandırın
{channels: {matrix: { streaming: "quiet",},},}Alıcının erişim belirtecini alın
Mümkünse mevcut bir istemci oturumu belirtecini yeniden kullanın. Yeni bir belirteç oluşturmak için:
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"}'Anlık bildirim göndericilerinin bulunduğunu doğrulayın
curl -sS \-H "Authorization: Bearer $USER_ACCESS_TOKEN" \"https://matrix.example.org/_matrix/client/v3/pushers"Hiçbir anlık bildirim göndericisi döndürülmezse devam etmeden önce bu hesap için normal Matrix anlık bildirim teslimatını düzeltin.
Geçersiz kılma anlık bildirim kuralını yükleyin
Sonlandırılmış önizleme işaretleyicisiyle ve gönderici olarak bot MXID'siyle eşleşen bir kural yükleyin:
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 }]}'Çalıştırmadan önce şunları değiştirin:
https://matrix.example.org: ana sunucunuzun temel URL'si$USER_ACCESS_TOKEN: alıcı kullanıcının erişim belirteciopenclaw-finalized-preview-botname: alıcı ve bot birleşimi başına benzersiz bir kural kimliği (kalıp:openclaw-finalized-preview-<botname>)@bot:example.org: alıcının değil, OpenClaw botunuzun MXID'si
Doğrulayın
curl -sS \-H "Authorization: Bearer $USER_ACCESS_TOKEN" \"https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname"Ardından akış halinde iletilen bir yanıtı test edin. Sessiz modda oda, sessiz bir taslak önizlemesi gösterir ve blok veya tur tamamlandığında bir kez bildirim gönderir.
Kuralı daha sonra kaldırmak için aynı kural URL'sine alıcının belirteciyle DELETE isteği gönderin.
Birden çok botla ilgili notlar
Anlık bildirim kuralları ruleId ile anahtarlanır: aynı kimliğe yeniden PUT isteği göndermek tek bir kuralı günceller. Aynı alıcıya bildirim gönderen birden fazla OpenClaw botu için her bot adına farklı bir gönderici eşleşmesine sahip ayrı bir kural oluşturun.
Kullanıcı tarafından tanımlanan yeni override kuralları, sunucunun varsayılan engelleme kurallarının önüne eklendiğinden ek bir sıralama parametresi gerekmez. Kural yalnızca yerinde sonlandırılabilen salt metin önizleme düzenlemelerini etkiler; medya yanıtları, eski önizleme geri dönüşleri ve Matrix bahsetmelerini etkinleştirecek son metinler bunun yerine normal bildirim oluşturan mesajlar olarak teslim edilir.
Ana sunucu notları
Synapse
Özel bir homeserver.yaml değişikliği gerekmez. Normal Matrix bildirimleri bu kullanıcıya zaten ulaşıyorsa alıcı belirteci ve yukarıdaki pushrules çağrısı temel kurulum adımıdır.
Synapse'i ters vekil veya işçi süreçlerinin arkasında çalıştırıyorsanız /_matrix/client/.../pushrules/ yolunun Synapse'e doğru şekilde ulaştığından emin olun. Anlık bildirim teslimatı ana süreç ya da synapse.app.pusher / yapılandırılmış anlık bildirim gönderici işçileri tarafından gerçekleştirilir; bunların sağlıklı çalıştığından emin olun.
Kural, 2023'te Synapse'e eklenen event_property_is anlık bildirim kuralı koşulunu (MSC3758, anlık bildirim kuralı v1.10) kullanır. Eski Synapse sürümleri PUT pushrules/... çağrısını kabul eder ancak koşulu sessizce hiçbir zaman eşleştirmez; sonlandırılmış bir önizleme düzenlemesinde bildirim gelmezse Synapse'i yükseltin.
Tuwunel
Synapse ile aynı akış geçerlidir; sonlandırılmış önizleme işaretleyicisi için Tuwunel'e özgü bir yapılandırma gerekmez.
Kullanıcı başka bir cihazda etkinken bildirimler kayboluyorsa suppress_push_when_active seçeneğinin etkin olup olmadığını kontrol edin. Tuwunel bu seçeneği 1.4.2 sürümünde (Eylül 2025) ekledi ve bir cihaz etkinken diğer cihazlara gönderilen anlık bildirimleri bilinçli olarak engelleyebilir.