Files
openclaw/extensions/zalouser
Josh Avant 36d2ae2a22 SecretRef: harden custom/provider secret persistence and reuse (#42554)
* Models: gate custom provider keys by usable secret semantics

* Config: project runtime writes onto source snapshot

* Models: prevent stale apiKey preservation for marker-managed providers

* Runner: strip SecretRef marker headers from resolved models

* Secrets: scan active agent models.json path in audit

* Config: guard runtime-source projection for unrelated configs

* Extensions: fix onboarding type errors in CI

* Tests: align setup helper account-enabled expectation

* Secrets audit: harden models.json file reads

* fix: harden SecretRef custom/provider secret persistence (#42554) (thanks @joshavant)
2026-03-10 23:55:10 +00:00
..

@openclaw/zalouser

OpenClaw extension for Zalo Personal Account messaging via native zca-js integration.

Warning: Using Zalo automation may result in account suspension or ban. Use at your own risk. This is an unofficial integration.

Features

  • Channel plugin integration with onboarding + QR login
  • In-process listener/sender via zca-js (no external CLI)
  • Multi-account support
  • Agent tool integration (zalouser)
  • DM/group policy support

Prerequisites

  • OpenClaw Gateway
  • Zalo mobile app (for QR login)

No external zca, openzca, or zca-cli binary is required.

Install

Option A: npm

openclaw plugins install @openclaw/zalouser

Option B: local source checkout

openclaw plugins install ./extensions/zalouser
cd ./extensions/zalouser && pnpm install

Restart the Gateway after install.

Quick start

Login (QR)

openclaw channels login --channel zalouser

Scan the QR code with the Zalo app on your phone.

Enable channel

channels:
  zalouser:
    enabled: true
    dmPolicy: pairing # pairing | allowlist | open | disabled

Send a message

openclaw message send --channel zalouser --target <threadId> --message "Hello from OpenClaw"

Configuration

Basic:

channels:
  zalouser:
    enabled: true
    dmPolicy: pairing

Multi-account:

channels:
  zalouser:
    enabled: true
    defaultAccount: default
    accounts:
      default:
        enabled: true
        profile: default
      work:
        enabled: true
        profile: work

Useful commands

openclaw channels login --channel zalouser
openclaw channels login --channel zalouser --account work
openclaw channels status --probe
openclaw channels logout --channel zalouser

openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"
openclaw directory groups members --channel zalouser --group-id <id>

Agent tool

The extension registers a zalouser tool for AI agents.

Available actions: send, image, link, friends, groups, me, status

Troubleshooting

  • Login not persisted: openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
  • Probe status: openclaw channels status --probe
  • Name resolution issues (allowlist/groups): use numeric IDs or exact Zalo names

Credits

Built on zca-js.