Files
picoclaw/docs/channels/wecom/README.zh.md
T
2026-03-24 21:53:35 +08:00

3.6 KiB
Raw Blame History

返回 README

企业微信

PicoClaw 现在将企业微信统一为一个 channels.wecom 渠道,并基于企业微信官方 AI Bot WebSocket 协议实现。 这取代了旧的 wecomwecom_appwecom_aibot 三套配置模型。

当前渠道能力

  • 支持私聊和群聊
  • 支持企业微信侧流式回复
  • 支持接收文本、语音、图片、文件、视频和 mixed 消息
  • 支持发送文本与媒体消息(imagefilevoicevideo
  • 支持通过 picoclaw auth wecom 扫码写入配置
  • 支持统一白名单与 reasoning_channel_id

这个渠道不再需要公网 webhook 回调地址。PicoClaw 会主动向企业微信发起 WebSocket 连接。

快速开始

方式 1:命令行扫码登录

运行:

picoclaw auth wecom

该命令会在终端打印二维码,等待你在企业微信中确认,然后把生成的 bot_idsecret 写入 channels.wecom

如果需要更长等待时间,可以加 --timeout

picoclaw auth wecom --timeout 10m

方式 2:手动配置

{
  "channels": {
    "wecom": {
      "enabled": true,
      "bot_id": "YOUR_BOT_ID",
      "secret": "YOUR_SECRET",
      "websocket_url": "wss://openws.work.weixin.qq.com",
      "send_thinking_message": true,
      "allow_from": [],
      "reasoning_channel_id": ""
    }
  }
}

配置字段

字段 类型 必填 说明
enabled bool 是否启用企业微信渠道。
bot_id string 企业微信 AI Bot 标识。渠道启用时必填。
secret string 企业微信 AI Bot 密钥。渠道启用时必填。
websocket_url string WebSocket 地址,默认 wss://openws.work.weixin.qq.com
send_thinking_message bool 是否在流式最终回复前先发送一段 Processing... 开场消息,默认 true
allow_from array 发送者白名单;空数组表示允许所有发送者。
reasoning_channel_id string 可选的 reasoning/thinking 输出目标。

运行时行为

  • PicoClaw 会保留当前会话对应的企业微信 turn,优先继续同一个流式回复。
  • 如果流式上下文已经失效,回复会自动回退到主动推送消息。
  • 收到的媒体会先下载到 media store,再交给 Agent 处理。
  • 发出的媒体会先按分片上传到企业微信,再作为普通媒体消息发送。

迁移说明

这个分支移除了旧的多通道企业微信模型。

旧配置 现在怎么做
channels.wecom webhook 机器人 改为使用 bot_id + secretchannels.wecom
channels.wecom_app 删除,统一迁移到 channels.wecom
channels.wecom_aibot 配置迁移到 channels.wecom
tokenencoding_aes_keywebhook_urlwebhook_path 企业微信渠道不再使用这些字段。
corp_idcorp_secretagent_id 企业微信渠道不再使用这些字段。
企业微信下的 welcome_messageprocessing_messagemax_steps 不再属于企业微信渠道配置。

常见问题

picoclaw auth wecom 超时

  • 用更大的 --timeout 重新执行。
  • 确认是在企业微信里完成了确认,而不只是扫描二维码。

WebSocket 连接失败

  • 检查 bot_idsecret 是否正确。
  • 确认运行环境可以访问 wss://openws.work.weixin.qq.com

消息没有回到企业微信

  • 检查 allow_from 是否拦截了发送者。
  • 检查启动日志或 launcher 校验,确认 channels.wecom.bot_id / channels.wecom.secret 已填写。