Regional platforms
Zalo kişisel
Durum: deneysel. Bu entegrasyon, OpenClaw içinde yerel zca-js aracılığıyla bir kişisel Zalo hesabını otomatikleştirir.
Birlikte gelen Plugin
Zalo Personal, mevcut OpenClaw sürümlerinde birlikte gelen bir Plugin olarak gönderilir, bu nedenle normal paketlenmiş derlemeler ayrı bir kurulum gerektirmez.
Zalo Personal'ı hariç tutan daha eski bir derlemede veya özel bir kurulumdaysanız, npm paketini doğrudan kurun:
- CLI ile kurun:
openclaw plugins install @openclaw/zalouser - Sabitlenmiş sürüm:
openclaw plugins install @openclaw/zalouser@2026.5.2 - Veya kaynak checkout üzerinden:
openclaw plugins install ./path/to/local/zalouser-plugin - Ayrıntılar: Plugins
Harici zca/openzca CLI ikilisi gerekli değildir.
Hızlı kurulum (başlangıç)
- Zalo Personal Plugin'inin kullanılabilir olduğundan emin olun.
- Mevcut paketlenmiş OpenClaw sürümleri bunu zaten birlikte getirir.
- Eski/özel kurulumlar yukarıdaki komutlarla bunu elle ekleyebilir.
- Oturum açın (QR, Gateway makinesinde):
openclaw channels login --channel zalouser- QR kodunu Zalo mobil uygulamasıyla tarayın.
- Kanalı etkinleştirin:
{ channels: { zalouser: { enabled: true, dmPolicy: "pairing", }, },}- Gateway'i yeniden başlatın (veya kurulumu tamamlayın).
- DM erişimi varsayılan olarak eşleştirme kullanır; ilk temasta eşleştirme kodunu onaylayın.
Nedir
- Tamamen işlem içinde
zca-jsaracılığıyla çalışır. - Gelen mesajları almak için yerel olay dinleyicilerini kullanır.
- Yanıtları doğrudan JS API üzerinden gönderir (metin/medya/bağlantı).
- Zalo Bot API'nin kullanılamadığı "kişisel hesap" kullanım durumları için tasarlanmıştır.
Adlandırma
Kanal kimliği zalouser olarak belirlenmiştir; bunun kişisel bir Zalo kullanıcı hesabını otomatikleştirdiğini (resmi olmayan) açıkça belirtir. zalo adını gelecekte olası resmi bir Zalo API entegrasyonu için ayırıyoruz.
Kimlikleri bulma (dizin)
Eşleri/grupları ve kimliklerini keşfetmek için dizin CLI'sini kullanın:
openclaw directory self --channel zalouseropenclaw directory peers list --channel zalouser --query "name"openclaw directory groups list --channel zalouser --query "work"Sınırlar
- Giden metin yaklaşık 2000 karakterlik parçalara bölünür (Zalo istemci sınırları).
- Akış varsayılan olarak engellenir.
Erişim denetimi (DM'ler)
channels.zalouser.dmPolicy şunları destekler: pairing | allowlist | open | disabled (varsayılan: pairing).
channels.zalouser.allowFrom kararlı Zalo kullanıcı kimliklerini kullanmalıdır. Statik gönderici erişim gruplarına da başvurabilir (accessGroup:<name>). Etkileşimli kurulum sırasında girilen adlar, Plugin'in işlem içi kişi araması kullanılarak kimliklere çözümlenebilir.
Ham bir ad yapılandırmada kalırsa, başlangıç bunu yalnızca channels.zalouser.dangerouslyAllowNameMatching: true etkinleştirildiğinde çözümler. Bu açık onay olmadan, çalışma zamanı gönderici kontrolleri yalnızca kimlik tabanlıdır ve ham adlar yetkilendirme için yok sayılır.
Şununla onaylayın:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
Grup erişimi (isteğe bağlı)
- Varsayılan:
channels.zalouser.groupPolicy = "open"(gruplara izin verilir). Ayarlanmamışsa varsayılanı geçersiz kılmak içinchannels.defaults.groupPolicykullanın. - Şunlarla bir izin listesiyle sınırlandırın:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(anahtarlar kararlı grup kimlikleri olmalıdır; adlar başlangıçta yalnızcachannels.zalouser.dangerouslyAllowNameMatching: trueetkinleştirildiğinde kimliklere çözümlenir)channels.zalouser.groupAllowFrom(izin verilen gruplarda hangi göndericilerin botu tetikleyebileceğini denetler; statik gönderici erişim gruplarınaaccessGroup:<name>ile başvurulabilir)
- Tüm grupları engelleyin:
channels.zalouser.groupPolicy = "disabled". - Yapılandırma sihirbazı grup izin listeleri için istem gösterebilir.
- Başlangıçta OpenClaw, izin listelerindeki grup/kullanıcı adlarını kimliklere çözümler ve eşlemeyi yalnızca
channels.zalouser.dangerouslyAllowNameMatching: trueetkinleştirildiğinde günlüğe yazar. - Grup izin listesi eşleştirmesi varsayılan olarak yalnızca kimlik tabanlıdır. Çözümlenmeyen adlar,
channels.zalouser.dangerouslyAllowNameMatching: trueetkinleştirilmedikçe kimlik doğrulama için yok sayılır. channels.zalouser.dangerouslyAllowNameMatching: true, değiştirilebilir başlangıç adı çözümlemesini ve çalışma zamanı grup adı eşleştirmesini yeniden etkinleştiren bir acil uyumluluk modudur.groupAllowFromayarlanmamışsa, çalışma zamanı grup gönderici kontrolleri içinallowFromdeğerine geri döner.- Gönderici kontrolleri hem normal grup mesajlarına hem de denetim komutlarına uygulanır (örneğin
/new,/reset).
Örnek:
{ channels: { zalouser: { groupPolicy: "allowlist", groupAllowFrom: ["1471383327500481391"], groups: { "123456789": { allow: true }, "Work Chat": { allow: true }, }, }, },}Grup bahsetme geçidi
channels.zalouser.groups.<group>.requireMention, grup yanıtlarının bahsetme gerektirip gerektirmediğini denetler.- Çözümleme sırası: tam grup kimliği/adı -> normalleştirilmiş grup slug'ı ->
*-> varsayılan (true). - Bu hem izin listesine alınmış gruplara hem de açık grup moduna uygulanır.
- Bir bot mesajını alıntılamak, grup etkinleştirmesi için örtük bir bahsetme sayılır.
- Yetkili denetim komutları (örneğin
/new) bahsetme geçidini atlayabilir. - Bir grup mesajı bahsetme gerektiği için atlandığında, OpenClaw bunu bekleyen grup geçmişi olarak saklar ve bir sonraki işlenen grup mesajına dahil eder.
- Grup geçmişi sınırı varsayılan olarak
messages.groupChat.historyLimitdeğeridir (geri dönüş50). Hesap başınachannels.zalouser.historyLimitile geçersiz kılabilirsiniz.
Örnek:
{ channels: { zalouser: { groupPolicy: "allowlist", groups: { "*": { allow: true, requireMention: true }, "Work Chat": { allow: true, requireMention: false }, }, }, },}Çoklu hesap
Hesaplar, OpenClaw durumunda zalouser profillerine eşlenir. Örnek:
{ channels: { zalouser: { enabled: true, defaultAccount: "default", accounts: { work: { enabled: true, profile: "work" }, }, }, },}Ortam değişkenleri
Zalo Personal Plugin'i profil seçimini ortam değişkenlerinden de okuyabilir:
ZALOUSER_PROFILE: Kanal veya hesap yapılandırmasındaprofileayarlanmamışsa kullanılacak profil adı.ZCA_PROFILE: Eski geri dönüş profil adı; yalnızcaZALOUSER_PROFILEayarlanmadığında kullanılır.
Profil adları, OpenClaw durumunda kaydedilmiş Zalo oturum açma kimlik bilgilerini seçer. Çözümleme sırası şöyledir:
- Yapılandırmada açık
profile. ZALOUSER_PROFILE.ZCA_PROFILE.- Varsayılan olmayan hesaplar için hesap kimliği veya varsayılan hesap için
default.
Çoklu hesap kurulumlarında, tek bir ortam değişkeninin birden fazla hesabın aynı oturum açma
oturumunu paylaşmasına neden olmaması için yapılandırmada her hesapta profile ayarlamayı tercih edin.
Yazıyor durumu, tepkiler ve teslim alındıları
- OpenClaw, yanıt göndermeden önce bir yazıyor olayı gönderir (elden geldiğince).
- Mesaj tepki eylemi
react, kanal eylemlerindezalouseriçin desteklenir.- Bir mesajdan belirli bir tepki emojisini kaldırmak için
remove: truekullanın. - Tepki anlamları: Tepkiler
- Bir mesajdan belirli bir tepki emojisini kaldırmak için
- Olay meta verisi içeren gelen mesajlar için OpenClaw teslim edildi + görüldü alındıları gönderir (elden geldiğince).
Sorun giderme
Oturum açma kalıcı olmuyor:
openclaw channels status --probe- Yeniden oturum açın:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
İzin listesi/grup adı çözümlenmedi:
allowFrom/groupAllowFromiçinde sayısal kimlikler vegroupsiçinde kararlı grup kimlikleri kullanın. Bilerek tam arkadaş/grup adlarına ihtiyacınız varsachannels.zalouser.dangerouslyAllowNameMatching: trueetkinleştirin.
Eski CLI tabanlı kurulumdan yükselttiniz:
- Eski harici
zcaişlem varsayımlarını kaldırın. - Kanal artık harici CLI ikilileri olmadan tamamen OpenClaw içinde çalışır.
İlgili
- Kanallara Genel Bakış — desteklenen tüm kanallar
- Eşleştirme — DM kimlik doğrulaması ve eşleştirme akışı
- Gruplar — grup sohbeti davranışı ve bahsetme geçidi
- Kanal Yönlendirme — mesajlar için oturum yönlendirmesi
- Güvenlik — erişim modeli ve sertleştirme