COW AI接入到微信 保姆教程 (部署在服务器,插件安装)
此文章不涉及国外的AI模型,也无需翻墙,跟某AI模型无关,审核大哥别弄错了
最近的AI开始越开越火了,开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗?我在GitHub上搜索的时候还真有除了对话外还可以通过插件来实现画图,定时提醒,快递查询等等功能,也不要太方面。下面我给大家讲讲如何在服务器上安装和他的插件的安装。
这些安装是我一步步摸索出来的,可能并不是最方便的,但就是成功了。
GitHub地址:https://github.com/zhayujie/chatgpt-on-wechat
视频教程:COW项目 把微信小号变成Ai 保姆教程_哔哩哔哩_bilibili
准备工作
需要一个实名认证过的微信(最好是小号 原由我就不多说了,DDDD)一台服务器:我选的是浪浪云服务器。别问为什么,问就是便宜好用。地址:浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6LinkAI账号:需要此账号来实现刚才说的功能。地址:LinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV ALAPI账号:此账号是用查询快递、天气等信息的。地址:ALAPIhttps://admin.alapi.cn/account/center下载堡塔SSH终端,当然你喜欢别的远程工具也可以。
第一步:购买服务器
先注册登录浪浪云,在实名认证。浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6之后打开云服务器——购买服务器
你要是想搞来玩玩那就选跟我一样的,如果有别的要求那就自行选择
我习惯了CentOS7,你喜欢别的你随意
操作系统选ContOS7(宝塔国内版),其他根据自身需求更改
等你支付完以后打开云服务器——打开管理
在我标红的地方有一个IP地址和端口号,记住他!待会儿有用。密码可以点击复制
第二步,下载堡塔SSH终端
在这个网址下载宝塔SSH终端:一款同时支持SSH和SFTP客户端的免费软件! 下载堡塔SSH终端
下载完打开下载堡塔SSH终端。点击添加服务器
会出现填写信息的地方,选Linux——IP地址(填写上面记住的IP地址)——端口(也修改成上面记住的端口地址)——密码(填写刚才复制的密码)
第三步:在服务器上部署 chatgpt-on-wechat
安装python
因为chatgpt-on-wechat 需要在python3 环境下运行,但ContOS 7默认的是python2.7,所以我们需要下载一个python3.8版本。
1.安装依赖
编译python源码时,需要一些依赖包,一次安装完毕
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
注意:安装过程中别乱动电脑
2. 安装wget
这个包是为了下载python源码用的
yum install wget
注意:安装过程中别乱动电脑
3.下载源码包
我是下载的最新的python3.8,如果想安装其他版本,去python官网下载页面下载对应的版本即可。
这个下载会很慢,请耐心等待!
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
注意:安装过程中别乱动电脑
4.解压安装
解压压缩包
tar -zxvf Python-3.8.1.tgz
进入文件夹
cd Python-3.8.1
配置安装位置
./configure prefix=/usr/local/python3
安装
make && make install
如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录
5.添加软连接
添加python3的软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
6.测试
如果上述代码都没有报错说明安装成功,可用python3命令来测试
cd ~ 命令可以退回根目录
想退出 Ctrl+Z 就可以退出
部署项目
1.安装git命令
sudo yum install git
这里选 y 就可以可以了
注意:安装过程中别乱动电脑
2.下载源码
安装完git以后就可以下载从GitHub下载源码
git clone https://github.com/zhayujie/chatgpt-on-wechat
注意:安装过程中别乱动电脑
3.安装依赖
先进入 chatgpt-on-wechat 目录
cd chatgpt-on-wechat/
pip3 install -r requirements-optional.txt
升级pip命令
sudo pip3 install --upgrade pip
这是必须依赖的,所以一定要下载
pip3 install -r requirements.txt
这是非必选,语音、tool插件等功能需要,根据自己需求来安排(我建议下载)
pip3 install -r requirements-optional.txt
4.注册LinkAILinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV
进入注册一个账号
注册号账号以后打开 应用接入 会看到一个创建API Key 如果没显示你就创建一个Key,有的话直接复制待会儿有用
然后打开我的应用——点击创建应用
填写完信息后会出现 我的应用 会有code有一个记住他待会儿有用,然后打开设置
这里会有一个模型设置根据自己情况来选择
往下拉,会有插件配置,也是根据自己的情况来定。定完点击上面的保存
返回首页可以看到别人公开的知识库你也可以调用
这个LinkAI调用并不是免费的,用积分来消费,每天签到都可以领积分,也可以花钱购买积分,详细的你们自己去 我的账户 哪里看看
5.配置
因为项目在更新所以配置文件也会随之需要调一下参数,可以看一下config.py文件的参数 或者可以关注一下我的专栏,有好玩的更新我会出教程告知大家
https://blog.csdn.net/m0_69655483/category_12492160.html
也有大家在常见的问题的解答
打开SSH远程登录工具在 chatgpt-on-wechat 目录下完成下面的操作
复制项目中的模板文件 config-template.json,来生成最终起效果的配置文件config.json,你可以通过执行以下命令完成
cp config-template.json config.json
然后用 vi 命令打开 config.json 文件
vi config.json
打开后,用英文输入法状态下点击键盘上的字母 i 开始编辑
我们可以用我们刚才注册的LinkAI账号来配置,如果不在会可以参考一下我的配置
根据自己的需求来配置就好了
注意:
只能调用一个模型,你用LinkAI其他模型就调用不了,个人觉得LinkAI挺好的,注意积分消耗,详细自己登录查看如果像实现语音识别那就的有的第三方的语音识别API,比如百度语音。
这是开发者提供的给我们配置参考
# openai api配置
"open_ai_api_key": "", # openai api key
# openai apibase,当use_azure_chatgpt为true时,需要设置对应的api base
"open_ai_api_base": "https://api.openai.com/v1",
"proxy": "", # openai使用的代理
# chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称
"model": "gpt-3.5-turbo", # 还支持 gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei
"use_azure_chatgpt": False, # 是否使用azure的chatgpt
"azure_deployment_id": "", # azure 模型部署名称
"azure_api_version": "", # azure api版本
# Bot触发配置
"single_chat_prefix": ["bot", "@bot"], # 私聊时文本需要包含该前缀才能触发机器人回复
"single_chat_reply_prefix": "[bot] ", # 私聊时自动回复的前缀,用于区分真人
"single_chat_reply_suffix": "", # 私聊时自动回复的后缀,\n 可以换行
"group_chat_prefix": ["@bot"], # 群聊时包含该前缀则会触发机器人回复
"group_chat_reply_prefix": "", # 群聊时自动回复的前缀
"group_chat_reply_suffix": "", # 群聊时自动回复的后缀,\n 可以换行
"group_chat_keyword": [], # 群聊时包含该关键词则会触发机器人回复
"group_at_off": False, # 是否关闭群聊时@bot的触发
"group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表
"group_name_keyword_white_list": [], # 开启自动回复的群名称关键词列表
"group_chat_in_one_session": ["ChatGPT测试群"], # 支持会话上下文共享的群名称
"group_welcome_msg": "", # 配置新人进群固定欢迎语,不配置则使用随机风格欢迎
"trigger_by_self": False, # 是否允许机器人触发
"image_create_prefix": ["画", "看", "找"], # 开启图片回复的前缀
"concurrency_in_session": 1, # 同一会话最多有多少条消息在处理中,大于1可能乱序
"image_create_size": "256x256", # 图片大小,可选有 256x256, 512x512, 1024x1024
# chatgpt会话参数
"expires_in_seconds": 3600, # 无操作会话的过期时间
# 人格描述
"character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
"conversation_max_tokens": 1000, # 支持上下文记忆的最多字符数
# chatgpt限流配置
"rate_limit_chatgpt": 20, # chatgpt的调用频率限制
"rate_limit_dalle": 50, # openai dalle的调用频率限制
# chatgpt api参数 参考https://platform.openai.com/docs/api-reference/chat/create
"temperature": 0.9,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"request_timeout": 60, # chatgpt请求超时时间,openai接口默认设置为600,对于难问题一般需要较长时间
"timeout": 120, # chatgpt重试超时时间,在这个时间内,将会自动重试
# Baidu 文心一言参数
"baidu_wenxin_model": "eb-instant", # 默认使用ERNIE-Bot-turbo模型
"baidu_wenxin_api_key": "", # Baidu api key
"baidu_wenxin_secret_key": "", # Baidu secret key
# 讯飞星火API
"xunfei_app_id": "", # 讯飞应用ID
"xunfei_api_key": "", # 讯飞 API key
"xunfei_api_secret": "", # 讯飞 API secret
# claude 配置
"claude_api_cookie": "",
"claude_uuid": "",
# wework的通用配置
"wework_smart": True, # 配置wework是否使用已登录的企业微信,False为多开
# 语音设置
"speech_recognition": False, # 是否开启语音识别
"group_speech_recognition": False, # 是否开启群组语音识别
"voice_reply_voice": False, # 是否使用语音回复语音,需要设置对应语音合成引擎的api key
"always_reply_voice": False, # 是否一直使用语音回复
"voice_to_text": "openai", # 语音识别引擎,支持openai,baidu,google,azure
"text_to_voice": "baidu", # 语音合成引擎,支持baidu,google,pytts(offline),azure,elevenlabs
# baidu 语音api配置, 使用百度语音识别和语音合成时需要
"baidu_app_id": "",
"baidu_api_key": "",
"baidu_secret_key": "",
# 1536普通话(支持简单的英文识别) 1737英语 1637粤语 1837四川话 1936普通话远场
"baidu_dev_pid": "1536",
# azure 语音api配置, 使用azure语音识别和语音合成时需要
"azure_voice_api_key": "",
"azure_voice_region": "japaneast",
# elevenlabs 语音api配置
"xi_api_key": "", #获取ap的方法可以参考https://docs.elevenlabs.io/api-reference/quick-start/authentication
"xi_voice_id": "", #ElevenLabs提供了9种英式、美式等英语发音id,分别是“Adam/Antoni/Arnold/Bella/Domi/Elli/Josh/Rachel/Sam”
# 服务时间限制,目前支持itchat
"chat_time_module": False, # 是否开启服务时间限制
"chat_start_time": "00:00", # 服务开始时间
"chat_stop_time": "24:00", # 服务结束时间
# 翻译api
"translate": "baidu", # 翻译api,支持baidu
# baidu翻译api的配置
"baidu_translate_app_id": "", # 百度翻译api的appid
"baidu_translate_app_key": "", # 百度翻译api的秘钥
# itchat的配置
"hot_reload": False, # 是否开启热重载
# wechaty的配置
"wechaty_puppet_service_token": "", # wechaty的token
# wechatmp的配置
"wechatmp_token": "", # 微信公众平台的Token
"wechatmp_port": 8080, # 微信公众平台的端口,需要端口转发到80或443
"wechatmp_app_id": "", # 微信公众平台的appID
"wechatmp_app_secret": "", # 微信公众平台的appsecret
"wechatmp_aes_key": "", # 微信公众平台的EncodingAESKey,加密模式需要
# wechatcom的通用配置
"wechatcom_corp_id": "", # 企业微信公司的corpID
# wechatcomapp的配置
"wechatcomapp_token": "", # 企业微信app的token
"wechatcomapp_port": 9898, # 企业微信app的服务端口,不需要端口转发
"wechatcomapp_secret": "", # 企业微信app的secret
"wechatcomapp_agent_id": "", # 企业微信app的agent_id
"wechatcomapp_aes_key": "", # 企业微信app的aes_key
# chatgpt指令自定义触发词
"clear_memory_commands": ["#清除记忆"], # 重置会话指令,必须以#开头
# channel配置
"channel_type": "wx", # 通道类型,支持:{wx,wxy,terminal,wechatmp,wechatmp_service,wechatcom_app}
"subscribe_msg": "", # 订阅消息, 支持: wechatmp, wechatmp_service, wechatcom_app
"debug": False, # 是否开启debug模式,开启后会打印更多日志
"appdata_dir": "", # 数据目录
# 插件配置
"plugin_trigger_prefix": "$", # 规范插件提供聊天相关指令的前缀,建议不要和管理员指令前缀"#"冲突
# 是否使用全局插件配置
"use_global_plugin_config": False,
# 知识库平台配置
"use_linkai": true,
"linkai_api_key": "输入你记得key",
"linkai_app_code": "输入你记得code",
"linkai_api_base": "https://api.link-ai.chat", # linkAI服务地址,若国内无法访问或延迟较高可改为 https://api.link-ai.tech
配置完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
6. 运行程序
打开SSH远程登录工具在 chatgpt-on-wechat 目录下完成下面的操作
首次运行需要新建日志文件
touch nohup.out
在后台运行程序并通过日志输出二维码
nohup python3 app.py & tail -f nohup.out
扫码登录 (最好用实名认证过的小号) 后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。在日志关闭后如果想要再次打开只需输入 tail -f nohup.out。
项目已经部署完了,下面我们安装一下插件
插件安装
godcmd(管理员插件)
这个必须安装因为,有些插件需要管理员权限才可以使用或下载
打开SSH远程登录工具在 chatgpt-on-wechat 目录下完成下面的操作
打开 plugins/godcmd 目录
cd plugins/godcmd
config.json.template 复制为 config.json
cp config.json.template config.json
再用 vi 命令打开 config.json 文件
vi config.json
用英文输入法状态下点击键盘上的字母 i 开始编辑
修改其中password的值为你想设置的口令,比如:123456,都行
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
先返回到 chatgpt-on-wechat 目录下
cd ~/chatgpt-on-wechat
然后重新日志输出二维码,重新登录
nohup python3 app.py & tail -f nohup.out
之后私聊中输入#auth 12345(这里是你设置的口令) 进行管理员认证
认证之后对话框发送#help可以打印出管理员相关指令
通用指令 #help : 回复此帮助 #help 插件名: 回复指定插件的详细帮助 #model : 查看和设置全局模型 #reset : 重置会话
可用插件 linkai:用于集成 LinkAI 提供的知识库、Midjourney绘画、文档总结、联网搜索等能力。 Apilot:发送特定指令以获取早报、查询天气、星座运势、快递信息等! tool:这是一个能让chatgpt联网,搜索,数字运算的插件,将赋予强大且丰富的扩展能力。 角色扮演:让机器人扮演不同的角色。 文字冒险:可以和机器人一起玩文字冒险游戏。
画图插件
在 chatgpt-on-wechat 打开 plugins 下的 linkai 文件
cd plugins/linkai
跟刚才一样 config.json.template 复制为 config.json
cp config.json.template config.json
再用 vi 命令打开 config.json 文件
用英文输入法状态下点击键盘上的字母 i 开始编辑
vi config.json
在下面填写参数 "linkai_api_key": "Link_MnBxoUvKxxxxxxHwGtP6" 即可(里面的API Key填
你们的,刚刚注册过忘了回去看)
注意:在倒数第二个花括号后面有一个逗号
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
返回到wechat 目录,重新扫码登录
nohup python3 app.py & tail -f nohup.out
在私人聊天框输入 #help linkai 获取插件的帮助信息了。如果提示不存在或者未启用,先打开管理员权限 #auth 后面是你设置的口令,然后输入#enablep linkai 就可以启用了
我这设置的是在私信里不用前缀就可以调用,你们要是设置了那就按设置的走
这里注意: 这个命令 $linkai app Kv2fXJcH 后面加上你自己的或者首页别人的 code 就可以可以调用这个知识库或者扮演的角色
就可以私信里命令他给你画图,比如画一个小猫
因为我的这个参数有画,所以我用画开头就可以调用绘画功能
Apliot插件
目前可返回早报(图片形式)、微博热搜、摸鱼日历、星座运势,快递信息,天气等
快递查询格式:快递+快递编号。如:快递YT2505082504474对话框发送“早报”、“摸鱼”、"微博热搜(已更新为"微博热榜)"、”任意星座名称”可以直接返回对应的内容!天气查询格式:城市+天气。如:成都天气。(支持3400+城市天气,输入不正确或者查询失败返回北京天气)热榜查询。支持:<微博/虎扑/知乎/哔哩哔哩/36氪/抖音/少数派/IT最新/IT科技>
注册ALAPI账号
只要你注册就送你一个年免费使用
ALAPIhttps://admin.alapi.cn/dashboard/workplace注册完以后在 个人管理——个人中心——可以看到token 复制好他
安装插件
返回到微信聊天界面,#auth 12345(后面是你自己设置的命令) 命令进行管理员权限,
在微信上用这段命令来进行安装插件,请耐心等待这一步有点慢。
#installp https://github.com/6vision/Apilot.git
扫描插件
#scanp
开启插件
#enablep Apilot
配置文件
到这一步也可以使用一部分接口,部分接口(快递、天气)需要配置alapi的token
所以打开运程工具在 chatgpt-on-wechat 打开 plugins 下的 Apilot文件
cd plugins/Apilot
跟刚才一样 config.json.template 复制为 config.json
cp config.json.template config.json
再用 vi 命令打开 config.json 文件
用英文输入法状态下点击键盘上的字母 i 开始编辑
vi config.json
在这里填写你刚才复制token
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
返回到 chatgpt-on-wechat 目录,日志输出二维码扫码登录就好了
nohup python3 app.py & tail -f nohup.out
timetask(定时任务插件)
返回到微信聊天界面,#auth 12345(后面是你自己设置的命令) 命令进行管理员权限,
在微信上用这段命令来进行安装插件,请耐心等待这一步有点慢。
#installp https://github.com/haikerapples/timetask.git
扫描插件
#scanp
开启插件
#enablep timetask
教程到这里就结束了,还有其他玩法和规则就交给大家自己来摸索吧!
都看到这里了点个赞再走吧!