Zalo Personal (nieoficjalne)¶
Status: eksperymentalne. Ta integracja automatyzuje osobiste konto Zalo przez zca-cli.
Ostrzeżenie: To jest integracja nieoficjalna i może skutkować zawieszeniem lub zablokowaniem konta. Używasz na własne ryzyko.
Wymagana wtyczka¶
Zalo Personal jest dostarczane jako wtyczka i nie jest dołączone do instalacji podstawowej.
- Instalacja przez CLI:
openclaw plugins install @openclaw/zalouser - Albo z repozytorium źródłowego:
openclaw plugins install ./extensions/zalouser - Szczegóły: Plugins
Wymaganie wstępne: zca-cli¶
Maszyna Gateway musi mieć dostępny plik binarny zca w PATH.
- Weryfikacja:
zca --version - Jeśli brak, zainstaluj zca-cli (zob.
extensions/zalouser/README.mdlub dokumentację upstream zca-cli).
Szybka konfiguracja (dla początkujących)¶
- Zainstaluj wtyczkę (zob. powyżej).
- Zaloguj się (QR, na maszynie Gateway):
-
openclaw channels login --channel zalouser- Zeskanuj kod QR w terminalu aplikacją mobilną Zalo. - Włącz kanał:
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing",
},
},
}
- Zrestartuj Gateway (lub dokończ onboarding).
- Dostęp do DM-ów domyślnie wymaga parowania; zatwierdź kod parowania przy pierwszym kontakcie.
Czym to jest¶
- Używa
zca listendo odbierania wiadomości przychodzących. - Używa
zca msg ...do wysyłania odpowiedzi (tekst/media/link). - Zaprojektowane dla przypadków „konta osobistego”, gdy Zalo Bot API nie jest dostępne.
Nazewnictwo¶
Identyfikator kanału to zalouser, aby jasno wskazać, że automatyzuje osobiste konto użytkownika Zalo (nieoficjalnie). zalo pozostawiamy zarezerwowane dla potencjalnej przyszłej oficjalnej integracji Zalo API.
Wyszukiwanie identyfikatorów (katalog)¶
Użyj CLI katalogu, aby wykryć kontakty/grupy i ich identyfikatory:
openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"
Limity¶
- Tekst wychodzący jest dzielony na fragmenty do ~2000 znaków (limity klienta Zalo).
- Strumieniowanie jest domyślnie zablokowane.
Kontrola dostępu (DM-y)¶
channels.zalouser.dmPolicy obsługuje: pairing | allowlist | open | disabled (domyślnie: pairing).
channels.zalouser.allowFrom akceptuje identyfikatory użytkowników lub nazwy. Kreator rozwiązuje nazwy do identyfikatorów przez zca friend find, gdy to możliwe.
Zatwierdzanie przez:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
Dostęp do grup (opcjonalnie)¶
- Domyślnie:
channels.zalouser.groupPolicy = "open"(grupy dozwolone). Użyjchannels.defaults.groupPolicy, aby nadpisać domyślne ustawienie, gdy jest nieustawione. - Ogranicz do listy dozwolonych za pomocą:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(klucze to identyfikatory grup lub nazwy)- Zablokuj wszystkie grupy:
channels.zalouser.groupPolicy = "disabled". - Kreator konfiguracji może poprosić o listy dozwolonych grup.
- Podczas uruchamiania OpenClaw rozwiązuje nazwy grup/użytkowników w listach dozwolonych do identyfikatorów i zapisuje mapowanie w logach; nierozwiązane wpisy są zachowywane w oryginalnej postaci.
Przykład:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true },
},
},
},
}
Wiele kont¶
Konta mapują się na profile zca. Przykład:
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" },
},
},
},
}
Rozwiązywanie problemów¶
Nie znaleziono zca:
- Zainstaluj zca-cli i upewnij się, że znajduje się w
PATHdla procesu Gateway.
Logowanie nie jest trwałe:
openclaw channels status --probe- Ponowne logowanie:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser