Skip to content

wheelcomplex/wechat-openai-qa-bot

 
 

Repository files navigation

Wechat-Openai-QA-Bot

访问官网了解更多信息

简介

本项目使用wechat机器人快速实现一个免费的QA问答系统,如果你是一个社群工作者、拼团团长、业务群运营经理,使用这个项目可以帮助你解决一些重复性问答。

乐大喜奔,已适配网页版微信,linux、mac、Windows均可运行。

功能列表

功能 描述
智能问答 可以自定义问答内容,智能匹配答案,支持相似问题匹配,例如“什么时候到货?”“亲,几时到货”“亲,什么时候到货”均能匹配(基于微信对话开放平台,免费)
千群千面 多个群相同问题不同回答内容,例如“何时到货?”,A群中回答“今天到”,B群中回答“明天到货”
群白名单 支持配置群白名单,白名单内群开启机器人问答,未配置问题答案的群不会受到机器人干扰
非群主链接检测 支持非群主小程序卡片、网页链接分享检测,自动提醒、警告发送者撤回
消息存档 群聊天消息存档到表格(基于vika维格表,免费)
客服后台 简单客服后台,可以把群内消息按发言人列表区分
团购订单转换 支持快团团订货单转换,原始表发送到群即可自动转换为按楼栋统计表
MQTT消息推送 支持配置一个MQTTQ消息队列,将消息推送到队列当中
远程控制发消息 支持通过MQTT控制机器人向指定好友或群发消息

快速开始

  1. 下载源码并安装依赖
git clone https://github.com/choogoo/wechat-openai-qa-bot.git
cd ./wechat-openai-qa-bot
npm install
  1. 分别登陆微信对话开放平台vika维格表官网注册账号并获取token

  2. 在电脑上登陆微信,微信版本必须为WeChatSetup-v3.3.0.115.exe

  3. 修改./config.js配置文件

快速开始仅需要修改VIKA_TOKEN、VIKA_SPACENAME配置项,其他配置项暂时无需修改

/* eslint-disable sort-keys */
// 配置文件,所有配置必须齐全,补充空白配置项,其他配置项可按需要修改
const configs = {
  VIKA_TOKEN: '替换成自己的维格表token', // VIKA维格表token
  VIKA_SPACENAME: '替换成你的维格表空间名称', // VIKA维格表空间名称,修改为自己的空间名称
}

export default configs

只有加入到roomWhiteList里的群才会开启只能问答机器人

  1. 初始化系统表,先运行,系统会自动在维格表中创建好初始化表格
npm run init

image

在维格表查看系统表是否创建成功

image

  1. 设置使用的puppet,程序默认使用wechaty-puppet-xp(仅Windows系统下可使用),mac、linux系统需切换到wechaty-puppet-xp或wechaty-puppet-padlocal

快速启用可使用免费的wechaty-puppet-xp

image

  1. 启动程序
npm start

看到如下界面,说明运行成功了

image

8.开启智能问答功能

8.1 设置微信对话平台token,填写"系统配置表"中的 【对话平台token】、【对话平台EncodingAESKey】并开启智能问答

image

8.2 设置群白名单,将群加入到问答白名单,在“群白名单”表中,加入需要开启的群ID(roomid),群ID在消息中查看(在群里发一条消息,然后控制台查看或在维格表中查找)

  • 获取群ID

image

image

  • 添加白名单

image

8.3 在微信对话平台中录入问答内容,以群名称建立分类,问答时会优先匹配群名称对应的分类,匹配不到时匹配【通用问题】分类

image

8.4 重启程序,在指定群测试问答

使用环境变量启动

也可以不使用配置文件,通过配置环境变量启动

Mac、Linux操作系统下运行(仅支持使用wechaty-puppet-wechat和wechaty-puppet-padlocal)

export VIKA_TOKEN="替换成自己的维格表token"
export VIKA_SPACENAME="替换成你的维格表空间名称"
npm run init
npm start

Windows操作系统下运行(支持使用wechaty-puppet-xp、wechaty-puppet-wechat、wechaty-puppet-padlocal)

推荐使用 wechaty-puppet-xp

set VIKA_TOKEN="替换成自己的维格表token"
set VIKA_SPACENAME="替换成你的维格表空间名称"
npm run init
npm run start

视频演示及使用教程

到项目官网查看视频教程

快速体验

如果你对以上操作感觉困难而不能使用,添加 ledongmao 微信,提供你需要的问答清单,我们可以提供一个免费的机器人供体验

当然,最好的反馈方式是在这里 https://github.com/choogoo/wechat-openai-qa-bot/issues 提交一个issues

在线交流

QQ群 583830241

效果展示

群消息存档

常见问题问答自动回复

问答列表

编辑问题

非本群链接检测

客服后台系统

快团团订单自动汇总

  • 发送原始订单表到群内自动生成按楼栋汇总好的表格

  • 快团团后台导出的全部字段原始表

  • 生成汇总表

二次开发

此项目只是提供了一个简单的使用微信机器人和智能对话平台实现的QA系统。如果有兴趣,可以继续学习微信对话开放平台的高级技能,实现诸如连续问答等高级功能,欢迎贡献你的创意。

此外要说明的是,项目中使用puppet-xp完全是出于免费的考虑,如果不考虑这一点的话,wechaty还有更好用的puppet,对于有能力的开发者来说可以根据实际情况替换。

TODO LIST

  • 消息群发,通知消息同时发布到多个群

  • 消息转发,按设定规则转发消息

  • 使用VIKA托管配置文件

相关依赖

项目用到了一些免费且好用的开源项目和平台

如果你是团长可忽略此段内容,开发者可进一步了解

  • Wechaty —— 只需几行代码,您就可以拥有一个功能齐全的聊天机器人

  • wechaty-puppet-xp —— 可能是目前最好用的免费wechat机器人

  • wechaty-puppet-wechat —— 目前最简单的免费wechat机器人

  • 微信对话开放平台 —— 5分钟零基础免费一键搭建智能对话机器人,并应用于微信公众号、小程序、企业网站、APP等

  • vika维格表 —— 将过去复杂的IT数据库技术,做得像表格一样简单(如果要注册,通过这个链接,或者使用邀请码 55152973 )

  • vue-im —— 由@polk6开源的客服web项目,实现客服后台回复咨询消息

常见问题

遇到任何报错,一定记得第一时间查看报错信息,即使看不懂,起码复制或截图,否则没有人能仅凭几句语焉不详帮你解决问题

1. 环境依赖

  • nodejs > 16 且 npm > 7

使用wechaty-puppet-xp时需使用Windows > 10操作

2. 切换网页版微信

在”系统配置“表中修改”puppet“并重启程序

3. 安装依赖时提示需要Visual Studio 2017+

去微软官网下载Visual Studio 2022并安装

4. ubuntu系统下使用wechaty-puppet-wechat缺少依赖解决方法

根据报错信息参考 https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

尝试运行如下命令

sudo apt install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm1

安装单个依赖

sudo apt install libgbm1

5. mac M1环境下运行报错

报错信息

09:24:09 INFO Starter Bot Started. 
09:24:26 ERR PuppetWeChatBridge start() exception: TimeoutError: Timed out after 30000 ms while trying to connect to the browser! Only Chrome at revision r982053 is guaranteed to work.
09:24:26 ERR PuppetWeChat initBridge() exception: Timed out after 30000 ms while trying to connect to the browser! Only Chrome at revision r982053 is guaranteed to work.
09:24:26 ERR PuppetWeChat initBridge() this.bridge.stop() rejection: Error: no page

解决方案,设置环境变量 export PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM=RAM

参考 https://www.npmjs.com/package/puppeteer?activeTab=readme

6. 如果折腾半天也没有搞定,可以联系远程协助指导安装

提前下载好向日葵软件并注册号账号,登陆后发控制码

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.9%
  • Vue 30.8%
  • TypeScript 5.9%
  • Less 0.9%
  • CSS 0.4%
  • HTML 0.1%