picoclaw/docs/channels/wecom/wecom_aibot/README.ja.md
BeaconCat 403ceb39be
docs: fix inaccuracies, add translations, and expand channel docs (#1837)
## 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>
2026-03-20 22:37:05 +08:00

6.2 KiB
Raw Blame History

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

セットアップ手順

  1. 企業WeChat管理コンソール にログイン
  2. 「アプリ管理」→「AIボット」に進み、AIボットを作成または選択
  3. AIボット設定ページで「メッセージ受信」情報を入力
    • URLhttp://<your-server-ip>:18790/webhook/wecom-aibot
    • Token:ランダム生成またはカスタム
    • EncodingAESKey「ランダム生成」をクリックして43文字のキーを取得
  4. 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は

  1. 即座にストリームを閉じ、ユーザーに「 正在处理中,请稍候,结果将稍后发送。」と表示
  2. エージェントはバックグラウンドで処理を継続
  3. エージェント完了後、メッセージに含まれる response_url を通じて最終返信をユーザーにプッシュ

response_url は企業WeChatが発行し、有効期限は1時間、使用は1回限りで、暗号化不要。マークダウンメッセージ本文をそのままPOSTするだけです。

ウェルカムメッセージ

welcome_message を設定すると、ユーザーがAIボットとのチャットウィンドウを開いたときenter_chat イベントに、PicoClawが自動的にそのメッセージを返信します。空白の場合は無視されます。

"welcome_message": "你好!我是 PicoClaw AI 助手,有什么可以帮你?"

よくある質問

コールバックURL検証の失敗

  • サーバーのファイアウォールで該当ポートが開放されているか確認デフォルト18790
  • tokenencoding_aes_key が正しく入力されているか確認
  • PicoClawのログに企業WeChatからのGETリクエストが届いているか確認

メッセージに返信がない

  • allow_from が誤って送信者を制限していないか確認
  • ログに context canceled またはエージェントエラーが出ていないか確認
  • エージェント設定(model_name など)が正しいか確認

長時間タスクで最終プッシュが届かない

  • メッセージコールバックに response_url が含まれているか確認新バージョンの企業WeChat AIボットのみ対応
  • サーバーが外部ネットワークへのアウトバウンドリクエストを送信できるか確認(response_url へのPOSTが必要
  • ログのキーワード response_url modeSending reply via response_url を確認

参考ドキュメント