🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台
AGPL-3.0 License
⚡ 支持
🤖 多平台兼容
我们支持多种聊天平台。
平台 | 群聊回复 | 私聊回复 | 条件触发 | 管理员指令 | 绘图 | 语音回复 |
---|---|---|---|---|---|---|
Mirai | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
OneBot | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
Telegram | 支持 | 支持 | 部分支持 | 部分支持 | 支持 | 支持 |
Discord | 支持 | 支持 | 部分支持 | 不支持 | 支持 | 支持 |
企业微信 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
个人微信 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
你可以在 Wiki 了解机器人的内部命令。
如果你是手机党,可以看这个纯用手机的部署教程(使用 Linux 服务器):https://www.bilibili.com/video/av949514538
bash -c "$(wget -O- https://gist.githubusercontent.com/B17w153/f77c2726c4eca4e05b488f9af58823a5/raw/4410356eba091d3259c48506fb68112e68db729b/install_bot_aidlux.sh)"
bash -c "$(wget -O- https://gist.githubusercontent.com/lss233/2fdd75be3f0724739368d0dcd9d1367d/raw/62a790da4a391af096074b3355c2c2b7ecab3c28/chatgpt-mirai-installer-gocqhttp.sh)"
你可以在 Wiki 查看搭建教程。
找个合适的位置,写你的 config.cfg
。
执行以下命令,启动 bot:
# 修改 /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 用户制作了一个快速启动包,可以在 Release 中找到。
文件名为:quickstart-windows-go-cqhttp-amd64.zip
(推荐) 或者 quickstart-windows-mirai-amd64.zip
Windows快速部署包Mac用户也可以使用,@magisk317 已测试通过,功能基本都正常
不过,需要注意的是,如果需要使用图片模式,由于wkhtmltoimage.exe
在Mac上无法运行,可以使用wkhtmltopdf
代替,安装命令:
brew install --cask wkhtmltopdf
brew的安装及使用方法详见:链接
提示:你需要 Python >= 3.11 才能运行本项目
部署 Mirai ,安装 mirai-http-api 插件。
下载本项目:
git clone https://github.com/lss233/chatgpt-mirai-qq-bot
cd chatgpt-mirai-qq-bot
pip3 install -r requirements.txt
参照项目文档调整配置文件。
启动 bot.
python3 bot.py
[广告] 免费 OpenAI API Key 你可以在这里获取免费的 OpenAI API Key 测试使用。
[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"
}
响应格式
参数名 | 类型 | 说明 |
---|---|---|
result | String | SUCESS,DONE,FAILED |
message | String[] | 文本返回,支持多段返回 |
voice | String[] | 音频返回,支持多个音频的base64编码;参考:data:audio/mpeg;base64,,iVBORw0KGgoAAAANS... |
image | String[] | 图片返回,支持多个图片的base64编码;参考:data:image/png;base64,UhEUgAAAgAAAAIACAIA... |
响应示例
{
"result": "DONE",
"message": ["pong!"],
"voice": [],
"image": []
}
POST /v2/chat
请求参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
session_id | 是 | String | 会话ID,默认:friend-default_session
|
username | 是 | String | 用户名,默认:某人
|
message | 是 | String | 消息,不能为空 |
请求示例
{
"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
"
和 '
)。/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... |
响应示例
{
"result": "DONE",
"message": ["pong!"],
"voice": ["data:audio/mpeg;base64,iVBORw0KGgoAAAANS..."],
"image": ["data:image/png;base64,UhEUgAAAgAAAAIACAIA...", "data:image/png;base64,UhEUgAAAgAAAAIACAIA..."]
}
SUCCESS
的时候表示等待{"result": "SUCCESS", "message": [], "voice": [], "image": []}
DONE
,请一直请求,直到出现FAILED
。FAILED
表示回复完毕。{"result": "FAILED", "message": ["\u6ca1\u6709\u66f4\u591a\u4e86\uff01"], "voice": [], "image": []}
DONE
和FAILED
之间可能会穿插SUCCESS
。整个回复周期可能会大于一分钟。如果你想让机器人自动带上某种聊天风格,可以使用预设功能。
我们自带了 猫娘
和 正常
两种预设,你可以在 presets
文件夹下了解预设的写法。
使用 加载预设 猫娘
来加载猫娘预设。
下面是一些预设的小视频,你可以看看效果:
关于预设系统的详细教程:Wiki
你可以在 Awesome ChatGPT QQ Presets 获取由大家分享的预设。
你也可以参考 Awesome-ChatGPT-prompts-ZH_CN 来调教你的 ChatGPT,还可以参考 Awesome ChatGPT Prompts 来解锁更多技能。
在发送代码或者向 QQ 群发送消息失败时,自动将消息转为图片发送。
字体文件存放于 fonts/
目录中。
默认使用的字体是 更纱黑体。
自 v2.2.5 开始,我们支持接入微软的 Azure 引擎 和 VITS 引擎,让你的机器人发送语音。
提示:在 Windows 平台上使用语音功能需要安装最新的 VC 运行库,你可以在这里下载。`
如果你自己也有做机器人的想法,可以看看下面这些项目:
本项目基于以上项目开发,所以你可以给他们也点个 star !
除了我们以外,还有这些很出色的项目:
欢迎提出新的点子、 Pull Request。
Made with contrib.rocks.
如果我们这个项目对你有所帮助,请给我们一颗 ⭐️