6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
77 lines
6.0 KiB
JSON
Executable File
77 lines
6.0 KiB
JSON
Executable File
{
|
||
"title": "Zalo Personal (unofficial)",
|
||
"content": "Status: experimental. This integration automates a **personal Zalo account** via `zca-cli`.\n\n> **Warning:** This is an unofficial integration and may result in account suspension/ban. Use at your own risk.\n\nZalo Personal ships as a plugin and is not bundled with the core install.\n\n* Install via CLI: `openclaw plugins install @openclaw/zalouser`\n* Or from a source checkout: `openclaw plugins install ./extensions/zalouser`\n* Details: [Plugins](/plugin)\n\n## Prerequisite: zca-cli\n\nThe Gateway machine must have the `zca` binary available in `PATH`.\n\n* Verify: `zca --version`\n* If missing, install zca-cli (see `extensions/zalouser/README.md` or the upstream zca-cli docs).\n\n## Quick setup (beginner)\n\n1. Install the plugin (see above).\n2. Login (QR, on the Gateway machine):\n * `openclaw channels login --channel zalouser`\n * Scan the QR code in the terminal with the Zalo mobile app.\n3. Enable the channel:\n\n4. Restart the Gateway (or finish onboarding).\n5. DM access defaults to pairing; approve the pairing code on first contact.\n\n* Uses `zca listen` to receive inbound messages.\n* Uses `zca msg ...` to send replies (text/media/link).\n* Designed for “personal account” use cases where Zalo Bot API is not available.\n\nChannel id is `zalouser` to make it explicit this automates a **personal Zalo user account** (unofficial). We keep `zalo` reserved for a potential future official Zalo API integration.\n\n## Finding IDs (directory)\n\nUse the directory CLI to discover peers/groups and their IDs:\n\n* Outbound text is chunked to \\~2000 characters (Zalo client limits).\n* Streaming is blocked by default.\n\n## Access control (DMs)\n\n`channels.zalouser.dmPolicy` supports: `pairing | allowlist | open | disabled` (default: `pairing`).\n`channels.zalouser.allowFrom` accepts user IDs or names. The wizard resolves names to IDs via `zca friend find` when available.\n\n* `openclaw pairing list zalouser`\n* `openclaw pairing approve zalouser <code>`\n\n## Group access (optional)\n\n* Default: `channels.zalouser.groupPolicy = \"open\"` (groups allowed). Use `channels.defaults.groupPolicy` to override the default when unset.\n* Restrict to an allowlist with:\n * `channels.zalouser.groupPolicy = \"allowlist\"`\n * `channels.zalouser.groups` (keys are group IDs or names)\n* Block all groups: `channels.zalouser.groupPolicy = \"disabled\"`.\n* The configure wizard can prompt for group allowlists.\n* On startup, OpenClaw resolves group/user names in allowlists to IDs and logs the mapping; unresolved entries are kept as typed.\n\nAccounts map to zca profiles. Example:\n\n* Install zca-cli and ensure it’s on `PATH` for the Gateway process.\n\n**Login doesn’t stick:**\n\n* `openclaw channels status --probe`\n* Re-login: `openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser`",
|
||
"code_samples": [
|
||
{
|
||
"code": "4. Restart the Gateway (or finish onboarding).\n5. DM access defaults to pairing; approve the pairing code on first contact.\n\n## What it is\n\n* Uses `zca listen` to receive inbound messages.\n* Uses `zca msg ...` to send replies (text/media/link).\n* Designed for “personal account” use cases where Zalo Bot API is not available.\n\n## Naming\n\nChannel id is `zalouser` to make it explicit this automates a **personal Zalo user account** (unofficial). We keep `zalo` reserved for a potential future official Zalo API integration.\n\n## Finding IDs (directory)\n\nUse the directory CLI to discover peers/groups and their IDs:",
|
||
"language": "unknown"
|
||
},
|
||
{
|
||
"code": "## Limits\n\n* Outbound text is chunked to \\~2000 characters (Zalo client limits).\n* Streaming is blocked by default.\n\n## Access control (DMs)\n\n`channels.zalouser.dmPolicy` supports: `pairing | allowlist | open | disabled` (default: `pairing`).\n`channels.zalouser.allowFrom` accepts user IDs or names. The wizard resolves names to IDs via `zca friend find` when available.\n\nApprove via:\n\n* `openclaw pairing list zalouser`\n* `openclaw pairing approve zalouser <code>`\n\n## Group access (optional)\n\n* Default: `channels.zalouser.groupPolicy = \"open\"` (groups allowed). Use `channels.defaults.groupPolicy` to override the default when unset.\n* Restrict to an allowlist with:\n * `channels.zalouser.groupPolicy = \"allowlist\"`\n * `channels.zalouser.groups` (keys are group IDs or names)\n* Block all groups: `channels.zalouser.groupPolicy = \"disabled\"`.\n* The configure wizard can prompt for group allowlists.\n* On startup, OpenClaw resolves group/user names in allowlists to IDs and logs the mapping; unresolved entries are kept as typed.\n\nExample:",
|
||
"language": "unknown"
|
||
},
|
||
{
|
||
"code": "## Multi-account\n\nAccounts map to zca profiles. Example:",
|
||
"language": "unknown"
|
||
}
|
||
],
|
||
"headings": [
|
||
{
|
||
"level": "h2",
|
||
"text": "Plugin required",
|
||
"id": "plugin-required"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Prerequisite: zca-cli",
|
||
"id": "prerequisite:-zca-cli"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Quick setup (beginner)",
|
||
"id": "quick-setup-(beginner)"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "What it is",
|
||
"id": "what-it-is"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Naming",
|
||
"id": "naming"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Finding IDs (directory)",
|
||
"id": "finding-ids-(directory)"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Limits",
|
||
"id": "limits"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Access control (DMs)",
|
||
"id": "access-control-(dms)"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Group access (optional)",
|
||
"id": "group-access-(optional)"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Multi-account",
|
||
"id": "multi-account"
|
||
},
|
||
{
|
||
"level": "h2",
|
||
"text": "Troubleshooting",
|
||
"id": "troubleshooting"
|
||
}
|
||
],
|
||
"url": "llms-txt#zalo-personal-(unofficial)",
|
||
"links": []
|
||
} |