## Config field fixes (cross-verified against Go source) - MaixCam: server_address → host + port - IRC: use_tls → tls, channels_to_join → channels (all 6 languages) - WeCom AI Bot: callback port 18791 → 18790 - credential_encryption: base_url → api_base, add required model field, remove incorrect passphrase-only mode docs - providers.md: agents.defaults.model → model_name (×4), remove non-existent session.backlog_limit - migration guide, troubleshooting: agents.defaults.model → model_name - ANTIGRAVITY_AUTH: fix file path, Go 1.21 → 1.25, model → model_name - spawn-tasks: fix truncated file, add Heartbeat introduction - tools_configuration: add Tavily/SearXNG/GLMSearch, exec allow_remote/ timeout_seconds/custom_allow_patterns, cron allow_command, skills github/search_cache, clawhub timeout/max_zip_size/max_response_size - configuration: fix builtin skills path (build-time embedded, not cwd), HEARTBEAT.md marked auto-generated ## Broken link fixes (15 total) - chat-apps.md: WeCom/Matrix links with wrong relative paths - providers.md: migration link with extra docs/ prefix - hardware-compatibility.md: README links with wrong depth (all 5 langs) - chat-apps.md: WhatsApp dead links → anchor links (zh/ja) ## Getting-started accuracy - README (all 6 langs): add picoclaw.io as recommended download, add missing picoclaw model CLI command - docker.md: clarify first-run trigger condition (all 6 langs) - configuration.md: fix builtin skills path description (all 6 langs) ## QQ channel - Add quick setup via q.qq.com/qqbot/openclaw (one-click bot creation) - Add manual setup as fallback (all 6 languages) ## Feishu channel - Update setup flow: WebSocket/SDK mode, no webhook URL needed - Preserve Lark international domain note (all 6 languages) ## chat-apps.md - Add Feishu, Slack, IRC, OneBot detail sections (all 6 languages) - Add MaixCam section to ja/fr/pt-br/vi - Fix all channel doc links to point to correct language version ## New translations (25 files, 5 docs × 5 languages) debug.md, credential_encryption.md, hardware-compatibility.md, ANTIGRAVITY_AUTH.md, ANTIGRAVITY_USAGE.md → zh/ja/fr/pt-br/vi ## Channel docs (6 languages each, 60 new files) telegram, discord, qq, feishu, maixcam, dingtalk, line, slack, onebot, wecom/wecom_aibot, wecom/wecom_app, wecom/wecom_bot Co-authored-by: BeaconCat <BeaconCat@users.noreply.github.com>
6.2 KiB
6.2 KiB
README に戻る
企業WeChat AIボット
企業WeChat AIボット(AI Bot)は、企業WeChatが公式に提供するAI会話連携方式です。プライベートチャットとグループチャットの両方をサポートし、ストリーミングレスポンスプロトコルを内蔵しており、タイムアウト後に response_url を通じて最終返信をプッシュする機能もサポートしています。
他のWeCom チャンネルとの比較
| 機能 | WeCom Bot | WeCom App | WeCom AI Bot |
|---|---|---|---|
| プライベートチャット | ✅ | ✅ | ✅ |
| グループチャット | ✅ | ❌ | ✅ |
| ストリーミング出力 | ❌ | ❌ | ✅ |
| タイムアウト時のプッシュ | ❌ | ✅ | ✅ |
| 設定の複雑さ | 低 | 高 | 中 |
設定
{
"channels": {
"wecom_aibot": {
"enabled": true,
"token": "YOUR_TOKEN",
"encoding_aes_key": "YOUR_43_CHAR_ENCODING_AES_KEY",
"webhook_path": "/webhook/wecom-aibot",
"allow_from": [],
"welcome_message": "你好!有什么可以帮助你的吗?",
"max_steps": 10
}
}
}
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| token | string | はい | コールバック検証トークン。AIボット管理ページで設定 |
| encoding_aes_key | string | はい | 43文字のAESキー。AIボット管理ページでランダム生成 |
| webhook_path | string | いいえ | Webhookパス(デフォルト:/webhook/wecom-aibot) |
| allow_from | array | いいえ | ユーザーIDの許可リスト。空配列は全ユーザーを許可 |
| welcome_message | string | いいえ | ユーザーがチャットを開いたときに送信するウェルカムメッセージ。空白の場合は送信しない |
| reply_timeout | int | いいえ | 返信タイムアウト(秒、デフォルト:5) |
| max_steps | int | いいえ | エージェントの最大実行ステップ数(デフォルト:10) |
セットアップ手順
- 企業WeChat管理コンソール にログイン
- 「アプリ管理」→「AIボット」に進み、AIボットを作成または選択
- AIボット設定ページで「メッセージ受信」情報を入力:
- URL:
http://<your-server-ip>:18790/webhook/wecom-aibot - Token:ランダム生成またはカスタム
- EncodingAESKey:「ランダム生成」をクリックして43文字のキーを取得
- URL:
- TokenとEncodingAESKeyをPicoClawの設定ファイルに入力し、サービスを起動してから管理コンソールに戻って保存(企業WeChatが検証リクエストを送信します)
Tip
サーバーは企業WeChatのサーバーからアクセス可能である必要があります。イントラネットやローカル開発環境の場合は、ngrok またはfrpを使用してトンネリングしてください。
ストリーミングレスポンスプロトコル
WeCom AIボットは「ストリーミングプル」プロトコルを使用しており、通常のWebhookの一回限りの返信とは異なります:
ユーザーがメッセージを送信
│
▼
PicoClawが即座に {finish: false} を返す(エージェントが処理開始)
│
▼
企業WeChatが約1秒ごとに {msgtype: "stream", stream: {id: "..."}} でプル
│
├─ エージェント未完了 → {finish: false} を返す(待機継続)
│
└─ エージェント完了 → {finish: true, content: "返信内容"} を返す
タイムアウト処理(タスクが30秒を超える場合):
エージェントの処理時間が約30秒を超えた場合(企業WeChatの最大ポーリングウィンドウは6分)、PicoClawは:
- 即座にストリームを閉じ、ユーザーに「⏳ 正在处理中,请稍候,结果将稍后发送。」と表示
- エージェントはバックグラウンドで処理を継続
- エージェント完了後、メッセージに含まれる
response_urlを通じて最終返信をユーザーにプッシュ
response_urlは企業WeChatが発行し、有効期限は1時間、使用は1回限りで、暗号化不要。マークダウンメッセージ本文をそのままPOSTするだけです。
ウェルカムメッセージ
welcome_message を設定すると、ユーザーがAIボットとのチャットウィンドウを開いたとき(enter_chat イベント)に、PicoClawが自動的にそのメッセージを返信します。空白の場合は無視されます。
"welcome_message": "你好!我是 PicoClaw AI 助手,有什么可以帮你?"
よくある質問
コールバックURL検証の失敗
- サーバーのファイアウォールで該当ポートが開放されているか確認(デフォルト18790)
tokenとencoding_aes_keyが正しく入力されているか確認- PicoClawのログに企業WeChatからのGETリクエストが届いているか確認
メッセージに返信がない
allow_fromが誤って送信者を制限していないか確認- ログに
context canceledまたはエージェントエラーが出ていないか確認 - エージェント設定(
model_nameなど)が正しいか確認
長時間タスクで最終プッシュが届かない
- メッセージコールバックに
response_urlが含まれているか確認(新バージョンの企業WeChat AIボットのみ対応) - サーバーが外部ネットワークへのアウトバウンドリクエストを送信できるか確認(
response_urlへのPOSTが必要) - ログのキーワード
response_url modeとSending reply via response_urlを確認