Zalo 个人号
通过 zca-cli(扫码登录)接入 Zalo 个人号:能力与配置
状态:实验性。本集成通过 zca-cli 自动化一个 Zalo 个人账号。
Tutorial.alert.info
需要安装插件
Zalo Personal 以插件形式提供,不随 core 安装打包。
- CLI 安装:openclaw plugins install @openclaw/zalouser
- 或从源码 checkout 安装:openclaw plugins install ./extensions/zalouser
- 详情:''/plugin''
前置条件:zca-cli
Gateway 机器必须在 PATH 中能找到 PATH 二进制。
- 验证:zca --version
- 若缺失,请安装 zca-cli(见 extensions/zalouser/README.md 或上游 zca-cli 文档)。
新手快速配置
1. 安装插件(见上文)。
2. 登录(二维码;在 gateway 机器上执行):
- openclaw channels login --channel zalouser
- 用 Zalo 手机 App 扫描终端里的 QR。
3. 启用通道:
4. 重启 Gateway(或完成 onboarding)。
5. 私信默认 pairing:首次联系会收到配对码,批准后才会处理消息。
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing",
},
},
}这是什么
- 使用 zca listen 接收入站消息。
- 使用 zca msg ... 发送回复(文本/媒体/链接)。
- 用于"无法使用 Zalo Bot API"的个人账号场景。
命名说明
通道 id 使用 zalouser,明确表示这是在自动化一个 Zalo 个人用户账号(非官方)。zalo 保留给未来可能的官方 Zalo API 集成。
查找 IDs(directory)
使用 directory CLI 查找联系人/群与对应 IDs:
openclaw directory self --channel zalouser openclaw directory peers list --channel zalouser --query "name" openclaw directory groups list --channel zalouser --query "work"
限制
- 出站文本按约 2000 字符分段(Zalo 客户端限制)。
- 默认禁用 streaming。
访问控制(私信)
channels.zalouser.dmPolicy 支持:pairing | allowlist | open | disabled(默认 pairing)。
channels.zalouser.allowFrom 接受 user IDs 或名称。向导会在可能时通过 zca friend find 把名称解析为 ID。
批准:
- openclaw pairing list zalouser
- openclaw pairing approve zalouser <code>
群聊访问(可选)
- 默认:channels.zalouser.groupPolicy = "open"(允许群)。未设置时可用 channels.defaults.groupPolicy 覆盖默认值。
- 如需限制为 allowlist:
- channels.zalouser.groupPolicy = "allowlist"
- channels.zalouser.groups(key 为群 ID 或名称)
- 禁用所有群:channels.zalouser.groupPolicy = "disabled"。
- configure 向导可提示填写群 allowlists。
- 启动时 OpenClaw 会尽力把 allowlists 中的群/用户名称解析为 ID,并把映射写日志;解析失败的条目会保留原样。
示例:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true },
},
},
},
}多账号
账号映射到 zca profiles。例如:
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" },
},
},
},
}排障
找不到 zca:
- 安装 zca-cli,并确保 gateway 进程的 PATH 可找到它。
登录无法持久化:
- 运行:openclaw channels status --probe
- 重新登录:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser