「Web Wechat Bot」是一个基于Wechaty、可通过网页远程登录管理、可接入讯飞星火、ChatGPT、通义千问等大语言模型的微信聊天机器人,使用微信网页版协议。你可以通过网页登录微信、设置回复规则、配置API接口等。
Pchen0 d49d24e97a UPDATE "README.md" | 3 months ago | |
---|---|---|
API | 9 months ago | |
db | 9 months ago | |
images | 9 months ago | |
public | 9 months ago | |
9 months ago | ||
LICENSE | 9 months ago | |
README.md | 3 months ago | |
app.js | 9 months ago | |
config.js | 9 months ago | |
package.json | 9 months ago | |
router.js | 9 months ago |
刚学的时候写的狗屎 以后不维护了
「Web Wechat Bot」是一个基于Wechaty、可通过网页远程登录管理、可接入讯飞星火、ChatGPT、通义千问等大语言模型的微信聊天机器人,使用微信网页版协议。你可以通过网页登录微信、设置回复规则、配置API接口等。
前端主要技术栈
后端主要技术栈
Node.js
Express
Wechaty
SQLite3
websocket
WebWechatBot
├─ API
│ ├─ ChatGPT.js
│ ├─ tongyi.js
│ └─ xunfei.js
├─ db
│ └─ data.db
├─ public
│ ├─ css
│ ├─ js
│ └─ index.html
├─ wechat
│ ├─ avatar
│ └─ main.js
├─ app.js
├─ config.js
├─ LICENSE
├─ package.json
├─ README.md
└─ router.js
本项目可在 Linux、MacOS、Windows 等系统上运行(在Linux服务器上可实现长期运行、远程控制管理)
此仓库包含已经编译好的前端页面,可不做更改直接使用。如果你想对前端页面进行更改,请前往:https://github.com/Pchen0/Web-Wechat-Bot-Dashboard。
Wechaty要求Node.js版本高于10,如果你还没有安装Node.js 或者你的版本低于10, 请参考下面的内容安装最新版本的Node.js:
Linux
使用包管理器安装Node.js
大多数Linux发行版都附带有包管理器,如APT(Debian、Ubuntu)、YUM(Fedora、CentOS)、DNF(Fedora)、Pacman(Arch Linux)等。你可以使用这些包管理器来安装Node.js。
更新软件包索引(这一步在某些系统上可能不需要,但是最好还是先执行):
sudo apt update
安装Node.js:
对于Debian和Ubuntu系统,可以使用APT包管理器:
sudo apt install nodejs
对于其他Linux发行版,可以使用相应的包管理器来安装Node.js。下面提供了几种常见发行版的安装方式:
CentOS/RHEL
更新软件包索引:
sudo yum update
或者
sudo dnf update
安装Node.js:
sudo yum install nodejs
或者
sudo dnf install nodejs
无论你使用哪种Linux发行版,通过包管理器安装Node.js通常是最简单、最可靠的方法。
安装完成后,你可以通过以下命令验证Node.js和npm(Node.js软件包管理器)是否已正确安装:
node -v
npm -v
这将显示已安装的Node.js和npm的版本信息。
Windows
在Windows上安装Node.js最简单的方法是使用Node.js的Windows安装程序。
访问 Node.js官网,下载适用于Windows的Node.js安装程序(.msi文件)。
打开下载的.msi文件以启动安装向导,并按照提示进行安装。你可以接受默认设置,也可以自定义安装选项。
安装完成后,打开命令提示符,然后输入以下命令来验证Node.js和npm是否已正确安装:
node -v
npm -v
这将显示已安装的Node.js和npm的版本信息。
git clone https://github.com/Pchen0/Web-Wechat-Bot.git
首先进入项目目录
cd Web-Wechat-Bot
安装依赖
npm install
node app.js
运行之前可在config.js文件中修改项目运行的端口,记得在防火墙或安全组放行端口
module.exports = {
port: 8080 //默认在8080端口上运行
}
通过你的ip地址+端口号进入到机器人的管理界面,默认用户名为admin
,密码123456
。
你可在后文的配置填写一节中查看关于配置填写的详细介绍。
在API设置页面中填入你的接口地址、API Key、模型名称等,你可以自由选择讯飞星火、ChatGPT、通义千问等模型。
官方文档: https://www.xfyun.cn/doc/spark/Web.html
API接口地址:
3.5版本:ws://spark-api.xf-yun.com/v3.5/chat,
3.0版本:ws://spark-api.xf-yun.com/v3.1/chat,
2.0版本:ws://spark-api.xf-yun.com/v2.1/chat,
1.5版本:ws://spark-api.xf-yun.com/v1.1/chat,
讯飞助手的接口地址在助手创作中心获取。
APIKEY、APISecret、APPID:在讯飞开放平台创建应用后即可获取,注意不要混淆APIKEY和APISecret。
模型版本: 选择你所使用的模型版本,请与API接口地址对应的版本一致。
general指向V1.5版本; generalv2指向V2版本; generalv3指向V3版本; generalv3.5指向V3.5版本。
最大token数: 模型回答的tokens的最大长度。V1.5取值为[1,4096] V2.0、V3.0和V3.5取值为[1,8192],默认为2048。
温度: 核采样阈值。用于决定结果随机性,取值越高随机性越强即相同的问题得到的不同答案的可能性越高。取值范围 (0,1] ,默认值0.5。
注: 兼容openai接口的API可填入ChatGPT的配置中。
官方文档: https://platform.openai.com/docs/
APIKey: 在控制台获取。你的APIKey格式应该为:sk-xxxxxxxxxxxxxxxxxxxx。
app_code: 该项专为一些兼容openai接口的平台设置,可忽略。
模型名称: 填写你想使用的模型的名称,如gpt-3.5-turbo。
温度: 核采样阈值。用于决定结果随机性,取值越高随机性越强即相同的问题得到的不同答案的可能性越高。取值范围 (0,1] ,默认值为0。如果设置为 0,模型将使用对数概率自动升高温度,直到达到特定阈值。
最大token数: 模型回答的tokens的最大长度。
预设内容: 填写你对机器人的设定和要求,填写越详细效果越好,但会增加token的使用量。
API接口地址: 如https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
APIKey: 请参考https://help.aliyun.com/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key
温度: 用于控制随机性和多样性的程度。取值范围:[0, 2),系统默认值0.85。
模型名称: 填写你所使用的模型名称,如qwen-turbo、qwen-max、qwen-max-longcontext等。
最大token: 用于限制模型生成token的数量,max_tokens设置的是生成上限,并不表示一定会生成这么多的token数量。其中qwen-turbo 最大值和默认值为1500, qwen-max、qwen-max-1201 、qwen-max-longcontext 和 qwen-plus最大值和默认值均为2000。
预设内容: 填写你对机器人的设定和要求,填写越详细效果越好,但会增加token的使用量。
选择模型: 选择你想使用的模型,支持讯飞星火、ChatGPT、通义千问。请预先在API接口设置页面填写好你的配置信息。
自动回复前缀:填写的文字会被加到机器人回复消息的最前面,可使用\n换行。能用于区分机器人和真人。群聊和私聊通用。
自动回复后缀: 填写的文字会被加到机器人回复消息的最后面,可使用\n换行。能用于区分机器人和真人。群聊和私聊通用。
是否开启私聊自动回复: 关闭后将不回复所有私聊消息。
私聊黑名单: 填写好友的微信昵称(不是备注),多个名称用英文逗号(,)分隔,系统不会回复被填入黑名单的好友的消息。
群聊关键字回复: 系统会自动回复含有关键词的群聊消息。多个关键词用英文逗号分隔。
群聊白名单: 当群聊白名单不为空时,机器人只会回复在白名单中的群聊消息;当群聊白名单为空时,机器人会回复所有群聊的消息。
是否在被@时回复: 开启后机器人会在自己被@后进行回复。
至此,本项目的搭建已接近尾声。进入微信登录页面,扫描二维码登录微信,登录成功后你的微信机器人就创建完成了。
同时,你也可以进入对话测试页面与大语言模型进行对话,此页面使用的模型、前缀、后缀等与WechatBot设置中的相同。