はじめに
WeChat は中国で最も主流のインスタントメッセージングツールです。OpenClaw を WeChat に接続することで、プライベートな AI アシスタントを手に入れたり、グループチャットでメンバーにインテリジェントな Q&A サービスを提供したりできます。本記事では、WeChat 接続の各種方法とその設定方法を詳しくご説明します。
接続方式の概要
WeChat には公式のオープンな Bot API がないため、OpenClaw はサードパーティのブリッジソリューションを通じて WeChat 接続を実現しています。
| 方式 | 原理 | 安定性 | リスクレベル |
|---|---|---|---|
| Web プロトコル (UOS) | Web 版 WeChat ログインを模倣 | 中程度 | 中 |
| Wechaty Puppet | Wechaty フレームワーク経由でブリッジ | やや高い | 低〜中 |
| iPad プロトコル | iPad クライアントを模倣 | 高い | 低 |
| 企業微信 API | 企業微信の公式インターフェースを使用 | 最も高い | 最も低い |
重要な注意事項
注意:個人 WeChat の接続は非公式の方法であり、ログイン制限を受けるリスクがあります。
テストにはサブアカウントを使用し、メインの WeChat アカウントは絶対に使用しないでください。
企業微信 API は公式にサポートされた方法であり、企業レベルのデプロイに適しています。
方法1:Wechaty ブリッジ(推奨)
Wechaty は成熟したチャットボット SDK で、OpenClaw には Wechaty のサポートが組み込まれています。
1.1 Wechaty 依存関係のインストール
システムに Node.js 22+ がインストールされていることを確認し、Wechaty をインストールします。
npm install -g wechaty
1.2 Puppet の選択
Wechaty は Puppet を通じて異なる WeChat プロトコルに対応しています。
| Puppet | プロトコル | 費用 | 説明 |
|---|---|---|---|
| wechaty-puppet-wechat4u | Web プロトコル | 無料 | 機能制限あり、一部アカウント非対応 |
| wechaty-puppet-padlocal | iPad プロトコル | 有料 | フル機能、推奨 |
| wechaty-puppet-xp | Windows Hook | 無料 | Windows 環境が必要 |
| wechaty-puppet-service | リモートサービス | 要相談 | リモート Puppet サービスに接続 |
無料プランでは wechat4u を使用します。
npm install wechaty-puppet-wechat4u
1.3 OpenClaw の設定
~/.config/openclaw/openclaw.json5 を編集します。
{
channels: {
wechat: {
enabled: true,
// ブリッジ方式
bridge: "wechaty",
// Wechaty Puppet 設定
puppet: {
// puppet 名
name: "wechaty-puppet-wechat4u",
// 有料 puppet を使用する場合、token を入力
token: ""
},
// トリガー方式
trigger: {
// プライベートチャットで自動返信するか(キーワード不要)
privateAutoReply: true,
// グループチャットのトリガーキーワード(これらの語で始まる場合のみ返信)
groupKeywords: ["@AI", "问一下", "/ask"],
// グループチャットで @Bot が必要か
groupMentionRequired: true,
// 自分自身のメッセージに応答するか
selfMessage: false
},
// 返信設定
reply: {
// グループチャットで元のメッセージを引用して返信するか
quoteReply: true,
// 「入力中」ステータスを表示するか
showTyping: true,
// 長文テキストの自動分割文字数
maxLength: 4000
}
}
}
}
1.4 起動と QR コードスキャンでログイン
設定完了後、OpenClaw を再起動します。
openclaw restart
ログを確認してログイン QR コードを取得します。
openclaw logs -f --component channel:wechat
ログにターミナル文字画形式の QR コードが表示されます。ログインしたい WeChat アカウントでこの QR コードをスキャンし、スマートフォンでログインを確認します。
[INFO] [channel:wechat] 等待扫码登录...
[INFO] [channel:wechat] 请使用微信扫描以下二维码:
[INFO] [channel:wechat] ████████████████████████████████
[INFO] [channel:wechat] █ █
[INFO] [channel:wechat] █ ▄▄▄▄▄ █ █ ▄ █▀▄▀ █ ▄▄▄▄▄ █
[INFO] [channel:wechat] █ ...(QRコード内容)... █
[INFO] [channel:wechat] ████████████████████████████████
スキャン成功後:
[INFO] [channel:wechat] 扫码成功,等待确认...
[INFO] [channel:wechat] 登录成功! 当前账号: AI助手
[INFO] [channel:wechat] 联系人数量: 256, 群聊数量: 15
方法2:企業微信 API
企業微信は公式の API インターフェースを提供しており、より安定的で安全です。
2.1 企業微信アプリケーションの作成
- 企業微信管理バックエンド にログイン
- アプリケーション管理 → 自社開発アプリ → アプリケーション作成 に移動
- アプリケーション名の入力、アイコンのアップロード、可視範囲の選択
- 作成後、AgentId と Secret を記録
2.2 必要な情報の取得
以下の情報が必要です。
| パラメータ | 取得元 | 例 |
|---|---|---|
| CorpId | 自社情報 → 企業情報 | ww1234567890abcdef |
| AgentId | アプリケーション管理 → アプリ詳細 | 1000002 |
| Secret | アプリケーション管理 → アプリ詳細 | xxxxxxxxxxxxxxxxxxxx |
| Token | メッセージ受信 → API 受信 | your-token-string |
| EncodingAESKey | メッセージ受信 → API 受信 | your-encoding-aes-key |
2.3 コールバックアドレスの設定
アプリケーションのメッセージ受信設定で、コールバック URL を設定します。
https://your-domain.com/webhook/wechat-work/callback
OpenClaw は企業微信の URL 検証リクエストを自動的に処理します。
2.4 OpenClaw の設定
{
channels: {
wechatWork: {
enabled: true,
corpId: "ww1234567890abcdef",
agentId: 1000002,
secret: "your-app-secret",
token: "your-callback-token",
encodingAESKey: "your-encoding-aes-key",
// 使用可能なユーザー/部署(空配列はアプリ可視範囲内の全員を意味)
allowedUsers: [],
allowedDepartments: []
}
}
}
グループチャット設定の詳細
グループチャットのトリガールール
グループチャットでは、Bot が頻繁に介入するのを避けるため、通常は特定のトリガー方式が必要です。
{
channels: {
wechat: {
trigger: {
groupMentionRequired: true,
groupKeywords: ["@AI", "问一下"],
// 指定したグループチャットでのみ有効化
allowedGroups: ["技术讨论群", "AI助手测试群"],
// または特定のグループを除外
ignoredGroups: ["家人群", "工作群"]
}
}
}
}
グループチャットのコンテキスト管理
{
channels: {
wechat: {
context: {
// グループチャットで各ユーザー独立のコンテキスト
groupContextMode: "per-user", // "per-user" | "shared"
// コンテキスト保持時間(分)
contextTimeout: 30,
// 最大コンテキストメッセージターン数
maxContextTurns: 20
}
}
}
}
メッセージタイプのサポート
OpenClaw の WeChat 各メッセージタイプへの対応状況:
| メッセージタイプ | 受信 | 送信 | 説明 |
|---|---|---|---|
| テキストメッセージ | 対応 | 対応 | 完全対応 |
| 画像メッセージ | 対応 | 対応 | 画像内容の認識可能(マルチモーダルモデルが必要) |
| 音声メッセージ | 対応 | 非対応 | 自動的にテキスト変換後に処理 |
| ファイルメッセージ | 対応 | 対応 | ドキュメント分析対応 |
| リンクメッセージ | 対応 | 非対応 | リンク内容の抽出可能 |
| スタンプ | 非対応 | 非対応 | 無視して処理 |
| ミニプログラム | 非対応 | 非対応 | 無視して処理 |
| 動画メッセージ | 部分的 | 非対応 | Puppet の機能に依存 |
永続化ログイン
再起動のたびに QR コードの再スキャンを避けるため、OpenClaw はログインセッションを自動的に保存します。
{
channels: {
wechat: {
// セッションデータの保存パス
sessionDir: "~/.openclaw/wechat-session/",
// セッション更新間隔(時間)
sessionRefresh: 12
}
}
}
セッションデータが保存された後、OpenClaw の再起動時にログイン状態が自動的に復元され、再スキャンは不要です。ただし、長時間使用しなかった場合(通常1週間以上)、セッションが期限切れになり、再スキャンが必要になることがあります。
トラブルシューティング
QR コードスキャン後にログインできない
# アカウントが制限されていないか確認
# 新規登録や長期間使用していないアカウントは Web プロトコルが使えない場合があります
# 解決策:iPad プロトコルまたは企業微信方式に変更
# ネットワーク接続を確認
openclaw doctor
メッセージの送受信に遅延がある
# メッセージ処理ログを確認
openclaw logs --component channel:wechat --level debug
# よくある原因:
# 1. AI モデルの応答が遅い - モデル API の遅延を確認
# 2. プロキシネットワークが遅い - プロキシ設定を最適化
# 3. メッセージキューの滞留 - 同時処理設定を確認
グループチャットで応答しない
以下の点を確認してください。
- Bot アカウントがそのグループチャットに参加しているか
- グループチャット名が
allowedGroupsリストに含まれているか(設定している場合) - メッセージがトリガー条件を満たしているか(キーワードまたは @)
- ログにそのグループチャットのメッセージ記録があるか確認
まとめ
WeChat 接続は、中国のシーンにおける OpenClaw の最も実用的な機能の一つです。いくつかのアドバイスをご紹介します。
- 個人利用:Wechaty + wechat4u(無料)で素早く体験することをお勧めします
- 安定性重視:有料の iPad プロトコル Puppet を検討してください。安定性が向上します
- 企業シーン:企業微信 API を強くお勧めします。公式サポートがあり、アカウント凍結のリスクがありません
- セキュリティ意識:非公式プロトコルを使用する際はサブアカウントでテストし、リスク評価を行ってください