跳转到内容

Zalo User

状态:实验性。此集成通过 zca-cli 自动化 Zalo 个人账户

警告: 这是一个非官方集成,可能导致账户暂停/封禁。使用风险自负。

Zalo Personal 作为插件发布,不随核心安装包捆绑。

  • 通过 CLI 安装:openclaw plugins install @openclaw/zalouser
  • 或从源码检出:openclaw plugins install ./extensions/zalouser
  • 详情:插件 (Plugins)

Gateway 机器必须在 PATH 中有 zca 二进制文件。

  • 验证:zca --version
  • 如果缺失,安装 zca-cli(参见 extensions/zalouser/README.md 或上游 zca-cli 文档)。
  1. 安装插件(见上文)。
  2. 登录(二维码,在 Gateway 机器上):
    • openclaw channels login --channel zalouser
    • 使用 Zalo 移动应用扫描终端中的二维码。
  3. 启用通道:
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing"
}
}
}
  1. 重启 Gateway(或完成引导)。
  2. 私信访问默认为配对;在首次联系时批准配对码。
  • 使用 zca listen 接收入站消息。
  • 使用 zca msg ... 发送回复(文本/媒体/链接)。
  • 专为 Zalo Bot API 不可用的“个人账户”用例设计。

通道 ID 为 zalouser 以明确表示它自动化 个人 Zalo 用户账户(非官方)。我们保留 zalo 用于未来可能的官方 Zalo API 集成。

使用目录 CLI 发现对等体/群组及其 ID:

Terminal window
openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"
  • 出站文本分块限制为 ~2000 字符(Zalo 客户端限制)。
  • 流式传输默认被阻止。

channels.zalouser.dmPolicy 支持:pairing | allowlist | open | disabled(默认:pairing)。 channels.zalouser.allowFrom 接受用户 ID 或名称。向导在可用时通过 zca friend find 将名称解析为 ID。

批准方式:

  • openclaw pairing list zalouser
  • openclaw 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: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true }
}
}
}
}

账户映射到 zca 配置文件。示例:

{
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