{"_id":"@actagent/zalouser","_rev":"4-8ecde5cf2d763c2bf6f42296de218491","name":"@actagent/zalouser","dist-tags":{"latest":"2026.6.5"},"versions":{"2026.6.2":{"name":"@actagent/zalouser","version":"2026.6.2","_id":"@actagent/zalouser@2026.6.2","maintainers":[{"name":"nidaye0525","email":"nidaye0525@gmail.com"}],"homepage":"https://github.com/actagent/actagent#readme","bugs":{"url":"https://github.com/actagent/actagent/issues"},"dist":{"shasum":"f56f698d6b81e50bbd5aeed0f21ac17accb570ca","tarball":"https://registry.npmjs.org/@actagent/zalouser/-/zalouser-2026.6.2.tgz","fileCount":74,"integrity":"sha512-D5tnzLEzD/wXrmCfiknwOzCG4BPGhnPvjgfeMCcEFBvFN8wkt8Et4o3BmNpx38cVUUHXPIvtvpt871ozccIW2Q==","signatures":[{"sig":"MEYCIQCi5zgoR62o9ReguIrBzPxocjz8RoxNoZqGUTFcx9OylwIhAPOxP/g69EABMP2mhe36gNM6oAEq2LXijrPj2BvrPo2O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383841},"type":"module","gitHead":"77bc85eae49cb350c8baa74e34ec3e5c3efeacb4","_npmUser":{"name":"nidaye0525","email":"nidaye0525@gmail.com"},"actagent":{"build":{"actagentVersion":"2026.6.2"},"compat":{"pluginApi":">=2026.6.2"},"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","doctorCapabilities":{"groupModel":"hybrid","dmAllowFromMode":"topOnly","warnOnEmptyGroupSenderAllowlist":false,"groupAllowFromFallbackToAllowFrom":false},"quickstartAllowFrom":false},"install":{"npmSpec":"@actagent/zalouser","defaultChoice":"npm","minHostVersion":">=2026.4.10"},"release":{"publishToNpm":true,"publishToACTAgentHub":true},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/actagent/actagent.git","type":"git"},"_npmVersion":"10.9.4","description":"ACTAgent Zalo Personal Account plugin via native zca-js integration.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"4.4.3","zca-js":"2.1.2","typebox":"1.1.39"},"_hasShrinkwrap":true,"devDependencies":{"actagent":"workspace:*","@actagent/plugin-sdk":"workspace:*"},"peerDependencies":{"actagent":"workspace:*"},"peerDependenciesMeta":{"actagent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.6.2_1780815293897_0.24066950250338248","host":"s3://npm-registry-packages-npm-production"}},"2026.6.3":{"name":"@actagent/zalouser","version":"2026.6.3","_id":"@actagent/zalouser@2026.6.3","maintainers":[{"name":"nidaye0525","email":"nidaye0525@gmail.com"}],"homepage":"https://github.com/actagent/actagent#readme","bugs":{"url":"https://github.com/actagent/actagent/issues"},"dist":{"shasum":"165a688adba7b95ffb5845613d0564539a419a1a","tarball":"https://registry.npmjs.org/@actagent/zalouser/-/zalouser-2026.6.3.tgz","fileCount":74,"integrity":"sha512-WI1wSsaOdOrmvj5D6LGWPZEDgb/r9YJ8P95CRuOJ/wa/NSMnAzd2WEgDYBQfqwqE7ij7isYi3RRo5v4Rn83CKw==","signatures":[{"sig":"MEUCIEARkLiyf8p8l4dLw8FQhP9brmbrMml5Q5IWbmLoh4L6AiEAxrqul4i5Ldr52bkds63sui6weqiNj0uJnk4PoKYeAfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383841},"type":"module","gitHead":"fb880b12fab8027ca8617032ad806f913da48b9d","_npmUser":{"name":"nidaye0525","email":"nidaye0525@gmail.com"},"actagent":{"build":{"actagentVersion":"2026.6.2"},"compat":{"pluginApi":">=2026.6.2"},"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","doctorCapabilities":{"groupModel":"hybrid","dmAllowFromMode":"topOnly","warnOnEmptyGroupSenderAllowlist":false,"groupAllowFromFallbackToAllowFrom":false},"quickstartAllowFrom":false},"install":{"npmSpec":"@actagent/zalouser","defaultChoice":"npm","minHostVersion":">=2026.4.10"},"release":{"publishToNpm":true,"publishToACTAgentHub":true},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/actagent/actagent.git","type":"git"},"_npmVersion":"10.9.4","description":"ACTAgent Zalo Personal Account plugin via native zca-js integration.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"4.4.3","zca-js":"2.1.2","typebox":"1.1.39"},"_hasShrinkwrap":true,"devDependencies":{"actagent":"workspace:*","@actagent/plugin-sdk":"workspace:*"},"peerDependencies":{"actagent":"workspace:*"},"peerDependenciesMeta":{"actagent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.6.3_1780856178843_0.16181908267770484","host":"s3://npm-registry-packages-npm-production"}},"2026.6.4":{"name":"@actagent/zalouser","version":"2026.6.4","_id":"@actagent/zalouser@2026.6.4","maintainers":[{"name":"nidaye0525","email":"nidaye0525@gmail.com"}],"homepage":"https://github.com/actagent/actagent#readme","bugs":{"url":"https://github.com/actagent/actagent/issues"},"dist":{"shasum":"ed921f3f17797d9e320a9413ea756f85e5e1f6e7","tarball":"https://registry.npmjs.org/@actagent/zalouser/-/zalouser-2026.6.4.tgz","fileCount":74,"integrity":"sha512-Bamhdu1noOqTKFau323sjfVTip7V34D/0+JJ0SCektzDOFoUdYqSb2RZILwyadzbXHkujSI1xyjBbJWHJ5bcAQ==","signatures":[{"sig":"MEUCIQDShOdP6JSQG53bocdkPQgrnnH03zw6rnZqRtp6gTc+mwIgJ/TG/NpF9WprXKj7CJe3lcDwmjBB4uQdJXEme74dqzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383841},"type":"module","gitHead":"4ff5dd5cd323035f94eb4e3fb35483eb03da74ca","_npmUser":{"name":"nidaye0525","email":"nidaye0525@gmail.com"},"actagent":{"build":{"actagentVersion":"2026.6.2"},"compat":{"pluginApi":">=2026.6.2"},"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","doctorCapabilities":{"groupModel":"hybrid","dmAllowFromMode":"topOnly","warnOnEmptyGroupSenderAllowlist":false,"groupAllowFromFallbackToAllowFrom":false},"quickstartAllowFrom":false},"install":{"npmSpec":"@actagent/zalouser","defaultChoice":"npm","minHostVersion":">=2026.4.10"},"release":{"publishToNpm":true,"publishToACTAgentHub":true},"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts"},"repository":{"url":"git+https://github.com/actagent/actagent.git","type":"git"},"_npmVersion":"10.9.4","description":"ACTAgent Zalo Personal Account plugin via native zca-js integration.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"4.4.3","zca-js":"2.1.2","typebox":"1.1.39"},"_hasShrinkwrap":true,"devDependencies":{"actagent":"workspace:*","@actagent/plugin-sdk":"workspace:*"},"peerDependencies":{"actagent":"workspace:*"},"peerDependenciesMeta":{"actagent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.6.4_1780860278309_0.4720056257469365","host":"s3://npm-registry-packages-npm-production"}},"2026.6.5":{"name":"@actagent/zalouser","version":"2026.6.5","description":"ACTAgent Zalo Personal Account plugin via native zca-js integration.","repository":{"type":"git","url":"git+https://github.com/actagent/actagent.git"},"type":"module","dependencies":{"typebox":"1.1.39","zca-js":"2.1.2","zod":"4.4.3"},"devDependencies":{"@actagent/plugin-sdk":"workspace:*","actagent":"workspace:*"},"peerDependencies":{"actagent":"workspace:*"},"peerDependenciesMeta":{"actagent":{"optional":true}},"actagent":{"extensions":["./index.ts"],"setupEntry":"./setup-entry.ts","channel":{"id":"zalouser","label":"Zalo Personal","selectionLabel":"Zalo (Personal Account)","docsPath":"/channels/zalouser","docsLabel":"zalouser","blurb":"Zalo personal account via QR code login.","aliases":["zlu"],"order":85,"quickstartAllowFrom":false,"doctorCapabilities":{"dmAllowFromMode":"topOnly","groupModel":"hybrid","groupAllowFromFallbackToAllowFrom":false,"warnOnEmptyGroupSenderAllowlist":false}},"install":{"npmSpec":"@actagent/zalouser","defaultChoice":"npm","minHostVersion":">=2026.4.10"},"compat":{"pluginApi":">=2026.6.2"},"build":{"actagentVersion":"2026.6.2"},"release":{"publishToACTAgentHub":true,"publishToNpm":true}},"_id":"@actagent/zalouser@2026.6.5","gitHead":"ededc059e0bb8427ebbe8c766f3fbc49d190d1ac","bugs":{"url":"https://github.com/actagent/actagent/issues"},"homepage":"https://github.com/actagent/actagent#readme","_nodeVersion":"22.22.2","_npmVersion":"10.9.4","dist":{"integrity":"sha512-0TlMWiB70w327RpT7AcniTpC37nWbMe6BApN7Ic5rH/sZm8SMrfO9c47uwy1/OFbqa9GZXTqWlEUIGJO/9Qe+Q==","shasum":"907aaa3673180daedea16eea61e652990b3567cc","tarball":"https://registry.npmjs.org/@actagent/zalouser/-/zalouser-2026.6.5.tgz","fileCount":74,"unpackedSize":383841,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCUzLgY/wS2hLpzbXWkaEpxvGwDeVcO4k5X6CxZoHSWJgIhAO4G9iTIRbxrloY1+DZx0IoPghA/jO5AMhq9YwAKgQHE"}]},"_npmUser":{"name":"nidaye0525","email":"nidaye0525@gmail.com"},"directories":{},"maintainers":[{"name":"nidaye0525","email":"nidaye0525@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zalouser_2026.6.5_1780866521207_0.68788600334201"},"_hasShrinkwrap":true}},"time":{"created":"2026-06-07T06:54:53.758Z","modified":"2026-06-07T21:08:41.437Z","2026.6.2":"2026-06-07T06:54:54.042Z","2026.6.3":"2026-06-07T18:16:19.068Z","2026.6.4":"2026-06-07T19:24:38.451Z","2026.6.5":"2026-06-07T21:08:41.330Z"},"bugs":{"url":"https://github.com/actagent/actagent/issues"},"homepage":"https://github.com/actagent/actagent#readme","repository":{"type":"git","url":"git+https://github.com/actagent/actagent.git"},"description":"ACTAgent Zalo Personal Account plugin via native zca-js integration.","maintainers":[{"name":"nidaye0525","email":"nidaye0525@gmail.com"}],"readme":"# @actagent/zalouser\n\nACTAgent extension for Zalo Personal Account messaging via native `zca-js` integration.\n\n> **Warning:** Using Zalo automation may result in account suspension or ban. Use at your own risk. This is an unofficial integration.\n\n## Features\n\n- Channel plugin integration with setup wizard + QR login\n- In-process listener/sender via `zca-js` (no external CLI)\n- Multi-account support\n- Agent tool integration (`zalouser`)\n- DM/group policy support\n\n## Prerequisites\n\n- ACTAgent Gateway\n- Zalo mobile app (for QR login)\n\nNo external `zca`, `openzca`, or `zca-cli` binary is required.\n\n## Install\n\n### Option A: npm\n\n```bash\nactagent plugins install @actagent/zalouser\n```\n\n### Option B: local source checkout\n\n```bash\nPLUGIN_SRC=./path/to/local/zalouser-plugin\nactagent plugins install \"$PLUGIN_SRC\"\ncd \"$PLUGIN_SRC\" && pnpm install\n```\n\nRestart the Gateway after install.\n\n## Quick start\n\n### Login (QR)\n\n```bash\nactagent channels login --channel zalouser\n```\n\nScan the QR code with the Zalo app on your phone.\n\n### Enable channel\n\n```yaml\nchannels:\n  zalouser:\n    enabled: true\n    dmPolicy: pairing # pairing | allowlist | open | disabled\n```\n\n### Send a message\n\n```bash\nactagent message send --channel zalouser --target <threadId> --message \"Hello from ACTAgent\"\n```\n\n## Configuration\n\nBasic:\n\n```yaml\nchannels:\n  zalouser:\n    enabled: true\n    dmPolicy: pairing\n```\n\nMulti-account:\n\n```yaml\nchannels:\n  zalouser:\n    enabled: true\n    defaultAccount: default\n    accounts:\n      default:\n        enabled: true\n        profile: default\n      work:\n        enabled: true\n        profile: work\n```\n\n## Useful commands\n\n```bash\nactagent channels login --channel zalouser\nactagent channels login --channel zalouser --account work\nactagent channels status --probe\nactagent channels logout --channel zalouser\n\nactagent directory self --channel zalouser\nactagent directory peers list --channel zalouser --query \"name\"\nactagent directory groups list --channel zalouser --query \"work\"\nactagent directory groups members --channel zalouser --group-id <id>\n```\n\n## Agent tool\n\nThe extension registers a `zalouser` tool for AI agents.\n\nAvailable actions: `send`, `image`, `link`, `friends`, `groups`, `me`, `status`\n\n## Troubleshooting\n\n- Login not persisted: `actagent channels logout --channel zalouser && actagent channels login --channel zalouser`\n- Probe status: `actagent channels status --probe`\n- Name resolution issues (allowlist/groups): use numeric IDs or exact Zalo names\n\n## Credits\n\nBuilt on [zca-js](https://github.com/RFS-ADRENO/zca-js).\n","readmeFilename":"README.md"}