Skip to content

智能体知识库对接个人微信/企业微信文档

个人版和企业微信对接文档

提示

我们使用 chatgpt-on-wechat 这个项目来接入;无论是个人微信还是企业微信都使用这个项目。项目对服务器配置要求不高,1核1G即可运行

需要设备

个人和企业的安装步骤都是一样的

  • 1. 对接个人微信一台服务器,国内国外均可

  • 2. 对接企业微信需要2台服务器,国内国外均可

  • 3. 特别说明:企业微信的监听需要Windows的系统,所以需要2台服务器

  • 4. 一个微信账号,个人和已认证的企业均支持

  • 5. 个人微信号必须是已实名认证的微信号(未实名的无法登陆),企业微信需已认证

  • PS:觉的大厂的服务器太贵可联系在线客服转人工购买便宜的服务器


  • 美国云服务器:三网直连精品 1H1G带宽峰值20M 特价:269/年/台

  • 美国云服务器:三网直连精品 2H2G带宽峰值20M 特价:329/年/台(额外+100元升级50M带宽)

  • 更多配置和价格联系人工客服咨询

接入个人/企业微信


接入个人微信

企业微信的接入在开源项目 chatgpt-on-wechat 的基础上进行;先介绍个人微信的接入。

提示

需要一次性对接企业微信和个人微信
建议安装Ubuntu22.04系统自带Python3.10.*环境

前期准备

先在发布智能体内创建企业微信获取到apikey,不管是个人或企业都是使用企业微信的apikey

【获取密钥的方法,点击跳转查看】

【对接企业微信,点击快速查看】

【运行命令,点击快速查看】

【修改配置后运行命令,点击快速查看】

环境搭建

1、系统安装

服务器购买过程中,经过多次测试只对接个人微信推荐选择 Ubuntu20.04 系统
一次性要对接个人和企业微信选择 Ubuntu22.04系统,自带Python环境,不需要在去安装Python环境。

如果选错了或想更换其他系统,按照下图重装即可。

重新安装系统选择

重新安装系统选择

安装完成后,新手建议使用SSH工具远程登录,推荐使用 XTerminal 对新手比较友好,自行百度下载即可。

到这里Ubuntu系统和Python环境全都安装好了,如果没有Linux基础建议新手装一个宝塔面板,可以可视化修改配置文件。


2、宝塔安装

提示

如果使用的是 XTerminal 软件,可以跳过此步。

使用SSH远程工具登录服务器,然后输入下面的宝塔安装脚本(适用于Ubuntu)或自行去宝塔官网复制安装代码,按回车,输入 Y 即可自动安装宝塔面板。

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

宝塔安装

等待安装完毕,会如下图所示,请保存外网访问地址核用户名以及密码

宝塔面板信息

这里我们需要在服务器的安全组放行图中提示的 35413 端口(端口是随机的,按照上图提示开发相应的端口)

如果是在我们这购买的服务器,默认端口都是全开放,不需要这一步操作

添加服务器安全组

开放端口以后,我们复制外网访问面板地址到浏览器,同意用户协议 、绑定手机号,不需要安装推荐的软件。

3、部署方式选择

部署方式选择

部署方式建议云服务器直接部署和使用docker部署,不建议在本地和railway部署,本地环境复杂且不能24小时运行,railway不再提供免费额度且插件配置较为麻烦。

这里介绍服务器直接部署的方式,其他部署方式请参考 chatgpt-on-wechat 部署文档

部署流程

1、下载源码

进入命令行窗口,使用 git 命令克隆项目到我们的服务器(因为是从GitHub下载,国内网络时好时坏,可以多次尝试,实在不行可以手动下载项目文件夹,在使用scp上传到服务器,scp如何上传到服务器,自行百度使用教程)

并使用 cd 命令进入目录,然后使用 cp 命令复制模版配置文件并命名为 config.json

命令就按照每条逐一使用:

这是第二条国内镜像命令: git clone https://gitee.com/zhayujie/chatgpt-on-wechat 如果执行上边的指令下载不了,可以执行这条指令,能下载成功即可

git clone https://github.com/zhayujie/chatgpt-on-wechat
git clone https://gitee.com/zhayujie/chatgpt-on-wechat  #国内镜像
cd chatgpt-on-wechat/
cp config-template.json config.json

使用了第一条 git 命令出现如下提示,是因为国内在GitHub下载时网络不好导致的

提示

Cloning into 'chatgpt-on-wechat'...
fatal: unable to access 'https://github.com/zhayujie/chatgpt-on-wechat/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
意思是克隆 遇到致命错误,无法访问该链接下载,
这时咱们换第二条 git 命令下载即可。

克隆项目

执行 pwd 命令,我们可以看到当前所在的目录为 /home/ubuntu/chatgpt-on-wechat ,我们到宝塔面板的文件选项卡可以一步步进入该目录(或者把刚刚的目录地址输入到宝塔地址栏回车),我这边使用的是 XTerminal 软件可以直接在操作面板操作。操作方法跟宝塔同理。

项目文件夹

上图就是我们的 chatgpt-on-wechat 项目文件夹,config.json 就是我们上一步复制的配置文件,是项目的主配置文件。

下面我们先配置项目的运行环境,安装依赖。

2、安装依赖

演示安装的Ubuntu20.4(如果要对接企业微信推荐安装Ubuntu22.04系统自带python3.10环境),系统自带python3.8,所以python环境应该是没问题的,项目要求必须是3.7及以上,我们可以执行 python3 -V 来查看python版本,如下图所示:

Python版本

然后我们执行以下命令安装项目的依赖: -i https://pypi.tuna.tsinghua.edu.cn/simple 代表的是使用国内的源,这样可以加快国内服务器依赖安装速度。(海外服务器也可以用)

注意⚠️

此时我们应该处于 chatgpt-on-wechat 目录下执行下面的命令,如果不在,可以使用 cd 命令切换到该目录下。
如果是使用XTerminal软件直接右击 chatgpt-on-wechat 📂文件夹 - 终端口 - 执行 CD命令到终端 如下图

cd chatgpt-on-wechat

CD命令

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple     #必选依赖
pip3 install -r requirements-optional.txt -i https://pypi.tuna.tsinghua.edu.cn/simple     #可选依赖,语音、tool创建等功能

解释:

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplet #必选依赖
pip3 install -r requirements-optional.txt -i https://pypi.tuna.tsinghua.edu.cn/simplet #可选依赖,语音、tool插件等功能,建议2个都安装。

必选依赖安装

可选依赖安装

依赖安装成功如上图所示,黄色 warning 可以不用管。

3、配置

第一步中我们已经使用 cp config-template.json config.json 命令来生成了配置文件。
这里解释一下,文件名中一般带有template的都是模板配置文件,需要把这个文件复制一下并重名为 config.json,这个文件才是最终生效的文件!

我们回到左侧的控制台,找到 chatgpt-on-wechat 📂文件夹下的 config.json 文件,打开进行修改。

基本的都不需要修改,需要修改的有3处,如下图所示:

注意:

"channel_type": "wx", # 个人微信=wx,企业微信=wework
"open_ai_api_key": "YOUR API KEY", # 从发布智能体,选择企业微信中获得的密钥,以qwx-开头
"claude_api_key": "YOUR API KEY", # 同上

需要自己在增加一个api地址,用的是本站的基本都是以下域名,结尾的 /v1 是必须要加上的

"open_ai_api_base": "https://zai.2021it.com/api/v1",

如下图所示:

配置修改

配置完后就可以启动项目,扫码登录使用了。其他配置按需设置即可,详细的参数说明可以参考配置说明

项目所有可以配置的参数都在 chatgpt-ob-wechat/config.py 文件写明了,把相应的参数复制到 config.json 进行配置即可,使用中可以按需增添及修改。

4、运行

一切准备就绪,可以启动程序了,在项目目录(chatgpt-on-wechat)下执行下面的命令,使用 nohup 命令在后台运行程序,即使断开命令行窗口也能保持运行。

touch nohup.out                                   # 首次运行需要新建日志文件  
nohup python3 app.py & tail -f nohup.out          # 在后台运行程序并通过日志输出二维码

运行命令

运行结果

登录成功

输出的二维码可能会乱码,可以复制二维码上边的链接在浏览器打开即可。扫码登录后,服务器log的最后一行会输出 Start auto replying. 字样日志,代表运行成功,可以对机器人进行提问,私聊的话记得加上前边设置的 single_chat_prefix 参数,如没设置就不用加。


5、Super智能AI知识库的智能体对接个人微信演示

私聊效果

私聊效果

群聊效果

群聊效果

6、注意事项

注意:

修改配置常见的一个问题就是使用了中文标点符号和多或少逗号,这些都会提示是json文件有问题,如下图所示,页面会提示,服务器log也会提示,有 JSONDecodeErro 字样,在log日志界面我们可以按下 CTRL+C 来回到执行命令界面:

错误编写

错误提示

至此, Super智能AI知识库 的智能体对接个人微信做在线机器人客服已经设置完毕,可以正常使用机器人了。


7、修改配置后运行(个人微信或企业微信都是用这个命令)

我们如果想修改 config.json 里面的配置项,可以在宝塔或 XTerminal 软件内直接修改,然后运行下面的命令关掉正在运行的项目,再重新运行项目即可生效!(同样需要在项目根目录运行)

ps -ef | grep app.py | grep -v grep    # 可以查看当前进程的 pid:
kill xxx                               # xxx是上一条命令运行后显示的进程pid
nohup python3 app.py & tail -f nohup.out     # 运行项目

重新运行


接入企业微信

注意事项

企业微信需要下载一个指定的企业微信版本 用来监听
需要用到 Windows系统 才能监听
下载地址: WeCom_4.0.8.6027版本
使用企业微信还需要在安装一个ntwork依赖。
这个依赖你可能无法安装上,你可以用国内源安装
PS: 经测试需要使用 3.10.* python的版本才能安装该依赖, 否则可能会提示找不到依赖包的错误。

这里需要用到一个 Windows系统 来24小时挂着企业微信,安装过程跟个人微信一样,只是多了一个Windows系统,如果不需要24小时挂着就在本地电脑安装依赖。

pip install ntwork
以上的命令无法安装就用以下的国内源安装命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ntwork

修改主项目 config.json 文件内

"channel_type": "wework"
"wework_smart": true

运行多个机器人

如果想一台服务器运行多个机器人,有2种方式:

1. 宝塔方式 如果使用的是宝塔面板把 chatgpt-on-wechat 这个项目文件夹整体复制一下,并改个名字方便识别!

宝塔面板

2. SSH远程软件: 如果使用的是 XTerminal 软件,直接调用命令复制

cp -r /root/chatgpt-on-wechat /root/chatgpt-on-wechat-2

注意:

cp -r /root/chatgpt-on-wechat /root/chatgpt-on-wechat-2这条命令是根据你服务器的名称还有文件夹的位置,每个人都是不同的,不要直接复制使用。输入命令后需要等待一会儿就复制成功了。

复制机器人

调用命令

在命令行,我们使用 cd .. 命令进入上一级目录,然后使用 ls 命令查看当前目录的所有文件(夹),
然后 cd chatgpt-on-wecha-2/ 切换到新复制的项目文件夹,
在该目录下运行项目( nohup python3 app.py & tail -f nohup.out ),即可用另外一个号扫码登录来做第二个机器人,修改该目录下的 config.json 文件即可配置第二个机器人相关的参数!

指令

使用 XTerminal软件,直接在第二个项目文件夹右键,执行CD到终端。 参考安装依赖的操作


配置说明

1. 个人聊天

  • 个人聊天中,需要以 "bot"或"@bot" 为开头的内容触发机器人,对应配置项 single_chat_prefix (如果不需要以前缀触发可以填写 "single_chat_prefix": [""], )
  • 机器人回复的内容会以 "[bot] " 作为前缀, 以区分真人,对应的配置项为 single_chat_reply_prefix (如果不需要前缀可以填写 "single_chat_reply_prefix": "",)

2. 群组聊天

  • 群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复。如果想对所有群聊生效,可以直接填写 "group_name_white_list": ["ALL_GROUP"],
  • 默认只要被人 @ 就会触发机器人自动回复;另外群聊天中只要检测到以 "@bot" 开头的内容,同样会自动回复(方便自己触发),这对应配置项 group_chat_prefix
  • 可选配置: group_name_keyword_white_list 配置项支持模糊匹配群名称,group_chat_keyword 配置项则支持模糊匹配群消息内容,用法与上述两个配置项相同。
  • group_chat_in_one_session: 使群聊共享一个会话上下文,配置 ["ALL_GROUP"] 则作用于所有群聊

3.语音识别

  • 添加 "speech_recognition": true, 将开启语音识别,默认使用openai的whisper模型识别为文字,同时以文字回复,该参数仅支持私聊 (注意由于语音消息无法匹配前缀,一旦开启将对所有语音自动回复,支持语音触发画图);
  • 添加 "group_speech_recognition": true, 将开启群组语音识别,默认使用openai的whisper模型识别为文字,同时以文字回复,参数仅支持群聊 (会匹配 group_chat_prefixgroup_chat_keyword, 支持语音触发画图);
  • 添加 "voice_reply_voice": true 将开启语音回复语音(同时作用于私聊和群聊)

密钥获取

bot1

bot2

bot3