• Stars
    star
    4,240
  • Rank 10,196 (Top 0.3 %)
  • Language
    Python
  • License
    GNU Affero Genera...
  • Created almost 2 years ago
  • Updated about 2 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、Ollama 的 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
563
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
209
star
4

CallingGPT

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

GhostJ

纯Java编写的基于Socket的远程控制软件
Java
27
star
6

Switcher

[已弃用] QChatGPT 项目的同类模型切换器插件
Python
24
star
7

WebwlkrPlugin

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

LightQChat

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

MCSniffer

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

ThisEmotionHasXLikers

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

RockChinQ

14
star
12

HelloPlugin

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

rmdb-tut-backup

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

Nahida

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

DriftBottle

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

TheMostHandsome

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

Flowity

A Scripting Language for Building LLM Apps
Python
6
star
18

RFTX2

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

SysStatPlugin

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

RepoBot

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

csdcc_wiki

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

MySQLTest

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

Launch

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

TetrisEngine

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

llm-embed-qa

Question answering system built with vector dbs and LLMs.
Python
4
star
26

AutoPVZGarden

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

CommonPreprocess

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

doupdate

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

BenchPlugin

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

AnsweringPlugin

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

WaitYiYan

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

QzoneRecorder

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

NahidaImages

Image lib of Nahida
4
star
34

TJUT-ChangeMajor

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

okexAPI

sar bot
Python
4
star
36

wrap-algo

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

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
38

HomeworkOfAlgoCourse

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

TicTacToe

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

SocketGo

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

ghogo

Remote control implementation written in Go
Go
3
star
42

ChatPHP

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

BlackJack

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

AutoXmrig

自动部署Xmrig并进入工作状态,支持监控
Java
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

qcg-center

QChatGPT 项目的中央服务端程序|遥测、数据处理、BI、模型分发
Go
3
star
53

HuggingFacePractice

2
star
54

GhostLauncher

Downloader and launcher for GhostJ
Go
2
star
55

files

2
star
56

RFT

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

TicketerDataImporter

Python
2
star
58

RFTX-CLI

CLI for RFTX
Java
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
77

mac-shortcuts-for-windows

AutoHotKey v2
AutoHotkey
1
star