Zalo Personal
Conectar a una cuenta personal de Zalo via zca-cli (login QR): capacidades y configuración.
Estado: Experimental. Esta integración automatiza una cuenta personal de Zalo via zca-cli.
Nota
Instalación de Plugin Requerida
Zalo Personal se proporciona como un plugin y no viene empaquetado con la instalación core.
- Instalación CLI: openclaw plugins install @openclaw/zalouser
- O instalar desde checkout de fuente: openclaw plugins install ./extensions/zalouser
- Detalles: ''/plugin''
Inicio Rápido para Principiantes
1. Instala el plugin Zalo:
- Desde checkout de source: openclaw plugins install ./extensions/zalo
- Desde npm (si está publicado): openclaw plugins install @openclaw/zalo
Qué Es Esto
Zalo es una app de mensajería popular en Vietnam; Bot API permite al Gateway ejecutar un bot 1:1. Adecuado para escenarios de soporte/notificación (necesita enrutamiento determinístico de vuelta a Zalo).
- Un canal Zalo Bot API gestionado por Gateway.
- Enrutamiento determinístico: respuestas solo van de vuelta a Zalo, el modelo no elegirá canal.
- Los DMs comparten sesión principal del agente.
- Chat grupal aún no soportado (docs de Zalo dicen "próximamente").
ChannelsZalouserPage.step03.p6
ChannelsZalouserPage.step03.p7
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing",
},
},
}Configuración (Camino Rápido)
#
ChannelsZalouserPage.step04.p2
ChannelsZalouserPage.step04.p3
1) Crear token de bot (Zalo Bot Platform)
1. Abre https://bot.zaloplatforms.com e inicia sesión.
2) Configurar token (env o config)
Ejemplo:
openclaw directory self --channel zalouser openclaw directory peers list --channel zalouser --query "name" openclaw directory groups list --channel zalouser --query "work"
Cómo Funciona (Comportamiento)
- Los mensajes entrantes se normalizan a envelope de canal genérico (con placeholders de medios).
- Las respuestas siempre van de vuelta al mismo chat de Zalo.
Limitaciones
- Texto saliente segmentado en 2000 caracteres (límite de API Zalo).
- Límite de descarga/subida de medios: channels.zalo.mediaMaxMb (predeterminado 5MB).
- Streaming deshabilitado por defecto debido al límite de 2000 caracteres que hace streaming menos significativo.
ChannelsZalouserPage.step08.p4
ChannelsZalouserPage.step08.p5
Control de Acceso (DM)
#
ChannelsZalouserPage.step09.p2
ChannelsZalouserPage.step09.p3
ChannelsZalouserPage.step09.p4
ChannelsZalouserPage.step09.p5
ChannelsZalouserPage.step09.p6
ChannelsZalouserPage.step09.p7
ChannelsZalouserPage.step09.p8
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true },
},
},
},
}Acceso DM
- Predeterminado: channels.zalo.dmPolicy = "pairing". Remitentes desconocidos reciben código de emparejamiento; mensajes ignorados antes de aprobación (código expira en 1 hora).
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" },
},
},
},
}Long-polling vs webhook
ChannelsZalouserPage.step11.q1
ChannelsZalouserPage.step11.a1
ChannelsZalouserPage.step11.q2
ChannelsZalouserPage.step11.a2
ChannelsZalouserPage.step11.a3
ChannelsZalouserPage.step11.a4