WeChat(Weixin)
このガイドでは、公式のiLink Bot APIを使用してWeChat上にQwen Codeチャンネルを設定する方法について説明します。
前提条件
- QRコードをスキャンできるWeChatアカウント(モバイルアプリ)
- iLink Botプラットフォーム(WeChatの公式ボットAPI)へのアクセス
- WeChat ClawBotプラグインがそのアカウントで有効になっていること。以下のログインはボットを認可します。プラグインはあなたが会話する相手を提供します。メッセージを送信する場所 — これは初めてのセットアップで最も見落とされるステップです。
Webシェルでのセットアップ
ブラウザーUIはQRログインを含む全体の流れを処理します。ターミナルも手動で編集した設定ファイルも必要ありません。
- チャンネル設定を開き、利用可能なプラットフォームからWeChatを選択します。
- エディターの認証情報セクションで、WeChatアカウントパネルにログイン状態が表示されます。QRコードでログインをクリックします。
- 表示されたQRコードをWeChatでスキャンし、携帯電話で確認します。パネルは「QRコードをスキャンしてください」から「スキャン済み」から「WeChat接続済み」へと進み、デーモンが認証情報を保存します。
- チャンネル名、ワークスペース、アクセスポリシーを入力し、保存します。許可リストは空のままにし、保留中のリクエストで送信者を承認してください — 誰が話しかけられるか を参照。
- チャンネルをカードから開始します。
- 微信ClawBotの会話でメッセージを送信します — メッセージを送信する場所。
パネルには再ログインとログアウトも用意されています。QRコードの有効期限が切れた場合は、QRコードを更新をクリックしてください。エンコーダーがQRを描画できない場合、パネルには代わりにログインURLがリンクとして表示されます。
2つ知っておくべきことがあります:
- このアカウントはこのデーモン上のすべてのWeChatチャンネルで共有されます。再ログインすると置き換えられます。すでに実行中のチャンネルは、再起動するまで前のアカウントを保持します。
- チャンネルの保存にログインは必要ありません。事前設定は可能ですが、開始するにはログイン済みアカウントが必要です。
パネルにデーモンがWeChatログインをサポートしていないと表示された場合は、デーモンを更新するか、以下のターミナルからの手順を使用してください。
ターミナルからのセットアップ
1. QRコードでログイン
WeChatは静的ボットトークンの代わりにQRコード認証を使用します。次のログインコマンドを実行してください:
qwen channel configure-weixinこれによりQRコードのURLが表示されます。WeChatモバイルアプリでスキャンして認証します。認証情報は~/.qwen/channels/weixin/account.jsonに保存されます。
2. チャンネルを設定
チャンネルを~/.qwen/settings.jsonに追加します:
{
"channels": {
"my-weixin": {
"type": "weixin",
"privatePolicy": "pairing",
"allowedUsers": [],
"sessionScope": "user",
"cwd": "/path/to/your/project",
"model": "qwen3.5-plus",
"instructions": "You are a concise coding assistant responding via WeChat. Keep responses under 500 characters. Use plain text only."
}
}
}注意:WeChatチャンネルはtokenフィールドを使用しません。認証情報はQRコードログイン手順から取得されます。
3. チャンネルを起動
# WeChatチャンネルのみを起動
qwen channel start my-weixin
# または、設定済みのすべてのチャンネルを一緒に起動
qwen channel startその後メッセージを送信します。どの会話を使用するかは次のセクションを参照してください。
メッセージを送信する場所
直接WeChatアカウントにメッセージを送信するのではなく、「微信ClawBot」の会話を使用してください。
QRコードをスキャンすると、アカウントのボットが認可されます。そのアカウント自体がボットになるわけではありません。プラグインが有効になると、コードをスキャンしたアカウントのチャットリストに微信ClawBotという名前の別の会話が出現します。その会話を開いてメッセージを送信してください。エージェントが処理中は入力インジケータ(「…」)が表示され、その後に応答が返ってきます。
テスト前に知っておくべき2つの重要な点:
- スキャンしたアカウントへの直接メッセージはチャンネルに届きません。 携帯電話のWeChatに通常のチャットとして届くだけで、チャンネルには何も見えません。エラーも、ログ行も、ペアリングリクエストもありません。すべての診断は正常に見えますが、何も起きません。
- ボットはスキャンしたアカウントにバインドされています。 別の人がそのアカウントにメッセージを送信してもボットに到達することはできず、ボットが自分で会話を開始することもできません。常にあなたが最初のメッセージを送信します。
微信ClawBotの会話が見つからない場合は、プラグインがまだ有効になっていません。WeChatのClawBotドキュメント によると、プラグインはコードをスキャンしたアカウントのWeChat設定で管理され、OpenClawがデバイスにインストールされた最新のWeChatバージョンが必要です。現在のバージョン要件とバインディング手順については、ここに引用されたバージョン番号ではなく、そのページを参照してください。
誰が話しかけられるか
デフォルトのprivatePolicy: "pairing"では、認識されない送信者からの最初のメッセージはエージェントに渡されません。チャンネルはペアリングリクエストを記録し、8文字のペアリングコードで返信し、メッセージ自体は破棄されます。つまり、返信は届きますが、あなたが尋ねた内容への回答ではありません。リクエストを承認してから、別のメッセージを送信してください。承認しても破棄されたメッセージは再生されません。
微信ClawBotの会話では、あなたが唯一の送信者です。つまり、あなたが承認するリクエストはあなたの最初のメッセージが作成したものです。ターミナルからのコードによる承認を含む完全な流れについては、DMペアリング を参照してください。
allowedUsersは送信者を事前承認してペアリングをスキップします。これはプラットフォームユーザーIDと照合します。oAbCd… @im.wechat のような形式で、WeChat名やハンドルではありません。一致しないエントリはサイレントに無視されるため、ここに入力されたハンドルは設定されているように見えますが、実際には有効になりません。
最も簡単な方法は、allowedUsersを空のままにし、チャンネルエディターの保留中のリクエストでユーザーを承認することです。承認は永続化されるため、再起動後も残ります。フィールドを事前に入力したい場合は、推測するのではなく、ペアリングリクエストから実際のIDを読んでください。
画像とファイル
テキストだけでなく、写真やドキュメントもボットに送信できます。
写真: 画像(スクリーンショット、写真など)を送信すると、エージェントがそのビジョン機能を使用して分析します。これにはマルチモーダルモデルが必要です。チャンネル設定に"model": "qwen3.5-plus"(または他のビジョン対応モデル)を追加してください。画像のダウンロードと処理中は入力インジケータが表示されます。
ファイル: PDF、コードファイル、その他のドキュメントを送信します。ボットはWeChatのCDNからファイルをダウンロードして復号化し、ローカルに保存します。エージェントはファイルツールを使用して読み取ります。これは任意のモデルで動作します。
設定オプション
WeChatチャンネルはすべての標準チャンネルオプション (Channel Overview 参照) に加えて、以下をサポートしています:
| Option | Description |
|---|---|
baseUrl | iLink Bot APIのベースURLを上書きします(デフォルト: https://ilinkai.weixin.qq.com) |
Telegramとの主な違い
- 認証: 静的ボットトークンの代わりにQRコードログインを使用します。セッションは期限切れになる可能性があり、その場合はチャンネルが一時停止し、メッセージがログに記録されます。
- フォーマット: WeChatはプレーンテキストのみをサポートします。エージェント応答内のMarkdownは自動的に削除されます。
- 入力インジケータ: WeChatには “Working…” というテキストメッセージの代わりに、ネイティブの ”…” 入力インジケータがあります。
- グループ: WeChat iLink BotはDMのみで、グループチャットはサポートされていません。
- メディア暗号化: 画像とファイルはWeChatのCDN上でAES-128-ECBで暗号化されています。チャンネルは透過的に復号化を処理します。
ヒント
- プレーンテキスト指示を使用する — WeChatはすべてのMarkdownを削除するため、“Use plain text only” のような指示を追加して、エージェントが整形された応答を生成して乱雑に見えるのを防ぎます。
- 応答は短く — WeChatのメッセージバブルは簡潔なテキストが最適です。指示に文字数制限を追加すると役立ちます(例:“Keep responses under 500 characters”)。
- セッションの期限切れ — ログに “Session expired (errcode -14)” と表示された場合、WeChatログインが期限切れです。チャンネルを停止し、
qwen channel configure-weixinを再実行して再度ログインしてください。 - アクセス制限 —
privatePolicy: "pairing"または"allowlist"を使用して、ボットと通信できるユーザーを制御します。詳細は DM Pairing を参照してください。
トラブルシューティング
”WeChat account not configured”
最初に qwen channel configure-weixin を実行してQRコードでログインしてください。
“Session expired (errcode -14)”
WeChatログインセッションが期限切れです。チャンネルを停止し、qwen channel configure-weixin を再度実行してください。
ボットが応答しない
以下の手順を順番に確認してください。最初の2つはどこにもエラーを出力しないため、ログを確認するだけでは見つかりません:
- どの会話に送信しましたか? 微信ClawBotでなければならず、WeChatアカウントへの直接メッセージではありません。メッセージを送信する場所 を参照。
- ペアリングリクエストを承認してから新しいメッセージを送信しましたか? リクエストをトリガーしたメッセージは破棄されており、承認しても元に戻りません。
- チャンネルが動作していることを確認します(
qwen channel status、またはqwen channel start my-weixin)。 - ターミナル出力でエラーを確認します。
[weixin] Poll errorはアップストリーム接続を示します。Session expired (errcode -14)は再ログインが必要であることを意味します。 allowedUsersを事前に入力した場合、エントリがプラットフォームユーザーID(oAbCd… @im.wechat)であり、WeChatハンドルではないことを確認してください。一致しないエントリは警告なしに無視されます。
「何も届いていない」と「届いて拒否された」を見分ける方法。 チャンネルは状態ディレクトリ(~/.qwen/channels/<workspace-scope>/)内の<channel>-<hash>-channel-events.jsonlに受信の判断を記録します。そのファイルが存在しない場合、チャンネルにメッセージが届いたことがありません。原因はその上流、ほとんど常にあなたが送信した会話にあります。ファイルが存在し、"outcome":"skipped"と"reason":"sender_pairing_required"が記録されている場合、メッセージは届いており承認待ちです。レコードのactorフィールドが承認または許可リストに追加する正確なプラットフォームユーザーIDです。
画像が機能しない
- チャンネル設定にビジョン対応の
modelが含まれていることを確認してください(例:qwen3.5-plus) - ターミナルでCDNダウンロードエラーを確認してください。ネットワークの問題を示している可能性があります。