• Stars
    star
    3,957
  • Rank 10,933 (Top 0.3 %)
  • Language
    Python
  • License
    GNU Affero Genera...
  • Created almost 2 years ago
  • Updated 3 months ago

Reviews

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

Repository Details

😎高稳定性、🧩支持插件、🦄多模态的 ChatGPT QQ / QQ频道 / One Bot 机器人🤖 | 支持 OpenAI GPT、GPT 4o、Claude、Gemini Pro、DeepSeek、Moonshot(Kimi)、gpt4free、One API 的 QQ / QQ频道 / OneBot 机器人 / Agent 平台

QChatGPT

QChatGPT

English | 简体中文

GitHub release (latest by date) Wakapi Count python Static Badge Static Badge Static Badge

回复效果演示(带有联网插件) 联网演示GIF

2023/7/29 支持使用GPT的Function Calling功能实现类似ChatGPT Plugin的效果,请见Wiki内容函数

🍺模型适配一览

文字对话

  • OpenAI GPT-3.5模型(ChatGPT API), 本项目原生支持, 默认使用
  • OpenAI GPT-3模型, 本项目原生支持, 部署完成后前往config.py切换
  • OpenAI GPT-4模型, 本项目原生支持, 目前需要您的账户通过OpenAI的内测申请, 请前往config.py切换
  • ChatGPT网页版GPT-3.5模型, 由插件接入
  • ChatGPT网页版GPT-4模型, 目前需要ChatGPT Plus订阅, 由插件接入
  • New Bing逆向库, 由插件接入
  • HuggingChat, 由插件接入, 仅支持英文

故事续写

  • NovelAI API, 由插件接入

图片绘制

语音生成

  • TTS+VITS, 由插件接入
  • Plachta/VITS-Umamusume-voice-synthesizer, 由插件接入

安装此插件,即可在使用中切换文字模型。

✅功能

支持敏感词过滤,避免账号风险
  • 难以监测机器人与用户对话时的内容,故引入此功能以减少机器人风险
  • 加入了百度云内容审核,在config.py中修改baidu_check的值,并填写baidu_api_keybaidu_secret_key以开启此功能
  • 编辑sensitive.json,并在config.py中修改sensitive_word_filter的值以开启此功能
群内多种响应规则,不必at
  • 默认回复ai作为前缀或@机器人的消息
  • 详细见config.py中的response_rules字段
完善的多api-key管理,超额自动切换
  • 支持配置多个api-key,内部统计使用量并在超额时自动切换
  • 请在config.py中修改openai_config的值以设置api-key
  • 可以在config.py中修改api_key_fee_threshold来自定义切换阈值
  • 运行期间向机器人说!usage以查看当前使用情况
支持预设指令文字
  • 支持以自然语言预设文字,自定义机器人人格等信息
  • 详见config.py中的default_prompt部分
  • 支持设置多个预设情景,并通过!reset、!default等指令控制,详细请查看wiki指令
支持对话、绘图等模型,可玩性更高
  • 现已支持OpenAI的对话Completion API和绘图Image API
  • 向机器人发送指令!draw <prompt>即可使用绘图模型
支持指令控制热重载、热更新
  • 允许在运行期间修改config.py或其他代码后,以管理员账号向机器人发送指令!reload进行热重载,无需重启
  • 运行期间允许以管理员账号向机器人发送指令!update进行热更新,拉取远程最新代码并执行热重载
✅支持插件加载🧩
  • 自行实现插件加载器及相关支持
  • 支持GPT的Function Calling功能
  • 详细查看插件使用页
私聊、群聊黑名单机制
  • 支持将人或群聊加入黑名单以忽略其消息
  • 详见Wiki加入黑名单
长消息处理策略
  • 支持将长消息转换成图片或消息记录组件,避免消息刷屏
  • 请查看config.pyblob_message_strategy等字段
回复速度限制
  • 支持限制单会话内每分钟可进行的对话次数
  • 具有“等待”和“丢弃”两种策略
    • “等待”策略:在获取到回复后,等待直到此次响应时间达到对话响应时间均值
    • “丢弃”策略:此分钟内对话次数达到限制时,丢弃之后的对话
  • 详细请查看config.py中的相关配置
支持使用网络代理
  • 目前已支持正向代理访问接口
  • 详细请查看config.py中的openai_config的说明
支持自定义提示内容
  • 允许用户自定义报错、帮助等提示信息
  • 请查看tips.py

🏞️截图

私聊GPT-3.5
群聊GPT-3.5
New Bing

详情请查看Wiki功能使用页

🔩部署

部署过程中遇到任何问题,请先在QChatGPTqcg-installer的issue里进行搜索
QChatGPT需要Python版本>=3.9

  • 官方交流、答疑群: 656285629
    • 进群提问前请您确保已经找遍文档和issue均无法解决
  • 社区群(内有一键部署包、图形化界面等资源): 891448839

- 注册OpenAI账号

点此查看步骤

若您要直接使用非OpenAI的模型(如New Bing),可跳过此步骤,直接进行之后的部署,完成后按照相关插件的文档进行配置即可

参考以下文章自行注册

国内注册ChatGPT的方法(100%可用)
手把手教你如何注册ChatGPT,超级详细

注册成功后请前往个人中心查看api_key
完成注册后,使用以下自动化或手动部署步骤

- 自动化部署

展开查看,以下方式二选一,Linux首选Docker,Windows首选安装器

Docker方式

docker方式目前仅支持使用mirai登录,若您不熟悉docker的操作及相关知识,强烈建议您使用其他方式部署,我们不会且难以解决您主机上多个容器的连接问题。

请查看此文档
@mikumifa贡献

安装器方式

使用此安装器(若无法访问请到Gitee)进行部署

  • 安装器目前仅支持部分平台,请到仓库文档查看,其他平台请手动部署

- 手动部署

手动部署适用于所有平台
  • 请使用Python 3.9.x以上版本

① 配置QQ登录框架

目前支持mirai和go-cqhttp,配置任意一个即可

mirai
  1. 按照此教程配置Mirai及mirai-api-http
  2. 启动mirai-console后,使用login命令登录QQ账号,保持mirai-console运行状态
  3. 在下一步配置主程序时请在config.py中将msg_source_adapter设为yirimirai
go-cqhttp
  1. 按照此文档配置go-cqhttp
  2. 启动go-cqhttp,确保登录成功,保持运行
  3. 在下一步配置主程序时请在config.py中将msg_source_adapter设为nakuru

② 配置主程序

  1. 克隆此项目
git clone https://github.com/RockChinQ/QChatGPT
cd QChatGPT
  1. 安装依赖
pip3 install requests yiri-mirai openai colorlog func_timeout dulwich Pillow nakuru-project-idk CallingGPT tiktoken
  1. 运行一次主程序,生成配置文件
python3 main.py
  1. 编辑配置文件config.py

按照文件内注释填写配置信息

  1. 运行主程序
python3 main.py

无报错信息即为运行成功

常见问题

  • mirai登录提示QQ版本过低,见此issue
  • 如提示安装uvicornhypercorn不要安装,这两个不是必需的,目前存在未知原因bug
  • 如报错TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary, 请参考 此处

🚀使用

部署完成后必看: 指令说明

所有功能查看Wiki功能使用页

🧩插件生态

我们已经支持了GPT的Function Calling能力,请查看Wiki内容函数

使用方法见:Wiki插件使用
开发教程见:Wiki插件开发

所有插件列表,欢迎提出issue以提交新的插件

部分插件

😘致谢

以及所有贡献者和其他为本项目提供支持的朋友们。

👍赞赏

赞赏码

More Repositories

1

free-one-api

LLM 逆向工程接口管理 | 通过标准 OpenAI API 访问 ChatGPT / gpt4free / Bard / Claude / HuggingChat / 通义千问 等 AI 的破解版 || ChatGPT reverse engineering API management | Access all reverse engineered LLM libs by standard OpenAI API format || 免费 ChatGPT Free GPT LLM API | 逆向工程 转 OpenAI API | converts all llm libs to OpenAI API
Python
464
star
2

qcg-installer

ChatGPT QQ 机器人的自动安装器,自动化部署,适用于QChatGPT项目: https://github.com/RockChinQ/QChatGPT
Go
355
star
3

revLibs

ChatGPT、Claude QQ 机器人,以插件形式为 QChatGPT 项目接入ChatGPT、Claude、Bard、gpt4free等接口的逆向工程库
Python
203
star
4

CallingGPT

Build your own ChatGPT plugin platform with GPT's function calling ability | func call by GPT
Python
65
star
5

Switcher

QChatGPT 项目的同类模型切换器插件
Python
24
star
6

GhostJ

纯Java编写的基于Socket的远程控制软件
Java
24
star
7

LightQChat

轻量级、全异步、单文件部署、基于 wyapx/CAI 的 ChatGPT QQ机器人
Python
23
star
8

WebwlkrPlugin

QChatGPT 项目的WebPilot插件,为其提供联网支持 | 让 ChatGPT 联网
Python
21
star
9

MCSniffer

Sniff Minecraft Java Edition servers on the network
Java
19
star
10

ThisEmotionHasXLikers

这条说说有N个人点赞
Python
16
star
11

RockChinQ

14
star
12

rmdb-tut-backup

2023 年 全国大学生计算机系统能力大赛 数据库管理系统赛道 天津理工大学 天理的维系者队 代码存档
C++
7
star
13

DriftBottle

基于Java Swing的漂流瓶PoC,同时作为数据库课程设计
Java
6
star
14

Nahida

QChatGPT 插件,发纳西妲图片!
Python
6
star
15

HelloPlugin

QChatGPT 插件模板,可直接点击 Use this template 创建你的插件仓库
Python
5
star
16

TheMostHandsome

QChatGPT 插件,世界上最帅的人是谁?
Python
5
star
17

RFTX2

A lib that implements two-way file transfer between server and client.实现客户端与服务端双向传输文件的java库
Java
5
star
18

SysStatPlugin

QChatGPT 项目的系统状态查看插件
Python
5
star
19

RepoBot

QQ答疑机器人,根据项目库信息(文档、issues、Wiki)解答QQ项目群群友疑问
5
star
20

csdcc_wiki

全国大学生计算机系统能力大赛 非官方 Wiki知识库
5
star
21

MySQLTest

帮李豆写的数据库课设
C++
4
star
22

Launch

转成exe后用于启动其他Java程序
Java
4
star
23

TetrisEngine

Tetris core code written in Java.使用java写的俄罗斯方块核心代码,可被移植到安卓端
Java
4
star
24

AutoPVZGarden

自动经营植物大战僵尸的花园以赚钱 Automatically plants flowers in the garden of PVZ to make much money in a short time.
Java
4
star
25

CommonPreprocess

QChatGPT 插件,提供通用的prompt预处理策略,如:嵌入当前时间、模型名称等
Python
4
star
26

doupdate

桌面应用程序版本发行工具
Go
4
star
27

BenchPlugin

QChatGPT 项目插件,用于测试各接口可用性及易用性
Python
4
star
28

AnsweringPlugin

QChatGPT 插件,用于配合 llm-embed-qa 进行针对性答疑
Python
4
star
29

WaitYiYan

获取 文心一言 等待列表排队人数,QChatGPT插件
Python
4
star
30

QzoneRecorder

QQ 空间 说说记录器
Go
4
star
31

TJUT-ChangeMajor

天津理工大学转专业相关资料收集 | 用于 llm-embed-qa 自动答疑
4
star
32

okexAPI

sar bot
Python
4
star
33

Flowity

A Programming Language for Building LLM Apps
Python
4
star
34

wrap-algo

换行算法的简单实现
Python
3
star
35

RFTX

#This lib is now out-of-date,see RFTX2 project#Rock's File Transport lib(eXtended).Transport file between server and clients. Check release!
Java
3
star
36

llm-embed-qa

Question answering system built with vector dbs and LLMs.
Python
3
star
37

HomeworkOfAlgoCourse

天津理工大学数据结构与算法课的实验题解法
C++
3
star
38

TicTacToe

A TicTacToe AI I made in 2017 with my friend
Java
3
star
39

ghogo

Remote control implementation written in Go
Go
3
star
40

SocketGo

A tool for making sockets and sending msg.
Go
3
star
41

ChatPHP

天津理工大学 网站设计与维护课程设计 2023 | PHP + Vue 实现的 ChatGPT 镜像站
Vue
3
star
42

BlackJack

C++课程设计
C++
3
star
43

AutoXmrig

自动部署Xmrig并进入工作状态,支持监控
Java
3
star
44

NahidaImages

Image lib of Nahida
3
star
45

GhostPioneer

new launcher for GhostJ project
Go
3
star
46

VpsMining

Test out the mining Hashrate of some vps
3
star
47

python-classwork

Python
3
star
48

RFTXJNI

JNI interface for RFTX-CLI proj.
C++
3
star
49

GomokuBoard

GUI board for playing Gomoku
Java
3
star
50

design-patterns-python

使用Python练习设计模式
Python
3
star
51

ScheNotify

在QQ上通过自然语言设定日程提醒
Python
3
star
52

HuggingFacePractice

2
star
53

GhostLauncher

Downloader and launcher for GhostJ
Go
2
star
54

files

2
star
55

RFT

a simple file trans lib for other projects.
Java
2
star
56

TicketerDataImporter

Python
2
star
57

RFTX-CLI

CLI for RFTX
Java
2
star
58

qcg-center

QChatGPT 项目的中央服务端程序|遥测、数据分析、模型分发
Go
2
star
59

codebase

Store useful codes
Java
2
star
60

wakapi-offline-importer

Offline importer for Wakapi
Python
2
star
61

python-app

Python 应用开发 / 测试 / 交付模版
Dockerfile
2
star
62

OldProjects

Old projects before I started using git to manage my projects.
Java
2
star
63

5erend1p1ty

我去你妈的垄断万能墙
Python
1
star
64

OAuth2DemoClient

Campux OAuth 2.0 Demo App
1
star
65

RAT

Cross platform Python Remote Access Trojan toolkit.
1
star
66

qcg-tester

QChatGPT 系统测试工程
Python
1
star
67

Skittles

mirai-api-http mock 测试工具
Python
1
star
68

OceanBase

1
star
69

DataAnalyseCourse2023

天津理工大学 2023年 数据分析基础 实验代码
HTML
1
star
70

docs

Documents that are not part of any open source project.不属于任何开源项目的文档
1
star
71

QzoneAnalysis

分析QQ空间说说基于时间的浏览量点赞数等数据
1
star
72

GhostPlatform

A extensible cross-platform remote control platform.
Java
1
star
73

gocryptobot

Go
1
star
74

Test

1
star
75

camwall-docs

使用Go、Python、JavaScript、MySQL开发的校园墙自动化系统
1
star
76

yetAnotherSnake

Make a snake gluttony game with Swing.
Java
1
star