Zalo Personal (inoffiziell)
Status: experimentell. Diese Integration automatisiert ein persönliches Zalo-Konto über zca-cli.
Warnung: Dies ist eine inoffizielle Integration und kann zu Kontosperrung/-suspension führen. Nutzung auf eigenes Risiko.
Plugin erforderlich
Zalo Personal wird als Plugin ausgeliefert und ist nicht im Core-Install enthalten.
- Installation über CLI:
openclaw plugins install @openclaw/zalouser - Oder aus Source-Checkout:
openclaw plugins install ./extensions/zalouser - Details: Plugins
Voraussetzung: zca-cli
Auf der Gateway-Maschine muss das zca-Binary im PATH verfügbar sein.
- Prüfen:
zca --version - Falls fehlend: zca-cli installieren (siehe
extensions/zalouser/README.mdoder upstream zca-cli-Docs).
Schnelleinrichtung (Anfänger)
- Plugin installieren (siehe oben).
- Anmelden (QR, auf der Gateway-Maschine):
openclaw channels login --channel zalouser- QR-Code im Terminal mit der Zalo-Mobil-App scannen.
- Kanal aktivieren:
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing"
}
}
}- Gateway neu starten (oder Onboarding abschließen).
- DM-Zugang standardmäßig Pairing; Kopplungscode beim ersten Kontakt freigeben.
Ziele
- Nutzt
zca listenzum Empfang eingehender Nachrichten. - Nutzt
zca msg ...zum Senden von Antworten (Text/Medien/Link). - Für „Persönliches Konto“-Anwendungsfälle gedacht, wenn die Zalo Bot API nicht verfügbar ist.
Benennung
Kanal-ID ist zalouser, um deutlich zu machen, dass hier ein persönliches Zalo-Benutzerkonto (inoffiziell) automatisiert wird. Wir behalten zalo für eine mögliche zukünftige offizielle Zalo-API-Integration vor.
IDs finden (Verzeichnis)
Verzeichnis-CLI nutzen, um Peers/Gruppen und ihre IDs zu ermitteln:
openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"Limits
- Ausgehender Text wird auf ca. 2000 Zeichen gechunkt (Zalo-Client-Limits).
- Streaming ist standardmäßig blockiert.
Zugriffskontrolle (DMs)
channels.zalouser.dmPolicy unterstützt: pairing | allowlist | open | disabled (Standard: pairing).
channels.zalouser.allowFrom akzeptiert Benutzer-IDs oder Namen. Der Assistent löst Namen über zca friend find in IDs auf, wenn verfügbar. Freigabe über:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
Gruppenzugang (optional)
- Standard:
channels.zalouser.groupPolicy = "open"(Gruppen erlaubt). Nutzen Siechannels.defaults.groupPolicy, um den Standard zu überschreiben, wenn nicht gesetzt. - Auf Zulassen-Liste einschränken mit:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(Keys sind Gruppen-IDs oder Namen)
- Alle Gruppen blockieren:
channels.zalouser.groupPolicy = "disabled". - Der Konfigurations-Assistent kann nach Gruppen-Zulassen-Listen fragen.
- Beim Start löst OpenClaw Gruppen-/Benutzernamen in Zulassen-Listen in IDs auf und protokolliert die Zuordnung; nicht auflösbare Einträge bleiben wie eingegeben.
Beispiel:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true }
}
}
}
}Mehrkonten
Konten werden zca-Profilen zugeordnet. Beispiel:
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" }
}
}
}
}Fehlerbehebung
zca nicht gefunden:
- zca-cli installieren und sicherstellen, dass es im
PATHfür den Gateway-Prozess ist.
Login bleibt nicht erhalten:
openclaw channels status --probe- Erneut anmelden:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser