chatgpt-on-wechat和bot-on-anything两个项目都支持企业微信部署,其中前者功能比较丰富,推荐! 如需帮助,可以搜索wx:Youngerer 找到我!
功能展示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a85ff6bbfe8a48048acb400e0892f008.png#pic_center
一、前置要求和介绍
项目地址:
作者:zhayujie。bot-on-anything:https://github.com/zhayujie/bot-on-anything
前置要求:
一台国外服务器(国内配置代理也可),注册一个企业微信!(如果是认证的企业微信,需要准备一个认证主体和企业认证主体一致的域名)
该项目是通过创建企业应用使用chatgpt,接入企业微信客服正在开发当中,如果有帮助到你,欢迎分享!请到bot-on-anything和chatgpt-on-wechat点个小星星!
二、下载企业微信
自己搜索下载企业微信app,pc端,然后创建公司,不需要认证即可使用。
三、创建应用
点击这里登录企业微信后台。然后点击我的企业,最下方有企业id:wwxxxxxx,记录下来。
然后点击应用管理,创建应用,设置应用的一些基本信息,下一步。
记录下Agentld、secret,点击下面接收消息里面的设置api接收。设置下面的参数,现在还保存不了,进行下一步:服务器运行应用
url:http://ip:8888/wechat #如果是已认证的企业微信,这里需要吧ip换成和企业主体相关的域名
EncodingAESKey #随机获取并记录下来。
Token #随机获取并记录下来。
四、服务器运行应用
克隆代码及运行
按照GitHub作者的步骤,克隆代码到服务器运行,步骤参考这里,运行需要用到的指令如下(仅供参考,需根据自己情况修改):可能有帮助的服务器使用教程点这里
git clone https://github.com/zhayujie/bot-on-anything #从GitHub克隆代码
cd bot-on-anything/ #切换到项目目录
pip3 install -r requirements.txt #安装必须依赖,这里请注意是否有报错
cp config-template.json config.json #复制配置文件,下面参数配置在这文件里面修改后再运行应用
touch nohup.out #首次运行需要新建日志文件
nohup python3 app.py & tail -f nohup.out #在后台运行并输出日志,注意切换到项目所在目录运行,成功后可以ctrl+c关闭会话
#以下是其他可以使用的指令
pgrep -f app.py | xargs -I{} sh -c 'echo -n "Name: app.py, "; echo -n "ID: {}, "; readlink -f /proc/{}/cwd; ' #执行该指令输出所有名字为app.py的进程ID和该进程所在的目录,服务器运行多个该项目的时候方便查找对应的进程id
kill pid #杀死进程pid,然后重新运行应用
git pull #后续项目代码有更新,执行该命令拉取最新代码,重新运行应用
修改配置
配置config.json
文件:设置openai
的api_key
,channel type
选择wechat_com
,设置wechat_com
的参数,参数配置如下,请复制模板配置文件后修改,不要粘贴复制!
"model": {
"type" : "chatgpt",
"openai": {
"api_key": "YOUR API KEY", #这里设置你的openai的api_key
"model": "gpt-3.5-turbo", # 模型名称,这里选择了gpt
"proxy": "", # 代理地址,如果是国外的可以访问openai的服务器不需要配置,
.... #其他参数参考项目的readme
}
"channel": {
"type": "wechat_com", #务必注意不要选错
"wechat_com": { #注意这里是在 wechat_com 里配置参数
"wechat_token": "MIllLa9", #刚刚随机生成的
"port": "8888" #默认端口,服务器需要放行该端口
"app_id": "YOUR APP ID", #上一步记录的Agentld
"app_secret": "t7ddkqL1111111111111nOFM-0m-OtU", #上一步获得的,会发送到企业微信对话框
"wechat_corp_id": "ww61111111403", #第一步里面的企业id,ww开头
"wechat_encoding_aes_key": "rrRnhf1zad11pwuw22", #刚刚随机生成的
}
}
上边的参数配置好之后,服务器运行该应用,然后在刚刚的企业微信管理后台设置api界面点击保存,成功之后会如下图所示!
然后在创建应用界面的开发者接口里,配置企业可信IP,为你的服务器IP!
到目前为止,如果没什么报错的话,那就是见证奇迹的时刻了,在企业微信搜你刚刚创建应用所有的名字,打开对话框,和他聊天吧!
五、微信插件:接入个人为微信使用
对于不怎么使用企业微信的人来说,只能在企业微信app使用难免太鸡肋了,那么我们可以通过企业微信的微信插件接入到个人微信。
在企业微信管理后台,点击我的企业,左侧的微信插件,有一个邀请关注二维码,用个人微信扫码点击关注,然后验证手机号后就加入到该公司,即可找到刚刚创建的应用,点击即可使用,也可将该应用添加到桌面或者将该公司置顶来方便使用!
六、2023.4.26更新(chatgpt-on-wechat支持企业微信):
chatgpt-on-wechat项目已支持接入企业微信,该项目支持插件,可以实现基于chatgpt的更多功能,包括角色扮演、语音交流、天气日期查询、AI作图、图片修复、联网搜索等功能。实现效果可以参考这里的视频演示!
部署步骤和上边基于bot-on-anything的部署一致,只需稍作更改!可参考项目的帮助文档!
这里记下该项目config.json中有关企业微信配置的参数,方便自己查阅:
"channel_type": "wechatcom_app",
"wechatcom_corp_id": "", # 企业微信公司的corpID
"wechatcomapp_token": "", # 企业微信app的token
"wechatcomapp_port": 9898, # 企业微信app的服务端口, 不需要端口转发
"wechatcomapp_secret": "", # 企业微信app的secret
"wechatcomapp_agent_id": "", # 企业微信app的agent_id
"wechatcomapp_aes_key": "", # 企业微信app的aes_key
企业微信后台URL
填写格式改为http://url:port/wxcomapp
七、插件功能解析
以下内容在项目各个插件的readme文件都可以找到,为方便不熟悉项目的人有个大概认知,稍作整理,所有配置文件模板都可在/plugin/PLUGIN_NAME
下面找到,请复制xxxx.json.template
为xxxx.json
后添加相应的配置项,不要粘贴复制这里的示例代码!
插件安装:
项目已经预置一些插件可在/plugin
目录下查看,如需安装其他插件参考以下两种方法
- 第一种方法是在将下载的插件文件都解压到"plugins"文件夹的一个单独的文件夹,最终插件的代码都位于"plugins/PLUGIN_NAME/*"中。启动程序后,如果插件的目录结构正确,插件会自动被扫描加载。除此以外,注意你还需要安装文件夹中
requirements.txt
中的依赖。
- 第二种方法是
Godcmd
插件,它是预置的管理员插件,能够让程序在运行时就能安装插件,它能够自动安装依赖。安装插件的命令是"#installp 仓库源记录的插件名/仓库地址"。这是管理员命令,认证方法在这里。- 安装仓库源记录的插件:#installp sdwebui安装指定仓库的插件:#installp https://github.com/lanvent/plugin_sdwebui.git
#enablep plugin_name
启用插件! 目前chatgpt项目已支持的插件有以下几个:
godcmd(管理员插件)
复制
config.json文件
,并修改其中password
的值为口令。在私聊中输入#auth 口令
进行管理员认证,#help
可以打印出管理员相关指令,进行配置重载、插件安装以及启禁用等:#resume : 恢复服务 #stop : 暂停服务 #reconf : 重载配置(不包含插件配置) #resetall : 重置所有会话 #scanp : 扫描插件目录是否有新插件 #plist : 打印当前插件列表 #setpri 插件名 优先级: 设置指定插件的优先级,越大越优先 #reloadp 插件名: 重载指定插件配置 #enablep 插件名: 启用指定插件 #disablep 插件名: 禁用指定插件 #installp 仓库地址或插件名: 安装指定插件 #uninstallp 插件名: 卸载指定插件 #updatep 插件名: 更新指定插件 #debug : 开启机器调试日志
banwords(敏感词检测)
自行导入词库到插件文件夹中的
banwords.txt
,复制config.json.template
复为config.json
,并自行配置,示例如下:{ "action": "replace", #replace:提问有敏感词,将以***代替并返回信息给用户,提示违规;ignor:为无视这条消息 "reply_filter": true, #是否对ChatGPT的回复也进行敏感词过滤,true为过滤 "reply_action": "replace" #如果开启了回复过滤,对回复的默认处理行为 }
bdunit:利用百度UNIT实现智能对话
能够处理chtgpt不能解决的几个问题:日期,天气,数学计算!
申请机器人:https://ai.baidu.com/unit/home#/home
申请api:https://console.bce.baidu.com/ai
{ "service_id": "S87005", #注意是你创建的机器人的id "api_key": "xgASVQGwKLG2K", "secret_key": "Gh8bICOkBCoq" }
replicate(绘画插件)
本插件用于将画图请求转发给
replicate
api。api申请:https://replicate.com/
安装:https://github.com/zhayujie/chatgpt-on-wechat/issues/770
使用:https://github.com/lanvent/plugin_replicate
调用格式示例:
<画图触发词><关键词1> <关键词2> ... <关键词n>:<prompt> 画 open:a beautiful girl,long hair,skirt #画是画图触发词,open是关键词,冒号后是prompt,使用英文
关键词去config.json文件里面看,有open、sd、横板、竖版、二次元、修复等
summary(总结插件)
支持以自然语言实现对聊天记录的总结,认证管理员后执行
#installp summary
安装$ 总结最近20条消息 $ 总结3小时内的消息
tool(强大工具集):
一个能让chatgpt联网,搜索,数字运算的插件,将赋予强大且丰富的扩展能力。使用该插件需在机器人回复你的前提下,在对话内容前加$tool;仅输入$tool将返回tool插件帮助信息,用于测试插件是否加载成功
使用说明:https://github.com/goldfishh/chatgpt-on-wechat/blob/master/plugins/tool/README.md
api申请:https://github.com/goldfishh/chatgpt-tool-hub/blob/master/docs/apply_optional_tool.md
config.json配置示例(后续如有改动,请参考最新代码的配置模板):
{ "tools": ["python", "url-get", "terminal", "meteo-weather", "wikipedia", "bing-search", "wolfram-alpha", "morning-news"], #这里加入工具的名称 "kwargs": { "top_k_results": 2, "no_default": false, "model_name": "gpt-3.5-turbo", "news_api_key": "538c9027bd650fd28281", "bing_subscription_key": "4871f4395dacb71321b26ec", "wolfram_alpha_appid": "QPU8LH", "morning_news_api_key": "5w1kjNh9VugBQlUc" } #这里加入工具对应的api_key }
keywords(关键词插件)
主要用来匹配关键词进行回复,主要用于公众号配置当中,在config.json中配置关键词和关键词匹配到后回复的内容:
{ "keyword": { "cursor": "https://www.cursor.so/", "桌面日历": "http://download3.desktopcal.com/desktopcal_rcmd_166894.exe" } }
dungeon(大冒险)
玩地牢游戏的聊天插件,无需配置,直接使用即可
role(角色扮演)
角色扮演插件,会话窗口使用帮助指令即可查看相关功能,无需配置,可自定义角色!
hello
新人入群自动欢迎和拍一拍响应!
八、railway部署企业微信(公众号:Youngerer)
前置准备:
基于chatgpt-on-WeChat项目:https://github.com/zhayujie/chatgpt-on-wechat
通过railway我们不需要购买服务器或者配置代理,准备以下东西即可以部署chatgpt到我们的企业微信:
- 注册一个企业微信(无需认证)
- 准备一个GitHub账号,注册railway,会有每月免费5刀/500小时的额度一个openai账号,生成api key
准备相关参数:可参考前边的部分来获取相关参数
"openai-api-key":"" #openai账号生成api-key "wechatcom_corp_id": "", # 企业微信公司的corpID "wechatcomapp_token": "", # 企业微信app的token "wechatcomapp_secret": "", # 企业微信app的secret "wechatcomapp_agent_id": "", # 企业微信app的agent_id "wechatcomapp_aes_key": "", # 企业微信app的aes_key
获取后停留在api设置界面,待下面填入url后再点击保存!
部署:
点击这里进入railway(前提已登录railway):
点击页面的deplay now;
然后在下图中相应的位置填入准备工作中记录的对应的参数值,默认的参数值不用修改;
等待部署成功,然后在settings里面复制域名链接:
根据上一步复制的链接,在企业微信后台应用api设置界面填入下边格式的url(根据自己情况修改xxx.railway.app这部分内容):
https://chatgpt-on-wechat-production-549d.up.railway.app/wxcomapp
然后点击保存,如果没有问题会显示保存成功,如显示回调不通过,请自行检查相关参数是否正确。
最后我们给该企业应用发送一条消息,这时候还不能正常回复,我们点击Deployments,再点击view logs,最后点击Deploy Logs。
我们会发现有错误信息,在错误信息里面找到ip信息,然后在企业微信后台把这个ip加入到可信ip设置里面:
最后我们就可以使用该企业应用啦!
教程更新查看请点击这里:https://www.wangpc.cc/aigc/wechat_com-chatgpt/,未经允许,禁止转载!