• Stars
    star
    836
  • Rank 54,534 (Top 2 %)
  • Language
    Java
  • Created over 1 year ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AI 自动回复工具,支持灵活配置多个平台的监控和回答。目前已支持知识星球自动回复、OpenAI(ChatGPT)自动回答

yu-auto-reply 自动回复

作者:程序员鱼皮

编程学习圈:编程导航知识星球

[toc]

基于 Java Spring Boot 的平台监控及自动回复工具,支持灵活地配置多个监控任务,支持一键部署!

演示视频:https://www.bilibili.com/video/BV1WX4y1o7aL

本项目采用多种设计模式,解耦监控者及回答者,可以灵活配置多个不同平台的监控,并绑定不同类型的自动回复。

🙏🏻 大家喜欢这个项目的话,感谢动手点点 star,后面作者可能会官方提供更多的平台监控支持。

功能特性

监控能力

  • 知识星球提问监控
  • 默认监控(模拟数据)

回复能力

  • OpenAI 回答(支持自选模型,比如 gpt-4)
  • 默认监控(模拟数据)

配置能力

  • 支持配置多个任务
  • 每个任务可以灵活指定监控和回答方式

部署能力

  • 支持 Docker 容器化部署
  • 支持 Railway 一键部署
  • 支持动态指定环境变量来改变配置

快速启动

1)修改 application.yml 配置,主要包含 3 部分:

  • openAI 配置(需要有一个 API Key)
  • 知识星球配置(需要自行获取 cookie)
  • 任务配置

详细配置如下:

# openAI 配置
# https://platform.openai.com/docs/api-reference
openai:
  model: ${OPENAI_MODEL:text-davinci-003}
  apiKey: ${OPENAI_API_KEY:你的apiKey}
# 知识星球配置
# https://zsxq.com/
zsxq:
  cookie: ${ZSXQ_COOKIE:你的星球cookie}
  groupId: ${ZSXQ_GROUP_ID:你的星球id}
  # 是否提醒提问者
  silenced: ${ZSXQ_SILENCED:true}
# 任务配置
task:
  # 任务列表,支持配置多个
  list:
    - name: task1 #任务名
      monitor: zsxq #监控者
      answerer: openai #回答者
      cron: '0/30 * * * * ?' #执行周期

2)直接运行主类 MainApplication 即可

一键部署

Deploy on Railway

点击上述部署按钮后,会自动识别环境变量,改成自己的就可以了:

架构设计

一图胜千言:

本项目最关键的设计就是在于 解耦监控者与回答者 ,你可以监控任何平台,并且给每个平台绑定不同的自动回答(比如 OpenAI)。

实现关键:

  1. 定义 Answerer 回答者接口,统一回答的方法
  2. 定义 Monitor 监控者接口,统一监控的方法,通过 Answerer 回调参数实现对监控到的消息进行自动回复
  3. 使用中介者模式,用 JobMediator 类组合 Monitor 和 Answerer,而不是把回答者和监控者强绑定
  4. 使用工厂模式,根据配置生成监控者和回答者
  5. 使用 Spring Scheduler,读取 yml 配置来自动创建多任务

开发

自定义监控

1)编写一个类,实现 monitor/Monitor 抽象类

2)修改 factory/MonitorFactorycreateMonitor 方法,补充创建你自己的监控者

自定义回答

1)编写一个类,实现 answerer/Answerer 接口

2)修改 factory/AnswererFactorycreateAnswerer 方法,补充创建你自己的回答者

免费 ChatGPT 交流群

欢迎贡献

作者平时非常忙 ,本项目也是仅用了几个小时抽空做的,开源出来给大家参考,但是 PR 和 Issues 响应不会很及时,感谢理解!

如有项目本身的问题,欢迎提 issues 和 PR;

如有编程方面的问题、或者需要项目教学,请看 编程导航知识星球

问答

1)问:为什么先支持知识星球?

答:因为 OpenAI 的 API 不是免费的,星球可以限制提问次数,防止刷接口

More Repositories

1

codefather

程序员鱼皮的编程宝典。原创编程学习路线,包括经验分享、技术知识、学习资源、学习建议、项目等,适用于所有学习编程 & 求职的同学。已完成 Java、前端
JavaScript
5,504
star
2

mianshiya

持续维护的面试刷题网站,帮你拿到满意 offer!⭐️ 2024年最新Java面试题、前端面试题、C++面试题、Go面试题、Python面试题、测试面试题、运维面试题、后端面试题、操作系统面试题、计算机网络面试题、Redis面试题、MySQL数据库面试题、算法面试题、Spring面试题、JVM面试题、Java并发面试题、Linux面试题等几千道高频程序员求职必备八股文。💎 React 前端 + Node 后端 + 云开发全栈项目 by 程序员鱼皮
TypeScript
4,019
star
3

sql-generator

🔨 用 JSON 来生成结构化的 SQL 语句,基于 Vue3 + TypeScript + Vite + Ant Design + MonacoEditor 实现,项目简单(重逻辑轻页面)、适合练手~
Vue
3,404
star
4

sql-mother

免费的闯关式 SQL 自学教程网站,从 0 到 1 带大家掌握常用 SQL 语法,纯前端实现,简单易学~
TypeScript
3,208
star
5

free-programming-resources

💎 免费的编程资源大全,持续更新!🔥 覆盖各种语言和方向(Java \ Python \ C++ \ JavaScript \ Golang \ 前端 \ 后端等)的学习路线、贴心教程、项目实战、编程书籍、面试合集、实用资源等,对程序员非常有帮助!
HTML
2,956
star
6

code-nav

💎 专业的编程导航,帮你找到优质的编程学习资源!公众号【编程导航】 ☁️ 前后端均开源,励志成为最好的全栈云开发项目!
JavaScript
2,576
star
7

yuindex

✨ 新项目 - 极客范儿的浏览器主页 💻 Vue 3 + Node.js 全栈项目,自实现 web 终端 + 命令系统
TypeScript
1,978
star
8

sql-father-backend-public

新项目:快速生成 SQL 和模拟数据的网站(Java 后端),大幅提高开发测试效率!by 程序员鱼皮
Java
1,943
star
9

yulegeyu

羊了个羊纯前端实现版【鱼了个鱼】,自定义关卡+图案+无限道具,可在线玩:https://yulegeyu.cn
TypeScript
1,739
star
10

sql-father-frontend-public

新项目:快速生成 SQL 和模拟数据的网站(React 前端),大幅提高开发测试效率!by 程序员鱼皮
TypeScript
1,436
star
11

daxigua

最简单的魔改发布『 合成大西瓜 』,配套改图工具,不用改代码,修改配置即可!
JavaScript
1,365
star
12

liyupi

563
star
13

yuzi-generator

基于 React + Spring Boot + Picocli + 对象存储的代码生成器共享平台,又分为 3 个循序渐进的子项目:基于命令行的本地代码生成器 + 代码生成器制作工具 + 在线代码生成器平台。实践 Java 命令行应用开发、FreeMarker 模板引擎、多种设计模式、对象存储、十几种优化方法、复杂业务的拆解和系统设计、分布式任务调度系统、Vert.x 响应式编程等
Java
476
star
14

yu-rpc

从 0 到 1,带你开发自己的 RPC 框架
Java
375
star
15

ceshiya

免费的交互式网络安全自学网,助你成为网络安全达人!纯前端实现,简单易学~
TypeScript
333
star
16

better-coder

😄 一起快乐成长为更好的程序员吧!编程学习经验、技术干货、资源分享
HTML
257
star
17

father

专业的表情包网站,搜表情,找爸爸!适合前端、Java 开发者学习的全栈项目
Java
195
star
18

yucongming-java-sdk

鱼聪明 AI 的 Java SDK,几行代码使用 AI 助手能力!
Java
191
star
19

yudada

新项目,基于 Vue 3 + Spring Boot + Redis + ChatGLM + RxJava + SSE 的 AI 答题应用平台。 用户可以基于 AI 快速制作并发布答题应用,支持检索、分享、在线答题并基于 AI 得到回答总结;管理员可以集中管理和审核应用。
Java
166
star
20

code-xingqiu

🪐 编程导航知识星球,帮助你学习编程的小圈子。配置公开,大家可以参考该项目做出自己的文档网站。
TypeScript
120
star
21

ikun-test

测试一下你是真爱坤还是小黑子?(Vue3 + Node 实现的移动端答题网站)
JavaScript
99
star
22

yuapi-backend-public

提供 API 接口供开发者调用的平台 💎 by 鱼皮编程导航知识星球
Java
94
star
23

yuso-backend-public

一站式聚合搜索平台 💎 by 鱼皮编程导航知识星球
Java
72
star
24

rubbish-yingxiaohao

打击营销号插件,营销号名单大全
JavaScript
67
star
25

user-center-backend-public

企业核心用户管理系统,用于快速学习项目开发 💎 by 鱼皮编程导航知识星球
Java
65
star
26

mianshiya-next

新项目,基于 Next.js + Spring Boot + Redis + MySQL + Elasticsearch 的面试刷题平台,运用 Druid + HotKey + Sa-Token + Sentinel 提高了系统的性能和安全性。管理员可以创建题库、题目和题解;用户可以注册登录、分词检索题目、在线刷题并查看刷题记录日历图。 此外,系统使用数据库连接池、热 Key 探测、缓存、高级数据结构等来提升性能。通过流量控制、熔断、动态 IP 黑白名单过滤、同端登录冲突检测、分级反爬虫策略来提升系统和内容的安全性。从 0 到 1 的真实企业级项目设计开发,绝对让你收获满满!
Java
60
star
27

coder-resume-guide

保姆级程序员写简历指南,从 0 到 1 带你写出高质量的简历(by 程序员鱼皮)适用于 Java简历、后端建立、前端简历、Go简历、C++简历、Python简历
51
star
28

yupao-backend-public

帮大家找到好伙伴的移动端网站 💎 by 鱼皮编程导航知识星球
Java
44
star
29

good-name

🤔 编程好名生成器,解决取名难题
JavaScript
42
star
30

ChatGPT-Web

Vue
41
star
31

laoyujianli

易用且专业的简历制作工具,1 分钟生成你的个人简历
39
star
32

awesome-cloudbase

☁️ 腾讯云开发资源合集,轻松开发小程序、Web、APP 等全栈应用!
34
star
33

WechatBot

TypeScript
33
star
34

daily-good-code

每日优质代码分享,代码小抄:https://codecopy.cn
30
star
35

backend-interview

个人整理及搜集的一些后端常用面试题
24
star
36

yu-image-uploader

React Multiple ImageUploader, native & faster & lighter & easier & more efficient
JavaScript
13
star
37

hahalf

表情包搜索神器
JavaScript
11
star
38

self-python-tools

some easy and useful tools by liyupi
Python
11
star
39

daxigua-tools

帮助你快速修改合成大西瓜的图片
Vue
11
star
40

father-backend

表情包网站【爸爸】后端
Java
6
star
41

code-learning

一起学习编程吧!
6
star
42

Design-Model

java design model
Java
3
star
43

Algorithm

algorithm practice
Java
3
star
44

Es-Tutorial

elasticsearch tutorial with swagger so that you can easily debug the restful api
Java
2
star
45

leetcode-c

C++
1
star
46

lyp_web

lazy_(:з」∠)_
JavaScript
1
star
47

Rabbitmq-Tutorial

Java
1
star
48

BI-Learning

some documents about BI learning
1
star
49

Useful-front-end-pages

by liyupi himself
HTML
1
star
50

MySQL-Optimizing

mysql optimizing skills
1
star
51

sjtuoj

C++
1
star
52

code-master

搞笑通俗的编程知识大百科
1
star