1 Star 6 Fork 4

MartinDai / weChatRobot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

weChatRobot

一个基于微信公众号的智能聊天机器人项目,支持图灵机器人(V2)和ChatGPT对话模式回复内容

License

本项目还有Go实现的版本:https://github.com/MartinDai/weChatRobot-go

qrcode

项目介绍:

本项目是一个微信公众号项目,需配合微信公众号使用,在微信公众号配置本项目运行的服务器域名,用户关注公众号后,向公众号发送任意信息,公众号会根据用户发送的内容自动回复。

涉及框架及技术

Tips:1.2版本开始使用Vert.x替换SpringBoot

支持的功能

  • 自定义关键字回复内容
  • 调用ChatGPT接口回复内容(需配置启动参数或者环境变量:OPENAI_API_KEY
  • 调用OPENAI规范的接口回复内容(需配置启动参数或者环境变量:OPENAI_SERVER_URL
  • 调用图灵机器人(V2)接口回复内容(需配置启动参数或者环境变量:TULING_API_KEY

使用说明:

  1. 使用之前需要有微信公众号的帐号,没有的请戳微信公众号申请
  2. 如果需要使用图灵机器人的回复内容则需要注册图灵机器人帐号获取相应的ApiKey并配置在启动参数或者环境变量中
  3. 如果需要使用ChatGPT的回复内容则需要创建OpenAI的API Key并配置在启动参数或者环境变量中
  4. 可以通过配置启动参数或者环境变量OPENAI_SERVER_URL指定访问OpenAI服务的baseUrl
  5. 可以通过配置启动参数或者环境变量OPENAI_BASE_DOMAIN更换访问OpenAI的域名
  6. 可以通过配置启动参数或者环境变量OPENAI_PROXY使用代理服务访问OpenAI
  7. 内容响应来源的优先级自定义关键 > ChatGPT > 图灵机器人
  8. 在微信公众号后台配置回调URL为https://wechatrobot.doodl6.com/weChat/receiveMessage,其中wechatrobot.doodl6.com是你自己的域名,token与config.yml里面配置的保持一致即可

开发部署

本地启动

直接运行类com.doodl6.wechatrobot.MainVerticle

jar包运行

maven编译打包

mvn clean package

打包完成后,在robot-web/target目录会生成weChatRobot.jar

启动执行

java -jar weChatRobot.jar

使用-D指定配置文件,支持相对路径和绝对路径

java -Dconfig=config-deploy.yml -jar weChatRobot.jar

服务器部署后台运行

nohup java -jar weChatRobot.jar > ./console.log 2>&1 &

在执行命令的当前目录查看console日志

native-image运行

构建native-image(需要graalvm版本的jdk)

mvn clean package -P native-image

构建完成后,在robot-web/target目录会生成weChatRobot可执行文件,可以直接运行

./weChatRobot

注意:native-image不支持通过-D指定配置

Docker运行

构建适用于当前操作系统架构的镜像

docker build -f docker/Dockerfile --no-cache -t wechatrobot:latest .

构建指定架构的镜像

docker buildx build -f docker/Dockerfile --no-cache -t wechatrobot:latest --platform=linux/amd64 -o type=docker .

如果需要构建native-image的镜像,替换上面命令中的docker/Dockerfiledocker/native-image-Dockerfile即可

后台运行镜像

docker run --name wechatrobot -p 8080:8080 -d wechatrobot:latest

感谢赞助

jetbrains

MIT License Copyright (c) 2018 Martin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个基于微信公众号和图灵机器人开发的自动回复机器人项目。 展开 收起
Java 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/MartinDai/weChatRobot.git
git@gitee.com:MartinDai/weChatRobot.git
MartinDai
weChatRobot
weChatRobot
master

搜索帮助