Mainstream messaging
Matris
Matrix, resmi matrix-js-sdk üzerine kurulu, indirilebilir bir kanal pluginidir (@openclaw/matrix). DM'leri, odaları, ileti dizilerini, medyayı, tepkileri, anketleri, konumu ve E2EE'yi destekler.
Kurulum
openclaw plugins install @openclaw/matrixYalın plugin belirtimleri önce ClawHub'ı, ardından yedek olarak npm'i dener. openclaw plugins install clawhub:@openclaw/matrix veya npm:@openclaw/matrix ile bir kaynağı zorunlu kılın. Yerel bir çalışma kopyasından: openclaw plugins install ./path/to/local/matrix-plugin.
plugins install, plugini kaydeder ve etkinleştirir; ayrıca bir enable adımı gerekmez. Kanal, aşağıda yapılandırılana kadar yine de hiçbir şey yapmaz. Genel kurulum kuralları için Pluginler bölümüne bakın.
Ayarlama
- Ana sunucunuzda bir Matrix hesabı oluşturun.
channels.matrixayarınıhomeserver+accessTokenveyahomeserver+userId+passwordile yapılandırın.- Gateway'i yeniden başlatın.
- Botla bir DM başlatın veya botu bir odaya davet edin. Yeni davetler yalnızca
autoJoinizin verdiğinde kabul edilir.
Etkileşimli ayarlama
openclaw channels addopenclaw configure --section channelsSihirbaz; ana sunucu URL'sini, kimlik doğrulama yöntemini (belirteç veya parola), kullanıcı kimliğini (yalnızca parolayla kimlik doğrulamada), isteğe bağlı cihaz adını, E2EE'nin etkinleştirilip etkinleştirilmeyeceğini ve oda erişimi/otomatik katılım ayarlarını sorar. Eşleşen MATRIX_* ortam değişkenleri zaten varsa ve hesabın kayıtlı kimlik doğrulama bilgileri yoksa sihirbaz, ortam değişkeni kısayolu sunar. openclaw channels resolve --channel matrix "Project Room" komutuyla izin listesini kaydetmeden önce oda adlarını çözümleyin. Sihirbazda E2EE'yi etkinleştirmek, openclaw matrix encryption setup ile aynı önyüklemeyi çalıştırır.
En düşük yapılandırma
Belirteç tabanlı:
{ channels: { matrix: { enabled: true, homeserver: "https://matrix.example.org", accessToken: "syt_xxx", dm: { policy: "pairing" }, }, },}Parola tabanlı (belirteç, ilk oturum açmadan sonra önbelleğe alınır):
{ channels: { matrix: { enabled: true, homeserver: "https://matrix.example.org", userId: "@bot:example.org", password: "replace-me", // pragma: allowlist secret deviceName: "OpenClaw Gateway", }, },}Otomatik katılım
channels.matrix.autoJoin varsayılan olarak "off" değerindedir: Siz elle katılana kadar bot, yeni davetlerden gelen yeni odalarda veya DM'lerde görünmez. OpenClaw, davet sırasında bir davetin DM mi yoksa grup mu olduğunu anlayamaz; bu nedenle her davet önce autoJoin işleminden geçer. dm.policy yalnızca daha sonra, bot katıldıktan ve oda sınıflandırıldıktan sonra uygulanır.
{ channels: { matrix: { autoJoin: "allowlist", autoJoinAllowlist: ["!ops:example.org", "#support:example.org"], groups: { "!ops:example.org": { requireMention: true }, }, }, },}İzin listesi hedef biçimleri
- DM'ler (
dm.allowFrom,groupAllowFrom,groups.<room>.users):@user:serverkullanın. Görünen adlar varsayılan olarak yok sayılır (değiştirilebilir oldukları için); yalnızca görünen adlarla açık uyumluluk gerektiğindedangerouslyAllowNameMatching: trueayarını kullanın. - Oda izin listesi anahtarları (
groups, eski takma adrooms):!room:serverveya#alias:serverkullanın.dangerouslyAllowNameMatching: trueolmadığı sürece düz adlar yok sayılır. - Davet izin listeleri (
autoJoinAllowlist):!room:server,#alias:serverveya*kullanın. Düz adlar her zaman reddedilir.
Hesap kimliği normalleştirmesi
Sihirbaz, anlaşılır bir adı normalleştirilmiş hesap kimliğine dönüştürür (Ops Bot -> ops-bot). Hesapların çakışmasını önlemek için kapsamlı ortam değişkeni adlarında noktalama işaretleri onaltılık olarak kaçışlanır: - (0x2D), _X2D_ olur; böylece ops-prod, MATRIX_OPS_X2D_PROD_ ortam önekiyle eşlenir.
Önbelleğe alınmış kimlik bilgileri
Matrix, kimlik bilgilerini ~/.openclaw/credentials/matrix/ altında önbelleğe alır: varsayılan hesap için credentials.json, adlandırılmış hesaplar için credentials-<account>.json. Önbelleğe alınmış kimlik bilgileri bulunduğunda OpenClaw, yapılandırma dosyasında accessToken olmasa bile Matrix'i yapılandırılmış kabul eder; bu durum ayarlamayı, openclaw doctor komutunu ve kanal durum yoklamalarını kapsar.
Ortam değişkenleri
Eşdeğer yapılandırma anahtarı ayarlanmamışken kullanılan, yapılandırma anahtarı destekli ortam değişkenleri. Varsayılan hesap öneksiz adları kullanır; adlandırılmış hesaplar, son ekten önce hesap belirtecini ekler (normalleştirme bölümüne bakın).
| Varsayılan hesap | Adlandırılmış hesap (<ID> = hesap belirteci) |
|---|---|
MATRIX_HOMESERVER |
MATRIX_<ID>_HOMESERVER |
MATRIX_ACCESS_TOKEN |
MATRIX_<ID>_ACCESS_TOKEN |
MATRIX_USER_ID |
MATRIX_<ID>_USER_ID |
MATRIX_PASSWORD |
MATRIX_<ID>_PASSWORD |
MATRIX_DEVICE_ID |
MATRIX_<ID>_DEVICE_ID |
MATRIX_DEVICE_NAME |
MATRIX_<ID>_DEVICE_NAME |
ops hesabı için adlar MATRIX_OPS_HOMESERVER, MATRIX_OPS_ACCESS_TOKEN ve benzeri olur. MATRIX_HOMESERVER (ve *_HOMESERVER biçimindeki tüm kapsamlı türevleri) çalışma alanındaki bir .env dosyasından ayarlanamaz; Çalışma alanı .env dosyaları bölümüne bakın.
Yapılandırma örneği
DM eşleştirmesi, oda izin listesi ve E2EE içeren pratik bir temel yapılandırma:
{ channels: { matrix: { enabled: true, homeserver: "https://matrix.example.org", accessToken: "syt_xxx", encryption: true, dm: { policy: "pairing", sessionScope: "per-room", threadReplies: "off", }, groupPolicy: "allowlist", groupAllowFrom: ["@admin:example.org"], groups: { "!roomid:example.org": { requireMention: true }, }, autoJoin: "allowlist", autoJoinAllowlist: ["!roomid:example.org"], threadReplies: "inbound", replyToMode: "off", streaming: "partial", }, },}Akış önizlemeleri
Matrix yanıt akışı isteğe bağlıdır. streaming, OpenClaw'ın oluşturulmakta olan asistan yanıtını nasıl ileteceğini; blockStreaming ise tamamlanan her bloğun ayrı bir Matrix mesajı olarak tutulup tutulmayacağını denetler.
{ channels: { matrix: { streaming: "partial", }, },}Canlı yanıt önizlemelerini koruyup geçici araç/ilerleme satırlarını gizlemek için nesne biçimini kullanın:
{ channels: { matrix: { streaming: { mode: "partial", preview: { toolProgress: false, }, }, }, },}Tam nesne biçimi { mode, preview, progress } kabul eder:
{ channels: { matrix: { streaming: { mode: "progress", progress: { label: "auto", // yapılandırılmış veya yerleşik etiketlerden seç (gizlemek için false) labels: ["Thinking", "Writing", "Searching"], // label: "auto" için adaylar maxLines: 8, // en fazla döngüsel ilerleme satırı (varsayılan: 8) maxLineChars: 120, // kısaltmadan önce satır başına en fazla karakter (varsayılan: 120) toolProgress: true, // araç/ilerleme etkinliğini göster (varsayılan: true) }, }, }, },}progress.label: özel etiket; yapılandırılmış veya yerleşik bir etiket seçmek için"auto"/ayarlanmamış değer ya da gizlemek içinfalse.progress.labels: yalnızcalabel,"auto"olduğunda veya ayarlanmadığında kullanılan adaylar.progress.maxLines: taslakta tutulan en fazla döngüsel ilerleme satırı; bu sınırı aşan eski satırlar kırpılır.progress.maxLineChars: kısaltmadan önce her kompakt ilerleme satırındaki en fazla karakter sayısı.progress.toolProgress:trueolduğunda (varsayılan), canlı araç/ilerleme etkinliği taslakta görünür.
streaming |
Davranış |
|---|---|
"off" (varsayılan) |
Tam yanıtı bekler, tek seferde gönderir. true <-> "partial", false <-> "off". |
"partial" |
Model geçerli bloğu yazarken normal bir metin mesajını yerinde düzenler. Standart istemciler son düzenlemede değil, ilk önizlemede bildirim gönderebilir. |
"quiet" |
"partial" ile aynıdır, ancak mesaj bildirim oluşturmayan bir duyurudur. Kullanıcı başına bir anlık bildirim kuralı, sonlandırılmış düzenlemeyle eşleştiğinde alıcılara bir kez bildirim gönderilir (aşağıya bakın). |
"progress" |
Bir ilerleme taslağı kullanarak tek tek kompakt ilerleme satırları gönderir. |
blockStreaming (varsayılan false), streaming ayarından bağımsızdır:
streaming |
blockStreaming: true |
blockStreaming: false (varsayılan) |
|---|---|---|
"partial" / "quiet" |
Geçerli blok için canlı taslak; tamamlanan bloklar mesaj olarak tutulur | Geçerli blok için canlı taslak; yerinde sonlandırılır |
"off" |
Tamamlanan her blok için bildirim oluşturan bir Matrix mesajı | Tam yanıt için bildirim oluşturan tek bir Matrix mesajı |
Notlar:
- Bir önizleme Matrix'in etkinlik başına boyut sınırını aşarsa OpenClaw, önizleme akışını durdurur ve yalnızca son yanıtı iletmeye geri döner.
- Medya yanıtları ekleri her zaman normal biçimde gönderir; eski bir önizleme güvenle yeniden kullanılamıyorsa OpenClaw, son medya yanıtını göndermeden önce onu sansürler.
- Önizleme akışı etkinken araç ilerlemesi önizleme güncellemeleri varsayılan olarak açıktır. Yanıt metni için önizleme düzenlemelerini koruyup araç ilerlemesini normal iletim yolunda bırakmak için
streaming.preview.toolProgress: falseayarını kullanın. - Önizleme düzenlemeleri ek Matrix API çağrılarına neden olur. En ihtiyatlı hız sınırı profili için
streaming: "off"kullanın.
Sesli mesajlar
Gelen Matrix sesli notları, odadaki bahsetme denetiminden önce metne dönüştürülür. Böylece botun adını söyleyen bir sesli not, requireMention: true ayarlı bir odada aracıyı tetikleyebilir ve aracı yalnızca ses eki yer tutucusu yerine dökümü alır.
Matrix, tools.media.audio altındaki ortak ses medyası sağlayıcısını kullanır; örneğin OpenAI gpt-4o-mini-transcribe. Sağlayıcı ayarları ve sınırlar için Medya araçlarına genel bakış bölümüne bakın.
m.audioetkinlikleri veaudio/*MIME türüne sahipm.fileetkinlikleri uygundur.- Şifrelenmiş odalarda OpenClaw, metne dönüştürmeden önce eki mevcut Matrix medya yolu üzerinden çözer.
- Döküm, aracı isteminde makine tarafından oluşturulmuş ve güvenilmeyen içerik olarak işaretlenir.
- Ek, aşağı akış medya araçlarının yeniden metne dönüştürmemesi için zaten dönüştürülmüş olarak işaretlenir.
- Sesli içeriğin metne dönüştürülmesini genel olarak devre dışı bırakmak için
tools.media.audio.enabled: falseayarını kullanın.
Onay meta verileri
Matrix'in yerel onay istemleri, com.openclaw.approval anahtarı altında OpenClaw'a özgü içerik barındıran normal m.room.message etkinlikleridir. Standart istemciler metin gövdesini yine işler; OpenClaw destekli istemciler yapılandırılmış onay kimliğini, türünü, durumunu, kararlarını ve yürütme/plugin ayrıntılarını okuyabilir.
Bir istem tek bir Matrix etkinliği için fazla uzunsa OpenClaw, görünen metni parçalara böler ve com.openclaw.approval verisini yalnızca ilk parçaya ekler. İzin verme/reddetme tepkileri bu ilk etkinliğe bağlanır; böylece uzun istemler, tek etkinlikli istemlerle aynı onay hedefini korur.
Sessiz, sonlandırılmış önizlemeler için kendi barındırdığınız push kuralları
streaming: "quiet", alıcılara yalnızca bir blok veya tur sonlandırıldığında bildirim gönderir; kullanıcı başına bir push kuralının sonlandırılmış önizleme işaretçisiyle eşleşmesi gerekir. Tarifin tamamı için sessiz önizlemelere yönelik Matrix push kuralları bölümüne bakın.
Botlar arası odalar
Varsayılan olarak, yapılandırılmış diğer OpenClaw Matrix hesaplarından gelen Matrix mesajları yok sayılır. Ajanlar arası trafiğe bilinçli olarak izin vermek için allowBots kullanın:
{ channels: { matrix: { allowBots: "mentions", // true | "mentions" groups: { "!roomid:example.org": { requireMention: true, }, }, }, },}allowBots: true, izin verilen odalarda ve DM'lerde yapılandırılmış diğer Matrix bot hesaplarından gelen mesajları kabul eder.allowBots: "mentions", bu mesajları odalarda yalnızca görünür biçimde bu bottan bahsettiklerinde kabul eder; DM'lere ise bundan bağımsız olarak izin verilir.groups.<room>.allowBots, tek bir oda için hesap düzeyindeki ayarı geçersiz kılar.- Kabul edilen yapılandırılmış bot mesajları, ortak bot döngüsü korumasını kullanır.
channels.defaults.botLoopProtectionayarını yapılandırın, ardından hesap başınachannels.matrix.botLoopProtectionveya oda başınachannels.matrix.groups.<room>.botLoopProtectionile geçersiz kılın. - OpenClaw, kendi kendine yanıt döngülerini önlemek için aynı Matrix kullanıcı kimliğinden gelen mesajları yok saymaya devam eder.
- Matrix'in yerleşik bir bot bayrağı yoktur; OpenClaw, "bot tarafından yazılmış" ifadesini "bu OpenClaw Gateway üzerindeki yapılandırılmış başka bir Matrix hesabı tarafından gönderilmiş" olarak değerlendirir.
Paylaşılan odalarda botlar arası trafiği etkinleştirirken katı oda izin listeleri ve bahsetme gereksinimleri kullanın.
Şifreleme ve doğrulama
Şifrelenmiş (E2EE) odalarda, giden görsel olayları thumbnail_file kullanır; böylece görsel önizlemeleri tam ekle birlikte şifrelenir. Şifrelenmemiş odalarda düz thumbnail_url kullanılır. Yapılandırma gerekmez; Plugin, E2EE durumunu otomatik olarak algılar.
Tüm openclaw matrix komutları --verbose (tam tanılama), --json (makine tarafından okunabilir çıktı) ve --account <id> (çok hesaplı kurulumlar) seçeneklerini kabul eder. Çıktı varsayılan olarak özlüdür.
Şifrelemeyi etkinleştirme
openclaw matrix encryption setupGizli depolamayı ve çapraz imzalamayı başlatır, gerekirse bir oda anahtarı yedeği oluşturur, ardından durumu ve sonraki adımları yazdırır. Yararlı bayraklar:
--recovery-key <key>başlatmadan önce bir kurtarma anahtarı uygular (aşağıdaki standart girdi biçimini tercih edin)--force-reset-cross-signingmevcut çapraz imzalama kimliğini atar ve yeni bir kimlik oluşturur (yalnızca bilinçli kullanım için)
Yeni bir hesapta E2EE'yi hesap oluşturulurken etkinleştirin:
openclaw matrix account add \ --homeserver https://matrix.example.org \ --access-token syt_xxx \ --enable-e2ee--encryption, --enable-e2ee için bir diğer addır. Eşdeğer manuel yapılandırma:
{ channels: { matrix: { enabled: true, homeserver: "https://matrix.example.org", accessToken: "syt_xxx", encryption: true, dm: { policy: "pairing" }, }, },}Durum ve güven sinyalleri
openclaw matrix verify statusopenclaw matrix verify status --include-recovery-key --jsonverify status, birbirinden bağımsız üç güven sinyalini bildirir (--verbose bunların tümünü gösterir):
Locally trusted: yalnızca bu istemci tarafından güvenilir kabul edilirCross-signing verified: SDK, çapraz imzalama aracılığıyla doğrulama yapıldığını bildirirSigned by owner: kendi kendine imzalama anahtarınız tarafından imzalanmıştır (yalnızca tanılama amaçlıdır)
Verified by owner, yalnızca Cross-signing verified değeri yes olduğunda yes olur; yalnızca yerel güven veya sahip imzası yeterli değildir.
--allow-degraded-local-state, önce Matrix hesabını hazırlamadan mümkün olan en iyi tanılama sonuçlarını döndürür; çevrimdışı veya kısmen yapılandırılmış incelemeler için kullanışlıdır.
Bu cihazı kurtarma anahtarıyla doğrulama
Kurtarma anahtarını komut satırında geçirmek yerine standart girdi üzerinden aktarın:
printf '%s\n' "$MATRIX_RECOVERY_KEY" | openclaw matrix verify device --recovery-key-stdinKomut üç durumu bildirir:
Recovery key accepted: Matrix, gizli depolama veya cihaz güveni için anahtarı kabul etti.Backup usable: oda anahtarı yedeği, güvenilir kurtarma materyaliyle yüklenebilir.Device verified by owner: bu cihaz, Matrix çapraz imzalama kimliğinin tam güvenine sahiptir.
Kurtarma anahtarı yedek materyalinin kilidini açmış olsa bile tam kimlik güveni tamamlanmadığında komut sıfırdan farklı bir kodla çıkar. Bu durumda, başka bir Matrix istemcisinden kendi kendine doğrulamayı tamamlayın:
openclaw matrix verify selfverify self, başarıyla çıkmadan önce Cross-signing verified: yes durumunu bekler. Bekleme süresini ayarlamak için --timeout-ms <ms> kullanın.
Değişmez anahtar biçimi olan openclaw matrix verify device "<recovery-key>" de çalışır, ancak anahtar kabuk geçmişine kaydedilir.
Çapraz imzalamayı başlatma veya onarma
openclaw matrix verify bootstrapŞifrelenmiş hesaplara yönelik onarım/kurulum komutudur. Sırasıyla şunları yapar:
- mümkün olduğunda mevcut kurtarma anahtarını yeniden kullanarak gizli depolamayı başlatır
- çapraz imzalamayı başlatır ve eksik ortak anahtarları yükler
- mevcut cihazı işaretler ve çapraz imzalar
- henüz yoksa sunucu tarafında bir oda anahtarı yedeği oluşturur
Homeserver, çapraz imzalama anahtarlarını yüklemek için UIA gerektiriyorsa OpenClaw önce kimlik doğrulamasız yöntemi, ardından m.login.dummy yöntemini, son olarak da m.login.password yöntemini dener (channels.matrix.password gerekir).
Yararlı bayraklar:
--recovery-key-stdin(printf '%s\n' "$MATRIX_RECOVERY_KEY" | ...ile birlikte kullanın) veya--recovery-key <key>- mevcut çapraz imzalama kimliğini atmak için
--force-reset-cross-signing(yalnızca bilinçli kullanım için; etkin kurtarma anahtarının depolanmış veya--recovery-key-stdinile sağlanmış olması gerekir)
Oda anahtarı yedeği
openclaw matrix verify backup statusprintf '%s\n' "$MATRIX_RECOVERY_KEY" | openclaw matrix verify backup restore --recovery-key-stdinbackup status, sunucu tarafında bir yedeğin bulunup bulunmadığını ve bu cihazın yedeğin şifresini çözüp çözemediğini gösterir. backup restore, yedeklenmiş oda anahtarlarını yerel kriptografi deposuna aktarır; kurtarma anahtarı zaten diskteyse --recovery-key-stdin seçeneğini kullanmayın.
Bozuk bir yedeği yeni bir başlangıç durumuyla değiştirmek için (kurtarılamayan eski geçmişin kaybedilmesini kabul eder; mevcut yedek gizlisi yüklenemiyorsa gizli depolamayı da yeniden oluşturabilir):
openclaw matrix verify backup reset --yesYalnızca önceki kurtarma anahtarının yeni yedek başlangıç durumunun kilidini açmasının bilinçli olarak engellenmesi gerekiyorsa --rotate-recovery-key ekleyin.
Doğrulamaları listeleme, isteme ve yanıtlama
openclaw matrix verify listSeçilen hesabın bekleyen doğrulama isteklerini listeler.
openclaw matrix verify request --own-useropenclaw matrix verify request --user-id @ops:example.org --device-id ABCDEFBu hesaptan bir doğrulama isteği gönderir. --own-user, kendi kendine doğrulama ister (istemi aynı kullanıcıya ait başka bir Matrix istemcisinde kabul edin); --user-id/--device-id/--room-id ise başka bir kişiyi hedefler. --own-user, diğer hedefleme bayraklarıyla birlikte kullanılamaz.
Daha düşük düzeyli yaşam döngüsü yönetimi için — genellikle başka bir istemciden gelen istekleri takip ederken — bu komutlar belirli bir <id> isteği üzerinde işlem yapar (verify list ve verify request tarafından yazdırılır):
| Komut | Amaç |
|---|---|
openclaw matrix verify accept <id> |
Gelen bir isteği kabul etme |
openclaw matrix verify start <id> |
SAS akışını başlatma |
openclaw matrix verify sas <id> |
SAS emojisini veya ondalık sayılarını yazdırma |
openclaw matrix verify confirm-sas <id> |
SAS'ın diğer istemcinin gösterdiği değerle eşleştiğini doğrulama |
openclaw matrix verify mismatch-sas <id> |
Emoji veya ondalık sayılar eşleşmediğinde SAS'ı reddetme |
openclaw matrix verify cancel <id> |
İptal etme; isteğe bağlı --reason <text> ve --code <matrix-code> alır |
accept, start, sas, confirm-sas, mismatch-sas ve cancel komutlarının tümü, doğrulama belirli bir doğrudan mesaj odasına bağlı olduğunda DM takip ipuçları olarak --user-id ve --room-id seçeneklerini kabul eder.
Çok hesaplı kullanım notları
--account <id> olmadan Matrix CLI komutları örtük varsayılan hesabı kullanır. Birden fazla adlandırılmış hesap bulunduğunda ve channels.matrix.defaultAccount ayarlanmadığında komutlar tahminde bulunmayı reddeder ve bir hesap seçmenizi ister. Adlandırılmış bir hesapta E2EE devre dışı veya kullanılamaz durumdaysa hatalar, örneğin channels.matrix.accounts.assistant.encryption gibi ilgili hesabın yapılandırma anahtarını gösterir.
Startup behavior
encryption: true ile startupVerification varsayılan olarak "if-unverified" değerini kullanır. Başlangıçta doğrulanmamış bir cihaz, başka bir Matrix istemcisinde kendi kendine doğrulama ister; yinelenen istekleri atlar ve bir bekleme süresi uygular (varsayılan olarak 24 saat). startupVerificationCooldownHours ile ayarlayın veya startupVerification: "off" ile devre dışı bırakın.
Başlangıç ayrıca mevcut gizli depolamayı ve çapraz imzalama kimliğini yeniden kullanan ölçülü bir kriptografi başlatma geçişi çalıştırır. Başlatma durumu bozuksa OpenClaw, channels.matrix.password olmadan bile korumalı bir onarım dener; homeserver parola UIA'sı gerektiriyorsa başlangıç bir uyarı kaydeder ve ölümcül olmayan durumda kalır. Sahibi tarafından önceden imzalanmış cihazlar korunur.
Tam yükseltme akışı için Matrix geçişi bölümüne bakın.
Verification notices
Matrix, doğrulama yaşam döngüsü bildirimlerini katı DM doğrulama odasına m.notice mesajları olarak gönderir: istek, hazır durumu ("Verify by emoji" yönlendirmesiyle), başlatma/tamamlama ve kullanılabilir olduğunda SAS (emoji/ondalık) ayrıntıları.
Başka bir Matrix istemcisinden gelen istekler izlenir ve otomatik olarak kabul edilir. OpenClaw, kendi kendine doğrulamada SAS akışını otomatik olarak başlatır ve emoji doğrulaması kullanılabilir olduğunda kendi tarafını onaylar; yine de Matrix istemcinizde emojileri karşılaştırmanız ve "They match" seçeneğini onaylamanız gerekir.
Doğrulama sistemi bildirimleri ajan sohbet işlem hattına iletilmez.
Deleted or invalid Matrix device
verify status, mevcut cihazın artık homeserver üzerinde listelenmediğini bildiriyorsa yeni bir OpenClaw Matrix cihazı oluşturun. Parolayla oturum açmak için:
openclaw matrix account add \--account assistant \--homeserver https://matrix.example.org \--user-id '@assistant:example.org' \--password '<password>' \--device-name OpenClaw-GatewayToken kimlik doğrulaması için Matrix istemcinizde veya yönetici kullanıcı arayüzünde yeni bir erişim token'ı oluşturun, ardından OpenClaw'ı güncelleyin:
openclaw matrix account add \--account assistant \--homeserver https://matrix.example.org \--access-token '<token>'assistant değerini başarısız komuttaki hesap kimliğiyle değiştirin veya varsayılan hesap için --account seçeneğini kullanmayın.
Device hygiene
OpenClaw tarafından yönetilen eski cihazlar birikebilir. Listeleyin ve ayıklayın:
openclaw matrix devices listopenclaw matrix devices prune-staleCrypto store
Matrix E2EE, IndexedDB uyumluluk katmanı olarak fake-indexeddb ile resmi matrix-js-sdk Rust kriptografi yolunu kullanır. Kriptografi durumu crypto-idb-snapshot.json dosyasında kalıcı olarak saklanır (kısıtlayıcı dosya izinleriyle).
Şifrelenmiş çalışma zamanı durumu ~/.openclaw/matrix/accounts/<account>/<homeserver>__<user>/<token-hash>/ altında bulunur ve eşitleme deposunu, kriptografi deposunu, kurtarma anahtarını, IDB anlık görüntüsünü, ileti dizisi bağlamalarını ve başlangıç doğrulama durumunu içerir. Token değiştiğinde ancak hesap kimliği aynı kaldığında OpenClaw, önceki durumun görünür kalması için mevcut en uygun kök dizini yeniden kullanır.
Tek bir eski belirteç karması kökü, normal bir belirteç döndürme sürekliliği yolu olabilir. OpenClaw matrix: multiple populated token-hash storage roots detected günlüğünü kaydederse hesap dizinini inceleyin ve eski kardeş kökleri yalnızca seçilen etkin kökün sağlıklı olduğunu doğruladıktan sonra arşivleyin. Eski kökleri hemen silmek yerine bir _archive/ dizinine taşımayı tercih edin.
Profil yönetimi
openclaw matrix profile set --name "OpenClaw Assistant"openclaw matrix profile set --avatar-url https://cdn.example.org/avatar.pngHer iki seçeneği tek bir çağrıda iletin. Matrix, mxc:// avatar URL'lerini doğrudan kabul eder; http:///https:// iletildiğinde önce dosya yüklenir ve çözümlenen mxc:// URL'si channels.matrix.avatarUrl içine (veya hesap başına geçersiz kılma ayarına) kaydedilir.
İleti dizileri
Matrix, hem otomatik yanıtlar hem de mesaj aracıyla gönderimler için yerel ileti dizilerini destekler. Davranışı birbirinden bağımsız iki ayar denetler:
Oturum yönlendirme (sessionScope)
dm.sessionScope, Matrix DM odalarının OpenClaw oturumlarıyla nasıl eşleştirileceğini belirler:
"per-user"(varsayılan): aynı yönlendirilmiş eşe ait tüm DM odaları tek bir oturumu paylaşır."per-room": aynı eş için bile her Matrix DM odası kendi oturum anahtarına sahip olur.
Açık konuşma bağlamaları her zaman sessionScope ayarından önceliklidir; bağlanmış odalar ve ileti dizileri seçtikleri hedef oturumu korur.
Yanıtları ileti dizisine gönderme (threadReplies)
threadReplies, botun yanıtını nereye göndereceğini belirler:
"off": yanıtlar üst düzeyde gönderilir. İleti dizisinden gelen mesajlar üst oturumda kalır."inbound": yalnızca gelen mesaj zaten o ileti dizisindeyse ileti dizisi içinde yanıt verilir."always": tetikleyen mesajı kök alan bir ileti dizisi içinde yanıt verilir; bu konuşma, ilk tetiklemeden itibaren eşleşen ileti dizisi kapsamlı bir oturum üzerinden yönlendirilir.
dm.threadReplies bunu yalnızca DM'ler için geçersiz kılar; örneğin DM'leri düz tutarken oda ileti dizilerini yalıtılmış tutabilirsiniz.
İleti dizisi devralma ve eğik çizgi komutları
- İleti dizisinden gelen mesajlar, ileti dizisinin kök mesajını ek aracı bağlamı olarak içerir.
- Mesaj aracıyla yapılan gönderimler, açık bir
threadIdsağlanmadığı sürece aynı odayı (veya aynı DM kullanıcı hedefini) hedeflerken geçerli Matrix ileti dizisini otomatik olarak devralır. - DM kullanıcı hedefinin yeniden kullanımı yalnızca geçerli oturum meta verileri aynı Matrix hesabındaki aynı DM eşini kanıtladığında devreye girer; aksi takdirde OpenClaw normal kullanıcı kapsamlı yönlendirmeye geri döner.
/focus,/unfocus,/agents,/session idle,/session max-ageve ileti dizisine bağlı/acp spawnkomutlarının tümü Matrix odalarında ve DM'lerde çalışır.- Üst düzey
/focus,threadBindings.spawnSessionsetkin olduğunda yeni bir Matrix ileti dizisi oluşturur ve bunu hedef oturuma bağlar. - Mevcut bir Matrix ileti dizisi içinde
/focusveya/acp spawn --thread hereçalıştırmak, bu ileti dizisini bulunduğu yerde bağlar.
OpenClaw, bir Matrix DM odasının aynı paylaşılan oturumdaki başka bir DM odasıyla çakıştığını algıladığında, /focus çıkış yolunu gösteren ve dm.sessionScope değişikliği öneren tek seferlik bir m.notice gönderir. Bildirim yalnızca ileti dizisi bağlamaları etkin olduğunda görünür.
ACP konuşma bağlamaları
Matrix odaları, DM'ler ve mevcut Matrix ileti dizileri, sohbet yüzeyini değiştirmeden kalıcı ACP çalışma alanlarına dönüşebilir.
Hızlı operatör akışı:
- Kullanmaya devam etmek istediğiniz Matrix DM'si, odası veya mevcut ileti dizisi içinde
/acp spawn codex --bind hereçalıştırın. - Üst düzey bir DM veya odada geçerli DM/oda sohbet yüzeyi olarak kalır ve gelecekteki mesajlar oluşturulan ACP oturumuna yönlendirilir.
- Mevcut bir ileti dizisi içinde
--bind here, geçerli ileti dizisini bulunduğu yerde bağlar. /newve/reset, aynı bağlı ACP oturumunu bulunduğu yerde sıfırlar./acp close, ACP oturumunu kapatır ve bağlamayı kaldırır.
--bind here alt Matrix ileti dizisi oluşturmaz. threadBindings.spawnSessions, OpenClaw'ın bir alt ileti dizisi oluşturması veya bağlaması gereken /acp spawn --thread auto|here davranışını denetler.
İleti dizisi bağlama yapılandırması
Matrix, genel varsayılanları session.threadBindings üzerinden devralır ve kanal başına geçersiz kılmaları destekler:
threadBindings.enabledthreadBindings.idleHoursthreadBindings.maxAgeHoursthreadBindings.spawnSessions: hem alt aracı hem de ACP ileti dizisi oluşturmalarını denetler.threadBindings.spawnSubagentSessions/threadBindings.spawnAcpSessions: yalnızca alt aracı veya yalnızca ACP oluşturmaları için daha dar geçersiz kılmalardır.threadBindings.defaultSpawnContext
Matrix ileti dizisine bağlı oturum oluşturmaları varsayılan olarak etkindir. Üst düzey /focus ve /acp spawn --thread auto|here komutlarının Matrix ileti dizileri oluşturmasını/bağlamasını engellemek için threadBindings.spawnSessions: false ayarlayın. Yerel alt aracı ileti dizisi oluşturmalarının üst dökümü çatallamaması gerektiğinde threadBindings.defaultSpawnContext: "isolated" ayarlayın.
Tepkiler
Matrix; giden tepkileri, gelen tepki bildirimlerini ve alındı tepkilerini destekler.
Giden tepki araçları channels.matrix.actions.reactions tarafından denetlenir:
react, bir Matrix olayına tepki ekler.reactions, bir Matrix olayının geçerli tepki özetini listeler.emoji="", botun o olaydaki kendi tepkilerini kaldırır.remove: true, yalnızca belirtilen emoji tepkisini bottan kaldırır.
Çözümleme sırası (ilk tanımlı değer kazanır):
| Ayar | Sıra |
|---|---|
ackReaction |
hesap başına -> kanal -> messages.ackReaction -> aracı kimliği emojisi geri dönüşü |
ackReactionScope |
hesap başına -> kanal -> messages.ackReactionScope -> varsayılan "group-mentions" |
reactionNotifications |
hesap başına -> kanal -> varsayılan "own" |
reactionNotifications: "own", bot tarafından yazılmış Matrix mesajlarını hedefleyen eklenmiş m.reaction olaylarını iletir; "off" tepki sistemi olaylarını devre dışı bırakır. Tepki kaldırmaları sistem olaylarına dönüştürülmez; Matrix bunları bağımsız m.reaction kaldırmaları olarak değil, redaksiyonlar olarak sunar.
Geçmiş bağlamı
channels.matrix.historyLimit, bir oda mesajı aracıyı tetiklediğinde kaç yakın tarihli oda mesajınınInboundHistoryolarak ekleneceğini denetler.messages.groupChat.historyLimitdeğerine geri döner; ikisi de ayarlanmamışsa etkin varsayılan0olur (devre dışı).- Matrix oda geçmişi yalnızca odaya özgüdür; DM'ler normal oturum geçmişini kullanmaya devam eder.
- Oda geçmişi yalnızca bekleyen mesajlardan oluşur: OpenClaw, henüz yanıt tetiklememiş oda mesajlarını arabelleğe alır ve bir bahsetme veya başka bir tetikleyici geldiğinde bu pencerenin anlık görüntüsünü alır.
- Geçerli tetikleyici mesaj
InboundHistoryiçine eklenmez; o tur için gelen ana gövdede kalır. - Aynı Matrix olayının yeniden denemeleri, daha yeni oda mesajlarına doğru kaymak yerine özgün geçmiş anlık görüntüsünü yeniden kullanır.
Bağlam görünürlüğü
Matrix; getirilen yanıt metni, ileti dizisi kökleri ve bekleyen geçmiş gibi ek oda bağlamları için paylaşılan contextVisibility denetimini destekler.
contextVisibility: "all"varsayılandır. Ek bağlam alındığı biçimde korunur.contextVisibility: "allowlist", ek bağlamı etkin oda/kullanıcı izin listesi denetimleri tarafından izin verilen göndericilerle sınırlar.contextVisibility: "allowlist_quote",allowlistgibi davranır ancak açıkça alıntılanmış bir yanıtı yine de korur.
Bu, gelen mesajın kendisinin yanıt tetikleyip tetikleyemeyeceğini değil, yalnızca ek bağlamın görünürlüğünü etkiler. Tetikleme yetkilendirmesi yine groupPolicy, groups, groupAllowFrom ve DM ilkesi ayarlarından gelir.
DM ve oda ilkesi
{ channels: { matrix: { dm: { policy: "allowlist", allowFrom: ["@admin:example.org"], threadReplies: "off", }, groupPolicy: "allowlist", groupAllowFrom: ["@admin:example.org"], groups: { "!roomid:example.org": { requireMention: true }, }, }, },}Odaları çalışır durumda tutarken DM'leri tamamen susturmak için dm.enabled: false ayarlayın:
{ channels: { matrix: { dm: { enabled: false }, groupPolicy: "allowlist", groupAllowFrom: ["@admin:example.org"], }, },}Bahsetme koşulu ve izin listesi davranışı için Gruplar bölümüne bakın.
Matrix DM'leri için eşleştirme örneği:
openclaw pairing list matrixopenclaw pairing approve matrix <CODE>Onaylanmamış bir Matrix kullanıcısı onaydan önce mesaj göndermeye devam ederse OpenClaw aynı bekleyen eşleştirme kodunu yeniden kullanır ve yeni bir kod oluşturmak yerine kısa bir bekleme süresinden sonra hatırlatma yanıtı gönderebilir.
Paylaşılan DM eşleştirme akışı ve depolama düzeni için Eşleştirme bölümüne bakın.
Doğrudan oda onarımı
Doğrudan mesaj durumu saparsa OpenClaw, canlı DM yerine eski tek kişilik odaları gösteren güncelliğini yitirmiş m.direct eşlemeleriyle kalabilir. Bir eş için geçerli eşlemeyi inceleyin:
openclaw matrix direct inspect --user-id @alice:example.orgOnarın:
openclaw matrix direct repair --user-id @alice:example.orgHer iki komut da çok hesaplı kurulumlar için --account <id> seçeneğini kabul eder. Onarım akışı:
m.directiçinde zaten eşlenmiş katı bir 1:1 DM'yi tercih eder- bu kullanıcıyla hâlihazırda katılınmış herhangi bir katı 1:1 DM'ye geri döner
- sağlıklı bir DM yoksa yeni bir doğrudan oda oluşturur ve
m.directdeğerini yeniden yazar
Eski odaları otomatik olarak silmez. Sağlıklı DM'yi seçer ve eşlemeyi günceller; böylece gelecekteki Matrix gönderimleri, doğrulama bildirimleri ve diğer doğrudan mesaj akışları doğru odayı hedefler.
Çalıştırma onayları
Matrix, yerel bir onay istemcisi olarak işlev görebilir. channels.matrix.execApprovals altında (veya hesap başına geçersiz kılma için channels.matrix.accounts.<account>.execApprovals altında) yapılandırın:
enabled: onayları Matrix'e özgü istemler aracılığıyla iletir. Ayarlanmamış veya"auto"olduğunda, en az bir onaylayıcı çözümlenebildiği anda otomatik olarak etkinleşir; açıkça devre dışı bırakmak içinfalseayarlayın.approvers: çalıştırma isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri (@owner:example.org).channels.matrix.dm.allowFromdeğerine geri döner.target: istemlerin nereye gönderileceğini belirler."dm"(varsayılan) onaylayıcıların DM'lerine gönderir;"channel"kaynak odaya veya DM'ye gönderir;"both"her ikisine de gönderir.agentFilter/sessionFilter: hangi aracıların/oturumların Matrix iletimini tetikleyeceğine yönelik isteğe bağlı izin listeleri.
Yetkilendirme, onay türleri arasında biraz farklıdır:
- Çalıştırma onayları,
execApprovals.approversdeğerini kullanır vedm.allowFromdeğerine geri döner. - Plugin onayları yalnızca
dm.allowFromaracılığıyla yetkilendirilir.
Her iki tür de Matrix tepki kısayollarını ve mesaj güncellemelerini paylaşır. Onaylayıcılar, birincil onay mesajında tepki kısayollarını görür:
- ✅ bir kez izin ver
- ❌ reddet
- ♾️ her zaman izin ver (etkin çalıştırma ilkesi buna izin verdiğinde)
Geri dönüş eğik çizgi komutları: /approve <id> allow-once, /approve <id> allow-always, /approve <id> deny.
Yalnızca çözümlenmiş onaylayıcılar onaylayabilir veya reddedebilir. Çalıştırma onaylarının kanal iletimi komut metnini içerir; channel veya both seçeneklerini yalnızca güvenilir odalarda etkinleştirin.
İlgili: Çalıştırma onayları.
Eğik çizgi komutları
Eğik çizgi komutları (/new, /reset, /model, /focus, /unfocus, /agents, /session, /acp, /approve vb.) doğrudan DM'lerde çalışır. OpenClaw, odalarda botun kendi Matrix bahsetmesiyle başlayan komutları da tanır; dolayısıyla @bot:server /new, özel bir bahsetme düzenli ifadesi olmadan komut yolunu tetikler. Bu, Element ve benzeri istemcilerin kullanıcı komutu yazmadan önce botu sekmeyle tamamladığında oluşturduğu oda biçimindeki @mention /command gönderilerine botun yanıt vermeye devam etmesini sağlar.
Yetkilendirme kuralları yine geçerlidir: komut göndericileri, düz mesajlarla aynı DM veya oda izin listesi/sahip ilkelerini karşılamalıdır.
Çoklu hesap
{ channels: { matrix: { enabled: true, defaultAccount: "assistant", dm: { policy: "pairing" }, accounts: { assistant: { homeserver: "https://matrix.example.org", accessToken: "syt_assistant_xxx", encryption: true, }, alerts: { homeserver: "https://matrix.example.org", accessToken: "syt_alerts_xxx", dm: { policy: "allowlist", allowFrom: ["@ops:example.org"], threadReplies: "off", }, }, }, }, },}Devralma:
- Üst düzey
channels.matrixdeğerleri, bir hesap bunları geçersiz kılmadığı sürece adlandırılmış hesaplar için varsayılan olarak kullanılır. - Devralınan bir oda girdisini
groups.<room>.accountile belirli bir hesapla sınırlandırın.accountiçermeyen girdiler hesaplar arasında paylaşılır; varsayılan hesap üst düzeyde yapılandırıldığındaaccount: "default"kullanılmaya devam eder.
Varsayılan hesap seçimi:
- Örtük yönlendirme, yoklama ve CLI komutlarının tercih edeceği adlandırılmış hesabı seçmek için
defaultAccountdeğerini ayarlayın. - Birden fazla hesabınız varsa ve bunlardan birinin adı tam olarak
defaultisedefaultAccountayarlanmamış olsa bile OpenClaw bu hesabı örtük olarak kullanır. - Birden fazla adlandırılmış hesap olduğunda ve varsayılan hesap seçilmediğinde CLI komutları tahminde bulunmayı reddeder;
defaultAccountdeğerini ayarlayın veya--account <id>parametresini geçirin. - Üst düzey
channels.matrix.*bloğu yalnızca kimlik doğrulama bilgileri eksiksiz olduğunda (homeserver+accessTokenveyahomeserver+userId+password) örtükdefaulthesap olarak değerlendirilir. Önbelleğe alınmış kimlik bilgileri kimlik doğrulama gereksinimini karşıladığında, adlandırılmış hesaplarhomeserver+userIdüzerinden keşfedilebilir durumda kalır.
Yükseltme:
- OpenClaw, onarım veya kurulum sırasında tek hesaplı bir yapılandırmayı çok hesaplı yapıya yükselttiğinde, mevcut bir adlandırılmış hesap varsa veya
defaultAccountzaten bir hesabı gösteriyorsa bu hesabı korur. Yalnızca Matrix kimlik doğrulama/önyükleme anahtarları yükseltilen hesaba taşınır; paylaşılan teslimat politikası anahtarları üst düzeyde kalır.
Paylaşılan çok hesaplı yapı için Yapılandırma başvurusu bölümüne bakın.
Özel/LAN ana sunucuları
Varsayılan olarak OpenClaw, hesap bazında izin vermediğiniz sürece SSRF koruması amacıyla özel/dahili Matrix ana sunucularını engeller.
Ana sunucunuz localhost, bir LAN/Tailscale IP'si veya dahili bir ana makine adı üzerinde çalışıyorsa ilgili hesap için network.dangerouslyAllowPrivateNetwork seçeneğini etkinleştirin:
{ channels: { matrix: { homeserver: "http://matrix-synapse:8008", network: { dangerouslyAllowPrivateNetwork: true, }, accessToken: "syt_internal_xxx", }, },}CLI kurulum örneği:
openclaw matrix account add \ --account ops \ --homeserver http://matrix-synapse:8008 \ --allow-private-network \ --access-token syt_ops_xxxBu açık izin yalnızca güvenilir özel/dahili hedeflere izin verir. http://matrix.example.org:8008 gibi şifrelenmemiş genel ana sunucular engellenmeye devam eder. Mümkün olduğunda https:// kullanmayı tercih edin.
Matrix trafiğini proxy üzerinden yönlendirme
Matrix dağıtımınız açıkça belirtilmiş bir giden HTTP(S) proxy'si gerektiriyorsa channels.matrix.proxy değerini ayarlayın:
{ channels: { matrix: { homeserver: "https://matrix.example.org", accessToken: "syt_bot_xxx", proxy: "http://127.0.0.1:7890", }, },}Adlandırılmış hesaplar, channels.matrix.accounts.<id>.proxy ile üst düzey varsayılanı geçersiz kılabilir. OpenClaw, çalışma zamanı Matrix trafiği ve hesap durum yoklamaları için aynı proxy ayarını kullanır.
Hedef çözümleme
Matrix, OpenClaw'ın oda veya kullanıcı hedefi istediği her yerde aşağıdaki hedef biçimlerini kabul eder:
- Kullanıcılar:
@user:server,user:@user:serverveyamatrix:user:@user:server - Odalar:
!room:server,room:!room:serverveyamatrix:room:!room:server - Takma adlar:
#alias:server,channel:#alias:serverveyamatrix:channel:#alias:server
Matrix oda kimlikleri büyük/küçük harfe duyarlıdır. Açık teslim hedeflerini, cron işlerini, bağlamaları veya izin listelerini yapılandırırken Matrix'teki oda kimliğinin büyük/küçük harf kullanımını tam olarak koruyun. OpenClaw, depolama için dahili oturum anahtarlarını kurallı biçimde tutar; bu nedenle küçük harfli anahtarlar, Matrix teslim kimlikleri için güvenilir bir kaynak değildir.
Canlı dizin araması, oturum açılmış Matrix hesabını kullanır:
- Kullanıcı aramaları, ilgili ana sunucudaki Matrix kullanıcı dizinini sorgular.
- Oda aramaları, açık oda kimliklerini ve diğer adlarını doğrudan kabul eder. Katılınmış oda adına göre arama, mümkün olan en iyi sonucu sağlamaya çalışır ve yalnızca
dangerouslyAllowNameMatching: trueayarlandığında çalışma zamanı oda izin listelerine uygulanır. - Bir oda adı bir kimliğe veya diğer ada çözümlenemiyorsa çalışma zamanı izin listesi çözümlemesinde yok sayılır.
Yapılandırma başvurusu
İzin listesi türündeki kullanıcı alanları (groupAllowFrom, dm.allowFrom, groups.<room>.users) tam Matrix kullanıcı kimliklerini kabul eder (en güvenli seçenek). Kimlik olmayan girdiler varsayılan olarak yok sayılır. dangerouslyAllowNameMatching: true ayarlanırsa Matrix dizinindeki görünen adlarla tam olarak eşleşen girdiler, başlangıçta ve izleyici çalışırken izin listesi her değiştiğinde çözümlenir; çözümlenemeyen girdiler çalışma zamanında yok sayılır.
Oda izin listesi anahtarları (groups, eski rooms) oda kimlikleri veya diğer adları olmalıdır. Düz oda adı anahtarları varsayılan olarak yok sayılır; dangerouslyAllowNameMatching: true, katılınmış oda adlarında mümkün olan en iyi sonucu sağlamaya çalışan aramayı yeniden etkinleştirir.
Hesap ve bağlantı
enabled: kanalı etkinleştirin veya devre dışı bırakın.name: hesap için isteğe bağlı görünen etiket.defaultAccount: birden fazla Matrix hesabı yapılandırıldığında tercih edilen hesap kimliği.accounts: adlandırılmış hesap başına geçersiz kılmalar. Üst düzeychannels.matrixdeğerleri varsayılan olarak devralınır.homeserver: ana sunucu URL'si; örneğinhttps://matrix.example.org.network.dangerouslyAllowPrivateNetwork: bu hesabınlocalhost, LAN/Tailscale IP'lerine veya dahili ana makine adlarına bağlanmasına izin verin.proxy: Matrix trafiği için isteğe bağlı HTTP(S) proxy URL'si. Hesap başına geçersiz kılma desteklenir.userId: tam Matrix kullanıcı kimliği (@bot:example.org).accessToken: belirteç tabanlı kimlik doğrulama için erişim belirteci. env/file/exec sağlayıcılarında düz metin ve SecretRef değerleri desteklenir (Gizli Bilgi Yönetimi).password: parola tabanlı oturum açma için parola. Düz metin ve SecretRef değerleri desteklenir.deviceId: açık Matrix cihaz kimliği.deviceName: parolayla oturum açma sırasında kullanılan cihaz görünen adı.avatarUrl: profil eşitleme veprofile setgüncellemeleri için depolanan öz avatar URL'si.initialSyncLimit: başlangıç eşitlemesi sırasında getirilen azami olay sayısı.
Şifreleme
encryption: uçtan uca şifrelemeyi etkinleştirin. Varsayılan:false.startupVerification:"if-unverified"(uçtan uca şifreleme açıkken varsayılan) veya"off". Bu cihaz doğrulanmamışsa başlangıçta öz doğrulamayı otomatik olarak ister.startupVerificationCooldownHours: sonraki otomatik başlangıç isteğinden önceki bekleme süresi. Varsayılan:24.
Erişim ve politika
groupPolicy:"open","allowlist"veya"disabled". Varsayılan:"allowlist".groupAllowFrom: oda trafiği için kullanıcı kimliği izin listesi.mentionPatterns: oda bahsetmeleri için kapsamlı düzenli ifade kalıpları.{ mode: "allow"|"deny", allowIn: [roomId, ...], denyIn: [roomId, ...] }biçiminde nesne. Yapılandırılmışagents.list[].groupChat.mentionPatternskalıplarının oda başına uygulanıp uygulanmayacağını denetler.dm.enabled:falseolduğunda tüm doğrudan mesajları yok sayın. Varsayılan:true.dm.policy:"pairing"(varsayılan),"allowlist","open"veya"disabled". Bot odaya katıldıktan ve odayı doğrudan mesaj olarak sınıflandırdıktan sonra uygulanır; davet işlemeyi etkilemez.dm.allowFrom: doğrudan mesaj trafiği için kullanıcı kimliği izin listesi.dm.sessionScope:"per-user"(varsayılan) veya"per-room".dm.threadReplies: yanıtları ileti dizisine eklemek için yalnızca doğrudan mesajlara yönelik geçersiz kılma ("off","inbound","always").allowBots: yapılandırılmış diğer Matrix bot hesaplarından gelen mesajları kabul edin (trueveya"mentions").allowlistOnly:trueolduğunda tüm etkin doğrudan mesaj politikalarını ("disabled"hariç) ve"open"grup politikalarını"allowlist"olmaya zorlar."disabled"politikalarını değiştirmez.dangerouslyAllowNameMatching:trueolduğunda kullanıcı izin listesi girdileri için Matrix görünen ad dizini aramasına ve oda izin listesi anahtarları için katılınmış oda adı aramasına izin verir. Tam@user:serverkimliklerini ve oda kimliklerini ya da diğer adlarını tercih edin.autoJoin:"always","allowlist"veya"off". Varsayılan:"off". Doğrudan mesaj türündeki davetler dâhil tüm Matrix davetlerine uygulanır.autoJoinAllowlist:autoJoin,"allowlist"olduğunda izin verilen odalar/diğer adlar. Diğer ad girdileri, davet edilen odanın bildirdiği duruma göre değil ana sunucuya göre çözümlenir.contextVisibility: ek bağlam görünürlüğü ("all"varsayılan,"allowlist","allowlist_quote").
Yanıt davranışı
replyToMode:"off"(varsayılan),"first","all"veya"batched".threadReplies:"off"(açıkça ayarlanmadığı sürece üst düzey varsayılan"inbound"olarak çözümlenir),"inbound"veya"always".threadBindings: ileti dizisine bağlı oturum yönlendirmesi ve yaşam döngüsü için kanal başına geçersiz kılmalar.streaming:"off"(varsayılan),"partial","quiet","progress"veya{ mode, preview: { toolProgress }, progress: { label, labels, maxLines, maxLineChars, toolProgress } }nesne biçimi.true<->"partial",false<->"off".blockStreaming:trueolduğunda tamamlanmış asistan blokları ayrı ilerleme mesajları olarak tutulur. Varsayılan:false.markdown: giden metin için isteğe bağlı Markdown işleme yapılandırması.responsePrefix: giden yanıtların başına eklenen isteğe bağlı dize.textChunkLimit:chunkMode: "length"olduğunda giden parçaların karakter cinsinden boyutu. Varsayılan:4000.chunkMode:"length"(varsayılan, karakter sayısına göre böler) veya"newline"(satır sınırlarında böler).historyLimit: bir oda mesajı aracıyı tetiklediğindeInboundHistoryolarak eklenen son oda mesajlarının sayısı.messages.groupChat.historyLimitdeğerine geri döner; geçerli varsayılan0'dır (devre dışı).mediaMaxMb: giden gönderimler ve gelen işleme için MB cinsinden medya boyutu üst sınırı. Varsayılan:20.
Tepki ayarları
ackReaction: bu kanal/hesap için alındı tepkisi geçersiz kılması.ackReactionScope: kapsam geçersiz kılması ("group-mentions"varsayılan,"group-all","direct","all","none","off").reactionNotifications: gelen tepki bildirimi modu ("own"varsayılan,"off").
Araçlar ve oda başına geçersiz kılmalar
actions: eylem başına araç denetimi (messages,reactions,pins,profile,memberInfo,channelInfo,verification).groups: oda başına politika eşlemesi. Oturum kimliği, çözümlemeden sonra kararlı oda kimliğini kullanır. (roomseski bir diğer addır.)groups.<room>.account: devralınmış bir oda girdisini belirli bir hesapla sınırlandırır.groups.<room>.enabled: oda başına açma/kapatma ayarı.falseolduğunda oda, eşlemede yokmuş gibi yok sayılır.groups.<room>.requireMention: kanal düzeyindeki bahsetme gereksiniminin oda başına geçersiz kılması.groups.<room>.allowBots: kanal düzeyindeki ayarın oda başına geçersiz kılması (trueveya"mentions").groups.<room>.botLoopProtection: bottan bota döngü koruma bütçesi için oda başına geçersiz kılma.groups.<room>.users: oda başına gönderen izin listesi.groups.<room>.tools: oda başına araç izin/verme reddetme geçersiz kılmaları.groups.<room>.autoReply: oda başına bahsetme koşulu geçersiz kılması.true, ilgili oda için bahsetme gereksinimlerini devre dışı bırakır;false, bunları yeniden zorunlu kılar.groups.<room>.skills: oda başına Skills filtresi.groups.<room>.systemPrompt: oda başına sistem istemi parçacığı.
Komut yürütme onayı ayarları
execApprovals.enabled: komut yürütme onaylarını Matrix'e özgü istemler aracılığıyla iletin.execApprovals.approvers: onaylama izni verilen Matrix kullanıcı kimlikleri.dm.allowFromdeğerine geri döner.execApprovals.target:"dm"(varsayılan),"channel"veya"both".execApprovals.agentFilter/execApprovals.sessionFilter: teslim için isteğe bağlı aracı/oturum izin listeleri.
İlgili konular
- Kanallara Genel Bakış - desteklenen tüm kanallar
- Eşleştirme - doğrudan mesaj kimlik doğrulaması ve eşleştirme akışı
- Gruplar - grup sohbeti davranışı ve bahsetme koşulu
- Kanal Yönlendirme - mesajlar için oturum yönlendirmesi
- Güvenlik - erişim modeli ve sıkılaştırma