
【最新版】Zalo PersonalでOpenClawを使う方法(非公式:個人アカウント自動化)
2026年3月18日
Zalo Personal
Zalo Personal(非公式)
ステータス:experimental。この連携は、OpenClaw 内のネイティブ zca-js を使って個人のZaloアカウントを自動化します。
警告: これは非公式の連携であり、アカウント停止/凍結(ban)につながる可能性があります。自己責任で使用してください。
プラグインが必要
Zalo Personal はプラグインとして提供されており、コアインストールには同梱されていません。
- CLIでインストール:
openclaw plugins install @openclaw/zalouser - ソースチェックアウトから:
openclaw plugins install ./extensions/zalouser - 詳細: Plugins
外部の zca / openzca CLI バイナリは不要です。
クイックセットアップ(初心者向け)
- プラグインをインストールします(上記参照)。
- ログインします(Gateway マシン上で QR を表示します):
openclaw channels login --channel zalouser- Zalo モバイルアプリで QR コードをスキャンします。
- チャネルを有効化します:
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing",
},
},
}- Gateway を再起動します(またはセットアップを完了します)。
- DM のアクセス制御はデフォルトで pairing です。最初の接触で出るペアリングコードを承認してください。
これは何?(What it is)
zca-jsにより、すべてがプロセス内で動作します。- 受信メッセージはネイティブのイベントリスナーで受け取ります。
- 返信は JS API で直接送信します(text/media/link)。
- Zalo Bot API が使えない「個人アカウント」ユースケース向けに設計されています。
命名(Naming)
チャンネルIDは zalouser で、非公式の「個人Zaloユーザーアカウント自動化」であることを明示しています。zalo は将来の公式 Zalo API 連携のために予約されています。
IDの探し方(ディレクトリ)
directory CLI で peer/group とその ID を見つけます:
openclaw directory self --channel zalouser openclaw directory peers list --channel zalouser --query "name" openclaw directory groups list --channel zalouser --query "work"
制限(Limits)
- 送信テキストは約 2000 文字で分割されます(Zalo クライアント制限)。
- ストリーミングはデフォルトでブロックされます。
アクセス制御(DM)
channels.zalouser.dmPolicy はpairing | allowlist | open | disabled をサポートします(デフォルト:pairing)。
channels.zalouser.allowFrom はユーザー ID または名前を受け付けます。 セットアップ時、名前はプラグイン内のコンタクト検索で ID に解決されます。
承認:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
グループアクセス(任意)
- デフォルト:
channels.zalouser.groupPolicy = "open"(グループを許可)。未設定時のデフォルト上書きはchannels.defaults.groupPolicyを使います。 - allowlist に制限するには:
channels.zalouser.groupPolicy = "allowlist"、channels.zalouser.groups、channels.zalouser.groupAllowFromを使います。 - グループをすべてブロック:
channels.zalouser.groupPolicy = "disabled" - configure wizard はグループ allowlist を促せます。
- 起動時、OpenClaw は allowlist 内のグループ/ユーザー名を ID に解決し、対応関係をログに出します。
- グループ allowlist の一致はデフォルトで ID のみです。未解決の名前は、
channels.zalouser.dangerouslyAllowNameMatching: trueが有効でない限り認可では無視されます。 channels.zalouser.dangerouslyAllowNameMatching: trueは可変なグループ名マッチングを再有効化する break-glass compatibility mode です。groupAllowFromが未設定の場合、ランタイムはグループ送信者チェックでallowFromにフォールバックします。- 送信者チェックは、通常のグループメッセージと制御コマンド(例:
/new、/reset)の両方に適用されます。
例:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groupAllowFrom: ["1471383327500481391"],
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true },
},
},
},
}グループのメンション必須(Group mention gating)
channels.zalouser.groups.<group>.requireMentionが、グループ返信にメンションを必須にするかを制御します。- 解決順:正確な group id/name → 正規化された group slug →
*→ デフォルト(true)。 - allowlist group と open group mode の両方に適用されます。
- 認可された制御コマンド(例:
/new)は mention gating をバイパスできます。 - メンション必須によりグループメッセージがスキップされた場合、OpenClaw は pending group history として保存し、次に処理されるグループメッセージに含めます。
- グループ履歴の上限はデフォルトで
messages.groupChat.historyLimit(フォールバック:50)。アカウント単位でchannels.zalouser.historyLimitで上書きできます。
例:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"*": { allow: true, requireMention: true },
"Work Chat": { allow: true, requireMention: false },
},
},
},
}マルチアカウント
アカウントは OpenClaw の state 内の zalouser プロファイルに対応します。例:
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" },
},
},
},
}タイピング、リアクション、配信確認
- OpenClaw は返信を送信する前に typing event を送ります(best-effort)。
- チャンネルアクションの message reaction アクション
reactがzalouserでサポートされています。remove: trueを指定すると、特定のリアクション絵文字をメッセージから削除します。- リアクションのセマンティクス: Reactions
- イベントメタデータを含む受信メッセージに対して、OpenClaw は delivered + seen acknowledgement を送ります(best-effort)。
トラブルシューティング
ログインが保持されない
openclaw channels status --probe- 再ログイン:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
allowlist / グループ名が解決されない
allowFrom/groupAllowFrom/groupsには数値 ID、または正確な友だち/グループ名を使ってください。
古いCLIベースのセットアップからアップグレードした
- 古い外部
zcaプロセス前提を削除してください。 - このチャネルは、外部 CLI バイナリなしで OpenClaw 内で完全に動作します。
参考
関連記事

AIエージェントのメモリスタックとは?2026年に重要度が上がる理由をやさしく解説
2026年4月8日
OpenClaw vs Hermes vs Claude、創業者はどれを選ぶべき?2026年版の実務比較
2026年4月8日