Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lss233/chatgpt-mirai-qq-bot
🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台
https://github.com/lss233/chatgpt-mirai-qq-bot
bard bot chatglm-6b chatgpt discord ernie go-cqhttp mirai mirai-qq new-bing openai poe qq qqbot sydney telegram wechat xinghuo
Last synced: 26 days ago
JSON representation
🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台
- Host: GitHub
- URL: https://github.com/lss233/chatgpt-mirai-qq-bot
- Owner: lss233
- License: agpl-3.0
- Created: 2022-12-05T13:14:58.000Z (almost 2 years ago)
- Default Branch: browser-version
- Last Pushed: 2024-03-23T17:37:54.000Z (8 months ago)
- Last Synced: 2024-09-27T22:03:48.807Z (about 1 month ago)
- Topics: bard, bot, chatglm-6b, chatgpt, discord, ernie, go-cqhttp, mirai, mirai-qq, new-bing, openai, poe, qq, qqbot, sydney, telegram, wechat, xinghuo
- Language: Python
- Homepage:
- Size: 36 MB
- Stars: 13,054
- Watchers: 73
- Forks: 1,558
- Open Issues: 362
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - lss233/chatgpt-mirai-qq-bot - 🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台 (Python)
- awesome-open-gpt - chatgpt-mirai-qq-bot - cqhttp、 Telegram Bot<br/>7.支持 ChatGPT Plus<br/>8.支持 ChatGPT API<br/>9.支持 Bing 聊天<br/>10.支持 Google bard<br/>11.支持 poe.com 网页版<br/>12.支持 文心一言 网页版<br/>13.支持 ChatGLM-6B 本地版 | (精选开源项目合集 / 第三方机器人接入)
- chatgpt-awesome - chatgpt-mirai-qq-bot
- awesome-chatgpt - chatgpt-mirai-qq-bot
- StarryDivineSky - lss233/chatgpt-mirai-qq-bot
- Awesome-ChatGPT - chatgpt-mirai-qq-bot
- my-awesome - lss233/chatgpt-mirai-qq-bot - 6b,chatgpt,discord,ernie,go-cqhttp,mirai,mirai-qq,new-bing,openai,poe,qq,qqbot,sydney,telegram,wechat,xinghuo pushed_at:2024-03 star:13.1k fork:1.6k 🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台 (Python)
- awesome-ChatGPT-repositories - chatgpt-mirai-qq-bot - 🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台 (Chatbots)
README
![cover](https://user-images.githubusercontent.com/117586514/230783378-34ddb86a-c8d3-47a6-baa5-86e39200b258.png)
------------------------------------
ChatGPT for Bot
一款支持各种主流语言模型的聊天的机器人!
» 查看使用教程 »
***
* [Discord 一群](https://discord.gg/cc3S2R6RQV)、
[QQ 二群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=S1R4eIlODtyKZsEKfWxb2-nOIHELbeJY&authKey=kAftCAALE8OJgwQnArrD6zPtncCAaY456QgUXT3l2OMJ57NwRXRkhv4KL7DzOLzs&noverify=0&group_code=373254418)、
[QQ 三群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=urlhCH8y7Ro2S-iXt63X4s5eILUny4Iw&authKey=ejiwoNa4Yez6IMLyf2vj%2FeRiC1frdFrNNekbRfaPnSQbcD7bgebo5y5A7rPaRKBq&noverify=0&group_code=533109074)、
[QQ 四群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Ibiu6EmXof30Fa7MJ5j8nJFwaUGTf5bM&authKey=YKx5a%2BK5qnWkk5VlsxxDfYl0nCrKSekQm%2FoLQVqr%2FcO%2FQY2S6N24XdI23XugBrF0&noverify=0&group_code=799737883)、
[QQ 五群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=lDkVPDAeiz6M-ig9cdS9tqhSH6_topox&authKey=B%2FRPYVUjk3dYPw5D4o6C2TpqeoKTG0nXEiKDCG%2Bh4JYY2RPqDQGt37SGl32j0hHw&noverify=0&group_code=805081636)、
[QQ 开发群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=lisyXibhUj93DgIZptQu3VZ4ka3F5-rW&authKey=PBCzRQX4Zei%2BB6n5Tdyp9p5bqcF0tLBlfGANT4dSSKQIFYR66WwaZSMEDahWo%2FzZ&noverify=0&group_code=701933732)
会发布最新的项目动态、视频教程、问题答疑和交流。
加群之前先看[这里](https://github.com/lss233/chatgpt-mirai-qq-bot/issues)的内容能不能解决你的问题。
如果不能解决,把遇到的问题、**日志**和配置文件准备好后再提问。
* [调试群](https://jq.qq.com/?_wv=1027&k=TBX8Saq7) 这个群里有很多 ChatGPT QQ 机器人,不解答技术问题。| ![猫娘问答](https://img.shields.io/badge/-%E7%8C%AB%E5%A8%98%E9%97%AE%E7%AD%94-E2CDBC?style=for-the-badge) | ![生活助手](https://img.shields.io/badge/-生活助手-E2CDBC?style=for-the-badge) | ![文字 RPG](https://img.shields.io/badge/-文字RPG-E2CDBC?style=for-the-badge) |
|------------------------------|------------------------------|------------------------------|
| ![image](https://user-images.githubusercontent.com/8984680/230702158-73967aa9-01be-44d6-bbd9-24437e333140.png) | ![image](https://user-images.githubusercontent.com/8984680/230702177-de96f89b-053e-4313-a131-715af969db04.png) | ![image](https://user-images.githubusercontent.com/8984680/230702635-fb1de3bf-acbd-46ca-8d6f-caa47368b4d4.png) |**⚡ 支持**
* [x] 图片发送
* [x] 关键词触发回复
* [x] 多账号支持
* [x] 百度云内容审核
* [x] 额度限制
* [x] 人格设定
* [x] 支持 Mirai、 go-cqhttp、 Telegram、Discord、微信
* [x] 可作为 HTTP 服务端提供 Web API
* [x] 支持 ChatGPT 网页版
* [x] 支持 ChatGPT Plus
* [x] 支持 ChatGPT API
* [x] 支持 Bing 聊天
* [x] 支持 Google bard
* [x] 支持 poe.com 网页版
* [x] 支持 文心一言 网页版
* [x] 支持 ChatGLM-6B 本地版**🤖 多平台兼容**
我们支持多种聊天平台。
| 平台 | 群聊回复 | 私聊回复 | 条件触发 | 管理员指令 | 绘图 | 语音回复 |
|----------|------|------|------|-------|-----|------|
| Mirai | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| OneBot | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| Telegram | 支持 | 支持 | 部分支持 | 部分支持 | 支持 | 支持 |
| Discord | 支持 | 支持 | 部分支持 | 不支持 | 支持 | 支持 |
| 企业微信 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
| 个人微信 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |## 🐎 命令
**你可以在 [Wiki](https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/) 了解机器人的内部命令。**
## 🔧 搭建
如果你是手机党,可以看这个纯用手机的部署教程(使用 Linux 服务器):https://www.bilibili.com/video/av949514538
AidLux: 仅使用旧安卓手机进行部署
执行下面这行命令启动自动安装脚本。```bash
bash -c "$(wget -O- https://gist.githubusercontent.com/B17w153/f77c2726c4eca4e05b488f9af58823a5/raw/4410356eba091d3259c48506fb68112e68db729b/install_bot_aidlux.sh)"
```
[部署教程](https://github.com/lss233/chatgpt-for-bot-docs/tree/main/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng/linux-yi-jian-bu-shu-jiao-cheng.md)
Linux: 通过快速部署脚本部署 (新人推荐)
执行下面这行命令启动自动部署脚本。
它会为你安装 Docker、 Docker Compose 和编写配置文件。```bash
bash -c "$(wget -O- https://gist.githubusercontent.com/lss233/2fdd75be3f0724739368d0dcd9d1367d/raw/62a790da4a391af096074b3355c2c2b7ecab3c28/chatgpt-mirai-installer-gocqhttp.sh)"
```Linux: 通过 Docker Compose 部署 (自带 Mirai)
我们使用 `docker-compose.yaml` 整合了 [lss233/mirai-http](https://github.com/lss233/mirai-http-docker) 和本项目来实现快速部署。
但是在部署过程中仍然需要一些步骤来进行配置。你可以在 [Wiki](https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/%E4%BD%BF%E7%94%A8-Docker-Compose-%E9%83%A8%E7%BD%B2%EF%BC%88Mirai---%E6%9C%AC%E9%A1%B9%E7%9B%AE%EF%BC%89) 查看搭建教程。
Linux: 通过 Docker 部署 (适合已经有 Mirai 的用户)
1. 找个合适的位置,写你的 `config.cfg`。
2. 执行以下命令,启动 bot:
```bash
# 修改 /path/to/config.cfg 为你 config.cfg 的位置
# XPRA_PASSWORD=123456 中的 123456 是你的 Xpra 密码,建议修改
docker run --name mirai-chatgpt-bot \
-v /path/to/config.cfg:/app/config.cfg \
--network host \
lss233/chatgpt-mirai-qq-bot:browser-version
```Windows: 快速部署包 (自带 Mirai/go-cqhttp,新人推荐)
我们为 Windows 用户制作了一个快速启动包,可以在 [Release](https://github.com/lss233/chatgpt-mirai-qq-bot/releases) 中找到。
文件名为:`quickstart-windows-go-cqhttp-amd64.zip`(推荐) 或者 `quickstart-windows-mirai-amd64.zip`
Mac: 快速部署包 (自带 Mirai,新人推荐)
Windows快速部署包Mac用户也可以使用,@magisk317 已测试通过,功能基本都正常
不过,需要注意的是,如果需要使用图片模式,由于`wkhtmltoimage.exe`在Mac上无法运行,可以使用`wkhtmltopdf`代替,安装命令:
```
brew install --cask wkhtmltopdf
```
brew的安装及使用方法详见:[链接](https://brew.sh/index_zh-cn)手动部署
提示:你需要 Python >= 3.11 才能运行本项目
1. 部署 Mirai ,安装 mirai-http-api 插件。
2. 下载本项目:
```bash
git clone https://github.com/lss233/chatgpt-mirai-qq-bot
cd chatgpt-mirai-qq-bot
pip3 install -r requirements.txt
```3. 参照项目文档调整配置文件。
4. 启动 bot.
```bash
python3 bot.py
```**[广告] 免费 OpenAI API Key**
你可以在[这里获取免费的 OpenAI API Key](https://freeopenai.xyz/) 测试使用。
## 🕸 HTTP API在 `config.cfg` 中加入以下配置后,将额外提供 HTTP API 支持。
```toml
[http]
# 填写提供服务的端口
host = "0.0.0.0"
port = 8080
debug = false
```
启动后将提供以下接口:**POST** `/v1/chat`
**请求参数**
|参数名|必选|类型|说明|
|:---|:---|:---|:---|
|session_id| 是 | String |会话ID,默认:`friend-default_session`|
|username| 是 | String |用户名,默认:`某人`|
|message| 是 | String |消息,不能为空|**请求示例**
```json
{
"session_id": "friend-123456",
"username": "testuser",
"message": "ping"
}
```
**响应格式**
|参数名|类型|说明|
|:---|:---|:---|
|result| String |SUCESS,DONE,FAILED|
|message| String[] |文本返回,支持多段返回|
|voice| String[] |音频返回,支持多个音频的base64编码;参考:data:audio/mpeg;base64,,iVBORw0KGgoAAAANS...|
|image| String[] |图片返回,支持多个图片的base64编码;参考:data:image/png;base64,UhEUgAAAgAAAAIACAIA...|**响应示例**
```json
{
"result": "DONE",
"message": ["pong!"],
"voice": [],
"image": []
}
```**POST** `/v2/chat`
**请求参数**
|参数名|必选|类型|说明|
|:---|:---|:---|:---|
|session_id| 是 | String |会话ID,默认:`friend-default_session`|
|username| 是 | String |用户名,默认:`某人`|
|message| 是 | String |消息,不能为空|**请求示例**
```json
{
"session_id": "friend-123456",
"username": "testuser",
"message": "ping"
}
```* 请注意,`session_id`请采用规范格式。其格式为`friend-`(好友)或`group-`(群组)加字符串
示例
```
friend-R6sxRvblulTZqNC
group-M3jpvxv26mKVM
```如果不能正确继续是好友还是群组,将一律按照群组处理
**响应格式**
字符串:request_id**响应示例**
```
1681525479905
```* 请注意,返回的内容可能会带有引号。请去除引号。(包括 `"` 和 `'` )
```
'1681525479905'
```**GET** `/v2/chat/response`
**请求参数**
|参数名|必选|类型|说明|
|:---|:---|:---|:---|
|request_id| 是 | String |请求id,/v2/chat返回的值|**请求示例**
```
/v2/chat/response?request_id=1681525479905
```
* 请注意,request_id不能带有引号(包括 `"` 和 `'` )。
下列为错误示范
```
/v2/chat/response?request_id='1681525479905'
```
```
/v2/chat/response?request_id="1681525479905"
```
```
/v2/chat/response?request_id='1681525479905"
```
```
/v2/chat/response?request_id="1681525479905'
```**响应格式**
|参数名|类型|说明|
|:---|:---|:---|
|result| String |SUCESS,DONE,FAILED|
|message| String[] |文本返回,支持多段返回|
|voice| String[] |音频返回,支持多个音频的base64编码;参考:data:audio/mpeg;base64,,iVBORw0KGgoAAAANS...|
|image| String[] |图片返回,支持多个图片的base64编码;参考:data:image/png;base64,UhEUgAAAgAAAAIACAIA...|* 每次请求返回增量并清空。DONE、FAILED之后没有更多返回。
**响应示例**
```json
{
"result": "DONE",
"message": ["pong!"],
"voice": ["data:audio/mpeg;base64,iVBORw0KGgoAAAANS..."],
"image": ["data:image/png;base64,UhEUgAAAgAAAAIACAIA...", "data:image/png;base64,UhEUgAAAgAAAAIACAIA..."]
}
```
* 请注意,当返回 `SUCCESS`的时候表示等待
```json
{"result": "SUCCESS", "message": [], "voice": [], "image": []}
```
* 请注意,可能有多条`DONE`,请一直请求,直到出现`FAILED`。`FAILED`表示回复完毕。
```json
{"result": "FAILED", "message": ["\u6ca1\u6709\u66f4\u591a\u4e86\uff01"], "voice": [], "image": []}
```
* 请注意`DONE`和`FAILED`之间可能会穿插`SUCCESS`。整个回复周期可能会大于一分钟。## 🦊 加载预设
如果你想让机器人自动带上某种聊天风格,可以使用预设功能。
我们自带了 `猫娘` 和 `正常` 两种预设,你可以在 `presets` 文件夹下了解预设的写法。
使用 `加载预设 猫娘` 来加载猫娘预设。
下面是一些预设的小视频,你可以看看效果:
* MOSS: https://www.bilibili.com/video/av309604568
* 丁真:https://www.bilibili.com/video/av267013053
* 小黑子:https://www.bilibili.com/video/av309604568
* 高启强:https://www.bilibili.com/video/av779555493关于预设系统的详细教程:[Wiki](https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/%F0%9F%90%B1-%E9%A2%84%E8%AE%BE%E7%B3%BB%E7%BB%9F)
你可以在 [Awesome ChatGPT QQ Presets](https://github.com/lss233/awesome-chatgpt-qq-presets/tree/master) 获取由大家分享的预设。
你也可以参考 [Awesome-ChatGPT-prompts-ZH_CN](https://github.com/L1Xu4n/Awesome-ChatGPT-prompts-ZH_CN) 来调教你的 ChatGPT,还可以参考 [Awesome ChatGPT Prompts](https://github.com/f/awesome-chatgpt-prompts) 来解锁更多技能。
## 📷 文字转图片
在发送代码或者向 QQ 群发送消息失败时,自动将消息转为图片发送。
字体文件存放于 `fonts/` 目录中。
默认使用的字体是 [更纱黑体](https://github.com/be5invis/Sarasa-Gothic)。
## 🎙 文字转语音
自 v2.2.5 开始,我们支持接入微软的 Azure 引擎 和 VITS 引擎,让你的机器人发送语音。
**提示**:在 Windows 平台上使用语音功能需要安装最新的 VC 运行库,你可以在[这里](https://learn.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist?view=msvc-170)下载。`
## 🎈 相似项目
如果你自己也有做机器人的想法,可以看看下面这些项目:
- [Ariadne](https://github.com/GraiaProject/Ariadne) - 一个优雅且完备的 Python QQ 机器人框架 (主要是这个 !!!)
- [mirai-api-http](https://github.com/project-mirai/mirai-api-http) - 提供HTTP API供所有语言使用 mirai QQ 机器人
- [Reverse Engineered ChatGPT by OpenAI](https://github.com/acheong08/ChatGPT) - 非官方 ChatGPT Python 支持库本项目基于以上项目开发,所以你可以给他们也点个 star !
除了我们以外,还有这些很出色的项目:
* [LlmKira / Openaibot](https://github.com/LlmKira/Openaibot) - 全平台,多模态理解的 OpenAI 机器人
* [RockChinQ / QChatGPT](https://github.com/RockChinQ/QChatGPT) - 基于 OpenAI 官方 API, 使用 GPT-3 的 QQ 机器人
* [fuergaosi233 / wechat-chatgpt](https://github.com/fuergaosi233/wechat-chatgpt) - 在微信上迅速接入 ChatGPT## 🛠 贡献者名单
欢迎提出新的点子、 Pull Request。
Made with [contrib.rocks](https://contrib.rocks).
## 💪 支持我们
如果我们这个项目对你有所帮助,请给我们一颗 ⭐️