> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fased.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Zalo Personal Plugin

# Zalo Personal (plugin)

Zalo Personal support for Fased runs through a plugin that uses `zca-cli` to
automate a normal Zalo user account.

> **Account risk:** This is unofficial automation and may lead to account
> restriction or suspension. Use a dedicated account if you cannot risk the main
> account.

## Naming

Channel id is `zalouser` to make it explicit this automates a **personal Zalo
user account** through an unofficial path. `zalo` stays reserved for a potential
future official Zalo API integration.

## Where it runs

This plugin runs **inside the Gateway process**.

If you use a remote Gateway, install and configure it on the **machine running
the Gateway**, then restart the Gateway.

## Normal setup

Zalo Personal is bundled in the repo as `extensions/zalouser`.

For normal users:

1. open **Agents**
2. select the Agent
3. open **Channels**
4. choose **Zalo Personal**
5. enable it, scan the QR login, and configure DM/group access

This enables the local bundled extension and then uses `channels.zalouser` for
account credentials and routing. If the Gateway is remote, the QR login and
`zca` dependency still run on the Gateway machine.

## Developer install

Zalo Personal is not a public npm add-on in this release. For local extension
development from a source checkout:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
fased plugins install ./extensions/zalouser
cd ./extensions/zalouser && pnpm install
```

Restart the Gateway afterwards.

## Prerequisite: zca-cli

The Gateway machine must have `zca` on `PATH`:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
zca --version
```

## Config

Channel config lives under `channels.zalouser` (not `plugins.entries.*`):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    zalouser: {
      enabled: true,
      dmPolicy: "pairing",
    },
  },
}
```

## CLI

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
fased channels login --channel zalouser
fased channels logout --channel zalouser
fased channels status --probe
fased message send --channel zalouser --target <threadId> --message "Hello from Fased"
fased directory peers list --channel zalouser --query "name"
```

## Agent tool

Tool name: `zalouser`

Actions: `send`, `image`, `link`, `friends`, `groups`, `me`, `status`
