mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-06-02 00:57:41 +08:00
5.1 KiB
5.1 KiB
微信客服(WeChat Customer Service)通道
与
channel/wechatcom/(企微自建应用)是两个独立的 CoW 通道:
- 自建应用:面向企业内部成员(员工通过企业微信 App 与机器人对话)。
- 微信客服:面向外部微信用户(普通微信用户通过链接/二维码进入对话)。
但底层都基于"企微自建应用"——本通道是通过把一个企微自建应用绑定到微信客服账号来实现 AI 接管对外咨询,详见 LinkAI 微信客服接入文档。
一、接入流程概览
┌─────────────────────┐ ┌─────────────────────┐ ┌──────────────────┐
│ 1. 企业微信后台 │ → │ 2. CoW 配置回调 │ → │ 3. 绑定微信客服 │
│ 创建一个自建应用 │ │ 端口 9888 │ │ 账号 │
└─────────────────────┘ └─────────────────────┘ └──────────────────┘
↓
外部微信用户通过
链接/二维码 →
消息 → CoW Bot
重要:建议单独再创建一个企微自建应用用于微信客服,不要复用已经接入员工内部使用的那个
wechatcom_app应用,否则两个通道会争抢同一个回调地址。
二、企业微信后台配置
1. 创建企微自建应用
进入 企业微信管理后台 → 应用管理 → 创建应用。
2. 收集字段
| 字段 | 来源 | 对应 CoW 配置项 |
|---|---|---|
| 企业ID(CorpId) | 「我的企业」最下方 | wechat_kf_corp_id |
| Secret | 进入应用详情 → 点击「查看」(会推送到管理员手机端,在手机上查看) | wechat_kf_secret |
| Token | 应用「接收消息 → 设置API接收」 | wechat_kf_token |
| EncodingAESKey | 应用「接收消息 → 设置API接收」 | wechat_kf_aes_key |
AgentId 在本通道不需要(消息发送走的是
cgi-bin/kf/send_msg,不依赖 agent_id)。
3. 配置回调地址 + 可信 IP
在应用「接收消息 → 设置API接收」里填:
- URL:
http://<your-host>:9888/wxkf/(公网必须可达) - Token / EncodingAESKey:与下方
config.json一致
回到应用详情页,把服务器公网 IP 填入「企业可信IP」。
4. 绑定微信客服账号
进入 企业微信后台 → 微信客服 → 创建客服账号 → 将该账号绑定到上一步创建的企微自建应用。
绑定完成后,进入 微信客服 → 微信客服账号详情 页面,在「接入链接」一栏:
- 「复制链接」可拿到形如
https://work.weixin.qq.com/kfid/kfcd83e5896b9ba07be的访问链接 - 「生成二维码」可拿到对应二维码
把链接或二维码推给微信客户使用即可。
三、CoW 配置(config.json)
{
"channel_type": "wechat_kf",
"wechat_kf_corp_id": "ww1234567890abcdef",
"wechat_kf_secret": "<企微应用的 Secret>",
"wechat_kf_token": "<接收消息 Token>",
"wechat_kf_aes_key": "<EncodingAESKey>",
"wechat_kf_port": 9888
}
| 字段 | 说明 |
|---|---|
wechat_kf_corp_id |
企业 ID |
wechat_kf_secret |
绑定到微信客服的那个企微自建应用的 Secret |
wechat_kf_token |
该应用「接收消息」配置的 Token |
wechat_kf_aes_key |
该应用「接收消息」配置的 EncodingAESKey |
wechat_kf_port |
监听端口,默认 9888 |
也支持环境变量:WECHAT_KF_CORP_ID / WECHAT_KF_SECRET / WECHAT_KF_TOKEN / WECHAT_KF_AES_KEY。
四、运行
python app.py
启动后日志里会看到:
[wechat_kf] WeCom customer-service channel started
[wechat_kf] Listening on http://0.0.0.0:9888/wxkf/
回到企微后台「设置API接收」点击保存——会触发 GET /wxkf/?...&echostr=...,CoW 通过 crypto.check_signature 校验后返回明文 echostr,验证成功。
五、支持的回复类型
| ReplyType | 是否支持 | 备注 |
|---|---|---|
TEXT / INFO / ERROR |
✅ | 自动按 2048 字节切片分段发送 |
IMAGE(本地) / IMAGE_URL(网络) |
✅ | 大图自动压缩到 10MB 以内 |
VOICE |
✅ | 转 amr 后发送,>60s 自动切片 |
VIDEO_URL |
✅ | 通过临时素材接口上传 |
FILE |
✅ |