跳到主要内容

企业微信(WeCom)

PicoClaw 将企业微信整合为单一的 channels.wecom 渠道,基于腾讯官方企业微信 AI Bot WebSocket API 实现。 原有的 wecomwecom_appwecom_aibot 三个独立渠道已合并为统一配置模型。

无需公网地址

本渠道无需公网 Webhook 回调地址。PicoClaw 主动向企业微信建立出站 WebSocket 连接。

支持的功能

  • 单聊和群聊消息收发
  • 基于企业微信 AI Bot 协议的流式回复
  • 接收文本、语音、图片、文件、视频及混合消息
  • 发送文本及媒体消息(imagefilevoicevideo
  • 通过 Web UI 或 CLI 扫码绑定
  • 发送者白名单和 reasoning_channel_id 路由

快速开始

方式一:Web UI 扫码绑定(推荐)

打开 Web UI,进入 Channels → WeCom,点击扫码绑定按钮。用企业微信扫码并在 App 内确认,凭据自动保存。

方式二:CLI 扫码登录

运行:

picoclaw auth wecom

命令执行流程:

  1. 向企业微信请求二维码并在终端打印
  2. 同时打印一个二维码链接,终端二维码不清晰时可在浏览器中打开
  3. 轮询确认状态——扫码后还需要在企业微信 App 内点击确认
  4. 成功后将 bot_idsecret 写入 channels.wecom 并保存配置

默认超时为 5 分钟,可通过 --timeout 延长:

picoclaw auth wecom --timeout 10m
注意

仅扫描二维码还不够——必须在企业微信 App 内点击确认,否则命令会超时。

方式三:手动配置

如果已有企业微信 AI Bot 的 bot_idsecret,可直接配置:

{
"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": ""
}
}
}

配置项说明

字段类型默认值说明
enabledboolfalse启用企业微信渠道。
bot_idstring企业微信 AI Bot 标识符。启用时必填。
secretstring企业微信 AI Bot 密钥。加密存储于 .security.yml。启用时必填。
websocket_urlstringwss://openws.work.weixin.qq.com企业微信 WebSocket 端点。
send_thinking_messagebooltrue在流式回复开始前发送"处理中..."提示消息。
allow_fromarray[]发送者白名单。为空时允许所有人。
reasoning_channel_idstring""可选,将推理/思考内容路由到指定会话 ID。

环境变量

所有字段均可通过 PICOCLAW_CHANNELS_WECOM_ 前缀的环境变量覆盖:

环境变量对应字段
PICOCLAW_CHANNELS_WECOM_ENABLEDenabled
PICOCLAW_CHANNELS_WECOM_BOT_IDbot_id
PICOCLAW_CHANNELS_WECOM_SECRETsecret
PICOCLAW_CHANNELS_WECOM_WEBSOCKET_URLwebsocket_url
PICOCLAW_CHANNELS_WECOM_SEND_THINKING_MESSAGEsend_thinking_message
PICOCLAW_CHANNELS_WECOM_ALLOW_FROMallow_from
PICOCLAW_CHANNELS_WECOM_REASONING_CHANNEL_IDreasoning_channel_id

运行时行为

  • PicoClaw 维护活跃的企业微信 Turn,流式回复尽可能在同一流上继续。
  • 流式回复最大持续时长为 5.5 分钟,最小发送间隔为 500ms
  • 流式不可用时,回复降级为主动推送。
  • 会话路由关联在 30 分钟无活动后过期。
  • 接收到的媒体文件先下载到本地媒体存储,再传递给 Agent。
  • 发送媒体时先上传为企业微信临时文件,再作为媒体消息发送。
  • 自动检测并过滤重复消息(环形缓冲区,最多记录 1000 条消息 ID)。

从旧版企业微信配置迁移

原有的三个企业微信渠道(wecomwecom_appwecom_aibot)已合并为单一的 channels.wecom 渠道。请参照下表更新配置:

旧配置迁移方式
channels.wecom(Webhook 机器人)改用 channels.wecom,填写 bot_id + secret
channels.wecom_app删除,改用 channels.wecom
channels.wecom_aibotbot_idsecret 移至 channels.wecom
tokenencoding_aes_keywebhook_urlwebhook_path已废弃,从配置中删除。
corp_idcorp_secretagent_id已废弃,从配置中删除。
welcome_messageprocessing_messagemax_steps已不属于企业微信渠道配置,删除即可。

常见问题

扫码绑定超时

  • 扫码后必须在企业微信 App 内点击确认,仅扫码不够。
  • 使用更长的超时重试:picoclaw auth wecom --timeout 10m
  • 终端二维码不清晰时,使用命令打印的二维码链接在浏览器中打开。

二维码已过期

  • 二维码有效期有限,重新运行 picoclaw auth wecom 获取新二维码。

WebSocket 连接失败

  • 检查 bot_idsecret 是否正确。
  • 确认设备可以访问 wss://openws.work.weixin.qq.com(出站 WebSocket,无需开放入站端口)。

收不到回复

  • 检查 allow_from 是否屏蔽了发送者。
  • 确认 channels.wecom.bot_idchannels.wecom.secret 已填写且非空。