Zalo Personal(非官方)
状态:实验性。本集成通过 OpenClaw 内部的原生zca-js 自动化操作 个人 Zalo 账户。
警告: 这是非官方集成,可能会导致账户被暂停或封禁。风险自负。
插件要求
Zalo Personal 作为插件发布,不包含在核心安装包中。- 通过命令行安装:
openclaw plugins install @openclaw/zalouser - 或通过源码检出安装:
openclaw plugins install ./extensions/zalouser - 详情见:插件
zca 或 openzca CLI 可执行文件。
快速入门(初学者)
- 安装插件(见上文)。
- 登录(网关机器上的二维码):
- 运行
openclaw channels login --channel zalouser - 使用 Zalo 移动应用扫码二维码。
- 运行
- 启用频道:
- 重启网关(或完成入门引导)。
- 私信访问默认需要配对;首次联系时批准配对码。
这是什么
- 完全在进程内通过
zca-js运行。 - 使用原生事件监听器接收入站消息。
- 通过 JS API 直接发送回复(文本/媒体/链接)。
- 设计用于 Zalo Bot API 不可用时的“个人账户”使用场景。
命名说明
频道 ID 为zalouser,以明确标识这是自动化操作的 个人 Zalo 用户账户(非官方)。zalo 保留为未来潜在官方 Zalo API 集成使用。
查找 ID(通讯录)
使用通讯录 CLI 来发现好友/群组及其 ID:限制
- 出站文本分块至约 2000 字符(Zalo 客户端限制)。
- 默认阻止流式传输。
访问控制(私信)
channels.zalouser.dmPolicy 支持:pairing | allowlist | open | disabled(默认:pairing)。
channels.zalouser.allowFrom 接收用户 ID 或名称。入门时,通过插件内的通讯录查找将名称解析为 ID。
通过如下命令批准访问:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
群组访问(可选)
- 默认:
channels.zalouser.groupPolicy = "open"(允许群组)。未设置时可通过channels.defaults.groupPolicy覆盖默认值。 - 通过以下方式限制为允许列表:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(键为群组 ID 或名称)
- 屏蔽所有群组:
channels.zalouser.groupPolicy = "disabled"。 - 配置向导可提示设置群组允许列表。
- 启动时,OpenClaw 会解析允许列表中的群组/用户名为 ID 并记录映射;无法解析的条目保持原样。
群组提及门控
channels.zalouser.groups.<group>.requireMention控制群组回复是否需要提及。- 解析顺序:精确群 ID/名称 -> 规范化群别名 ->
*-> 默认(true)。 - 此规则适用于允许列表群组及开放群组模式。
多账户
账户映射到 OpenClaw 状态中的zalouser 配置文件。例如:
输入状态、表情反应和送达确认
- OpenClaw 在发送回复前会发送输入中事件(尽力而为)。
zalouser支持消息反应动作react。- 使用
remove: true从消息中移除特定表情。 - 反应语义详见:反应
- 使用
- 对于带事件元数据的入站消息,OpenClaw 会发送送达和已读确认(尽力而为)。
故障排除
登录不持久:- 执行
openclaw channels status --probe - 重新登录:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
- 在
allowFrom/groups中使用数字 ID,或精确好友/群组名称。
- 移除任何旧外部
zca进程假设。 - 该频道现完全在 OpenClaw 内部运行,无需外部 CLI 可执行文件。