/chatgpt-mirai-qq-bot

真正的 AI 聊天机器人!支持ChatGPT、文心一言、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord 等平台

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

ChatGPT for Bot

一款支持各种主流语言模型的聊天的机器人!

查看使用教程 »

Github stars Docker build latest Docker Pulls License


  • 交流群(Discord)会发布最新的项目动态、问题答疑和交流 QQ 群
    加群之前先看这里的内容能不能解决你的问题。
    如果不能解决,把遇到的问题、日志和配置文件准备好后再提问。
  • 调试群 这个群里有很多 ChatGPT QQ 机器人,不解答技术问题。

Preview

⚡ 支持

  • 图片发送
  • 关键词触发回复
  • 多账号支持
  • 百度云内容审核
  • 额度限制
  • 预设人格初
  • 支持 Mirai、 go-cqhttp、 Telegram、Discord
  • 可作为 HTTP 服务端提供 Web API
  • 支持 ChatGPT 网页版
  • 支持 ChatGPT Plus
  • 支持 ChatGPT API
  • 支持 Bing 聊天
  • 支持 Google bard
  • 支持 poe.com 网页版
  • 支持 文心一言 网页版
  • 支持 ChatGLM-6B 本地版

多平台兼容

我们支持多种聊天平台。

平台 群聊回复 私聊回复 条件触发 管理员指令 绘图 语音回复
Mirai 支持 支持 支持 支持 支持 支持
OneBot 支持 支持 支持 支持 支持 支持
Telegram 支持 支持 部分支持 部分支持 支持 支持
Discord 支持 支持 部分支持 不支持 支持 支持

🐎 命令

你可以在 Wiki 了解机器人的内部命令。

🔧 搭建

如果你是手机党,可以看这个纯用手机的部署教程(使用 Linux 服务器):https://www.bilibili.com/video/av949514538

Linux: 通过快速部署脚本部署 (新人推荐) 执行下面这行命令启动自动部署脚本。 它会为你安装 Docker、 Docker Compose 和编写配置文件。
bash -c "$(curl -fsSL https://gist.githubusercontent.com/lss233/54f0f794f2157665768b1bdcbed837fd/raw/chatgpt-mirai-installer-154-16RC3.sh)"
Linux: 通过 Docker Compose 部署 (自带 Mirai) 我们使用 `docker-compose.yaml` 整合了 [lss233/mirai-http](https://github.com/lss233/mirai-http-docker) 和本项目来实现快速部署。 但是在部署过程中仍然需要一些步骤来进行配置。

你可以在 Wiki 查看搭建教程。

Linux: 通过 Docker 部署 (适合已经有 Mirai 的用户)
  1. 找个合适的位置,写你的 config.cfg

  2. 执行以下命令,启动 bot:

# 修改 /path/to/config.cfg 为你 config.cfg 的位置
# XPRA_PASSWORD=123456 中的 123456 是你的 Xpra 密码,建议修改
docker run --name mirai-chatgpt-bot \
    -e XPRA_PASSWORD=123456 \
    -v /path/to/config.cfg:/app/config.cfg \
    --network host \
    lss233/chatgpt-mirai-qq-bot:browser-version
  1. 启动后,在浏览器访问 http://你的服务器IP:14500 可以访问到登录 ChatGPT 的浏览器页面
Windows: 快速部署包 (自带 Mirai,新人推荐)

我们为 Windows 用户制作了一个快速启动包,可以在 Release 中找到。

文件名为:quickstart-windows-amd64.zip 或者 Windows快速部署包.zip

Mac: 快速部署包 (自带 Mirai,新人推荐)

Windows快速部署包Mac用户也可以使用,@magisk317 已测试通过,功能基本都正常 不过,需要注意的是,如果需要使用图片模式,由于wkhtmltoimage.exe在Mac上无法运行,可以使用wkhtmltopdf代替,安装命令:

brew install --cask wkhtmltopdf

brew的安装及使用方法详见:链接

手动部署

提示:你需要 Python >= 3.11 才能运行本项目

  1. 部署 Mirai ,安装 mirai-http-api 插件。

  2. 下载本项目:

git clone https://github.com/lss233/chatgpt-mirai-qq-bot
cd chatgpt-mirai-qq-bot
pip3 install -r requirements.txt
  1. 参照项目文档调整配置文件。

  2. 启动 bot.

python3 bot.py

🕸 HTTP API

config.cfg 中加入以下配置后,将额外提供http支持:

[http]
# 填写提供服务的端口
host = "0.0.0.0"
port = 8080
debug = false

启动后将提供以下接口:

POST /v1/chat

请求参数

参数名 必选 类型 说明
session_id String 会话ID,默认:friend-default_session
username String 用户名,默认:某人
message String 消息,不能为空

请求示例

{
    "session_id": "friend-123456",
    "username": "testuser",
    "message": "ping"
}

响应

参数名 类型 说明
message String 返回信息,HTML 格式
响应示例
{
    "message": "pong!"
}

🦊 加载预设

如果你想让机器人自动带上某种聊天风格,可以使用预设功能。

我们自带了 猫娘正常 两种预设,你可以在 presets 文件夹下了解预设的写法。

使用 加载预设 猫娘 来加载猫娘预设。

下面是一些预设的小视频,你可以看看效果:

关于预设系统的详细教程:Wiki

你可以在 Awesome ChatGPT QQ Presets 获取由大家分享的预设。

你也可以参考 Awesome-ChatGPT-prompts-ZH_CN 来调教你的 ChatGPT,还可以参考 Awesome ChatGPT Prompts 来解锁更多技能。

📷 文字转图片

向 QQ 群发送消息失败时,自动将消息转为图片发送。

字体文件存放于 fonts/ 目录中。

默认使用的字体是 更纱黑体

🎙 文字转语音

自 v2.2.5 开始,我们支持文字转语音功能。

目前仅支持 Azure TTS 引擎提供的文字转语音服务。

你只需要在配置文件中填写 azure 的 tts_speech_keytts_speech_service_region

然后将 text_to_speech 中的 always 设置成 true,或者通过预设、切换语音命令来开启语音功能。

提示:在 Windows 平台上使用语音功能需要安装最新的 VC 运行库,你可以在这里下载。`

🎈 相似项目

如果你自己也有做机器人的想法,可以看看下面这些项目:

本项目基于以上项目开发,所以你可以给他们也点个 star !

除了我们以外,还有这些很出色的项目:

🛠 贡献者名单

欢迎提出新的点子、 Pull Request。

Made with contrib.rocks.

💪 支持我们

如果我们这个项目对你有所帮助,请给我们一颗 ⭐️