The zalouser plugin adds unofficial Zalo Personal support to Apus. It uses
native zca-js to automate a normal Zalo user account. No external
zca/openzca CLI binary is required.
Unofficial automation may lead to account suspension or ban. Use at your own risk.
Naming
Channel id is zalouser to make it explicit this automates a personal Zalo
user account (unofficial). The separate zalo channel id is the official,
bundled Zalo Bot/webhook integration - see Zalo.
Where it runs
This plugin runs inside the Gateway process. For a remote Gateway, install/configure it on that host. Installation applies to a running Gateway automatically; if it is offline, start it after configuration.
Install
From npm
apus plugins install @openclaw/zalouser
Use the bare package to follow the current official release tag; pin an exact version only when you need a reproducible install. Check the installation's application result; see Apply changes and inspect.
From a local folder (dev)
cd ./path/to/local/zalouser-plugin
pnpm install
apus plugins install --link .
After subsequent source or manifest edits, run apus plugins reload zalouser.
Config
Channel config lives under channels.zalouser (not plugins.entries.*):
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing",
},
},
}
See Zalo personal channel config for DM/group access control, multi-account setup, environment variables, and troubleshooting.
CLI
apus channels login --channel zalouser
apus channels login --channel zalouser --account <name>
apus channels logout --channel zalouser
apus channels status --probe
apus message send --channel zalouser --target <threadId> --message "Hello from Apus"
apus directory self --channel zalouser
apus directory peers list --channel zalouser --query "name"
apus directory groups list --channel zalouser --query "name"
apus directory groups members --channel zalouser --group-id <id>
Agent tool
Tool name: zalouser
Actions: send, image, link, friends, groups, me, status
Channel message actions (not the agent tool) also support react for message
reactions.