跳转到主要内容
CowAgent 支持接入个人订阅号和企业服务号两种公众号类型。
类型要求特点
个人订阅号个人可申请收到消息时会回复一条提示,回复生成后需用户主动发消息获取
企业服务号企业申请,需通过微信认证开通客服接口回复生成后可主动推送给用户
公众号仅支持服务器和 Docker 部署,不支持本地运行。需额外安装扩展依赖:pip3 install -r requirements-optional.txt

一、个人订阅号

config.json 中添加以下配置:
{
  "channel_type": "wechatmp",
  "single_chat_prefix": [""],
  "wechatmp_app_id": "wx73f9******d1e48",
  "wechatmp_app_secret": "YOUR_APP_SECRET",
  "wechatmp_aes_key": "",
  "wechatmp_token": "YOUR_TOKEN",
  "wechatmp_port": 80
}

配置步骤

这些配置需要和 微信公众号后台 中的保持一致,进入页面后,在左侧菜单选择 设置与开发 → 基本配置 → 服务器配置,按下图进行配置:
  1. 在公众平台启用开发者密码(对应配置 wechatmp_app_secret),并将服务器 IP 填入白名单
  2. 按上图填写 config.json 中与公众号相关的配置,要与公众号后台的配置一致
  3. 启动程序,启动后会监听 80 端口(若无权限监听,则在启动命令前加上 sudo;若 80 端口已被占用,则关闭该占用进程)
  4. 在公众号后台 启用服务器配置 并提交,保存成功则表示已成功配置。注意 “服务器地址(URL)” 需要配置为 http://{HOST}/wx 的格式,其中 {HOST} 可以是服务器的 IP 或域名
随后关注公众号并发送消息即可看到以下效果: 由于受订阅号限制,回复内容较短的情况下(15s 内),可以立即完成回复,但耗时较长的回复则会先回复一句 “正在思考中”,后续需要用户输入任意文字主动获取答案,而服务号则可以通过客服接口解决这一问题。
语音识别:可利用微信自带的语音识别功能,需要在公众号管理页面的 “设置与开发 → 接口权限” 页面开启 “接收语音识别结果”。

二、企业服务号

企业服务号与上述个人订阅号的接入过程基本相同,差异如下:
  1. 在公众平台申请企业服务号并完成微信认证,在接口权限中确认已获得 客服接口 的权限
  2. config.json 中设置 "channel_type": "wechatmp_service",其他配置与上述订阅号相同
  3. 交互效果上,即使是较长耗时的回复,也可以主动推送给用户,无需用户手动获取
{
  "channel_type": "wechatmp_service",
  "single_chat_prefix": [""],
  "wechatmp_app_id": "YOUR_APP_ID",
  "wechatmp_app_secret": "YOUR_APP_SECRET",
  "wechatmp_aes_key": "",
  "wechatmp_token": "YOUR_TOKEN",
  "wechatmp_port": 80
}