Skip to content

127Wzc/chatgpt-plugin

 
 

Repository files navigation

简介:

  • 最完善的戳一戳功能,整合数十种api
  • 最清晰的Vits语音,支持中日英三语发音(感谢genshinvoice.top提供的api支持!)
  • 让机器人更真实地 cos 任意角色
  • 新增一些小玩意

欢迎加入交流群共同讨论 2857443281022982073

更新记录:

  • vit2语音源新增Bert-VITS2源(感谢genshinvoice.top提供的api支持!)
  • 新增戳一戳
  • 更新日志:
  • 2024年3月31日更新了碧蓝档案角色语音,并将自动转日语输出。
  • 2024年5月15日vits源新增Fish-VITS2模型,详细在锅巴中设置(感谢firefly.matce.cn提供的api支持!)
  • 2024年6月1日新增对话使用gemini的图片识图,详细在锅巴中设置
  • 2024年7月7日新增更多Fish-VITS2的支持(感谢fish.audio提供的api支持!)
  • 2024年7月8日新增小玩意:Ai智能调用画图插件(prompt模式)
  • 2024年7月9日对话白名单的逻辑改为使用喵崽配置管理的白名单群逻辑;
  • 2024年8月1日,还是 huggingface vits-uma 好啊
  • 2024年8月22日,新增功能:分多次回复
  • 2024年10月11日,重新接入FISH API
  • 2024年10月21日,tts接入海螺
  • 2024年11月11日,tts接入 ai_hobbyist ,大感谢!
  • 2025年2月22日,tts接入 hf_Bert-VITS2
  • 2025年3月7日,重构函数,智能模式绘图和prompt模式绘图时,支持切换 nai插件、ap插件、sf插件
  • 2025年5月5日,修复了原版v2结束对话的时候没有清空历史对话导致数据库越来越大(都占用redis内存数据库到1GB了...),现在发送 #结束全部对话 后将彻底清空对话记录
  • 2025年5月15日,增加自动偷取发送表情包功能、自动复读和打断复读 已将功能转移到 SF-插件
  • 2025年10月11日,智能模式搜索来源增加 Gemini搜索搜图工具 接口改为 百度公开搜图API
  • 2025年11月22日,优化算法:智能模式中-Bot可以根据人设 对对话者 修改群名片、禁言、设置头衔(而不会误伤)了; 新增强制移除CQ码
  • 2025年12月2日,智能模式中增加 根据情绪发送表情 Pixiv搜图 AI短暂拉黑群友 科学计算 at/戳一戳群友 等工具
  • 2025年12月12日,智能模式中增加 #我的记忆 #群记忆 #记忆帮助 智能贴表情
  • 2026年2月22日,增加 CQ码At群友 对话速率限制 ;智能模式中增加 定时任务工具 图片/视频内容识别

小玩意:

  • 戳一戳功能
    • 整合#chatgpt设置AI第一人称 和锅巴控制
    • 最完善的戳一戳功能,整合数十种api
    • 反戳 功能需要适配器支持Napcat语法,推荐使用 呆毛版的Trss-Onebot适配器
  • 自动偷取发送表情包功能、自动复读和打断复读 已将功能转移到 SF-插件
    • 在锅巴开启关闭
  • AI会回应包含其第一人称的消息
    • 在锅巴开启关闭
  • Ai智能调用画图插件:
    • 自动使用nai插件、ap插件、sf插件的画图,用法:锅巴内开启后直接告知Bot你想要画画的内容,需要先安装nai插件/ap插件/sf插件,具体请查阅锅巴设置

命令 #tts语音帮助:

  • #tts帮助
  • #tts帮助pro
  • #tts查看当前语音设置
  • #chatgpt查看回复设置
  • #chatgpt(图片|语音)模式
  • #tts删除所有用户回复设置帮助
  • #tts可选人物列表
  • #tts语言设置帮助
  • #tts语音转日语帮助
  • #chatgpt设置AI第一人称帮助
  • #chatgpt(查看|设置)输出黑名单
  • #chatgpt(查看|设置)输入黑名单
  • #chatgpt必应(开启|关闭)搜索

安装方法

方法一 常规安装

git clone --depth=1 https://github.com/misaka20002/chatgpt-plugin.git ./plugins/chatgpt-plugin/
# 或使用 Git 代理:
# git clone --depth=1 https://ghfast.top/https://github.com/misaka20002/chatgpt-plugin.git ./plugins/chatgpt-plugin/
cd plugins/chatgpt-plugin
pnpm i

方法二 切换原仓库版本到本仓库

cd plugins/chatgpt-plugin
git remote set-url origin https://github.com/misaka20002/chatgpt-plugin.git
# 或使用 Git 代理:
# git remote set-url origin https://ghfast.top/https://github.com/misaka20002/chatgpt-plugin.git
git fetch --all
git reset --hard origin/main
pnpm i

预览:


云崽系机器人的智能聊天插件

由于相关领域发展快速,迭代较多,本文档有部分过时内容,不确定的问题可以开discussion或加群问群里的大佬们哦

插件大幅重构中,v2分支仅做最低程度维护。

v3分支已基本可用,相比v2分支针对日益新增的大模型API进行了全面适配,并大幅增加了定制化Bot的能力。

Karin用户可以使用本插件的karin版

推荐的相关文档和参考资料

本README 手册 文档1(建设中) 插件常见问题(鹤望兰版) Yunzai常见问题(LUCK小运版) 憨憨博客

特点

  • 支持单人连续对话Conversation
  • API模式下,使用 gpt-3.5-turbo 或 gpt-4 API,仅需OpenAI Api Key,开箱即用。注意收费
  • 支持问答图片截图和聊天记录导出
  • 支持AI性格调教,角色扮演强烈推荐Bing自定义模式
  • 支持对接vits和Azure等回答直接转语音
  • API3模式下,绕过Cloudflare防护直接访问ChatGPT的SSE API,与官方体验一致,且保留对话记录,在官网可查。免费。
  • (已不再维护)提供基于浏览器的解决方案作为备选,API3不可用的情况下或担心账户安全的用户可以选择使用浏览器模式。
  • 支持新必应(token负载均衡,限流降级)
  • 2023-03-15 API3支持GPT-4尝鲜,需要Plus用户(疑似被官方阻断暂不支持api3的gpt4)
  • 支持ChatGLM模型。基于自建API
  • 2023-04-15 支持Claude by Slack和Poe(WIP)。Claude配置参考这里
  • 2023-05-12 支持星火大模型
  • 2023-05-29 支持gpt-4 API.必应无需cookie即可对话(Sydney和自定义模式)
  • 2023-07 支持智能模式,机器人可以实现禁言、群名片/头衔(需给机器人管理员/群主)、分享音乐视频、主动发音频、对接ap,sr和喵喵等插件、联网搜索等,需api模式0613系列模型。智能模式所需的额外api和搜索api分别可以参考chatgpt-plugin-extrassearch-api 自行搭建,其中后者提供了一个公益版本,前者可使用huggingface部署
  • 2023-09-10 支持来自claude.ai的claude-2模型
  • 2023-10-19 支持读取文件,(目前适配必应模式和Claude2模式)
  • 2023-10-25 增加支持通义千问官方API
  • 2023-12-01 持续优先适配Shamrock
  • 2023-12-14 增加支持Gemini 官方API
  • 2024 支持伪人模式(本插件中也称为bym模式)。现已支持大部分模型,随机群内触发聊天,频率可控,可自定义设定。
  • 2025-02-03 支持Deepseek R1等思考模型的思考内容输出,默认通过伪造转发发送,直接使用api模式即可体验。

如果觉得这个插件有趣或者对你有帮助,请点一个star吧!

版本要求

Node.js >= 18 / Node.js >= 14(with node-fetch) 小白尽可能使用18版本以上的nodejs

安装与使用方法

安装

  1. 进入 Yunzai根目录

  2. 请将 chatgpt-plugin 放置在 Yunzai-Bot 的 plugins 目录下

推荐使用 git 进行安装,以方便后续升级。在 Yunzai-Bot 根目录夹打开终端,运行下述指令进行安装

# github源
git clone --depth=1 https://github.com/misaka20002/chatgpt-plugin.git ./plugins/chatgpt-plugin/

# 以上二选一后执行下面步骤进入目录安装依赖
cd plugins/chatgpt-plugin
pnpm i

如果是手工下载的 zip 压缩包,请将解压后的 chatgpt-plugin 文件夹(请删除压缩自带的-master或版本号后缀)放置在 Yunzai-Bot 目录下的 plugins 文件夹内

  1. 修改配置 本插件配置项比较多,强烈建议使用后台工具箱或锅巴面板修改

    或者创建和编辑config/config.json文件。

  2. 后台面板使用 初次使用请先私聊机器人 #设置管理密码 进登录密码设置 私聊 #chatgpt系统管理 后机器人会回复系统管理页面网址,在此网址输入机器人QQ号和刚刚设置的管理密码点击登录即可进入后台管理系统 如果忘记密码,再次私聊输入 #设置管理密码 后可重新设置密码

    用户同样可私聊机器人 #设置用户密码 进行账号注册和密码设置 用户设置密码后,所有聊天信息将记录在用户缓存数据下,同时用户可通过私聊机器人 #chatgpt用户配置 登录后台用户配置面板,查看自己的聊天数据和自定义机器人对自己的回复参数

    如果后台面板访问出现 time out 请检查机器人启动时是否有报错,服务器端口是否开放,可尝试ping一下服务器ip看能否直接ping通。

  3. 重启Yunzai-Bot 如通过后台面板或锅巴面板升级可以热加载,无需重启。


相关配置

配置文件相关

配置文件位置:plugins/chatgpt-plugin/config/config.json

部分关键配置项,其他请参照文件内注释:

名称 含义 解释
proxy 代理地址 请在此处配置你的代理,例如http://127.0.0.1:7890
apiKey openai账号的API Key 获取地址:https://platform.openai.com/account/api-keys

Token相关

与Token相关的设置需在qq与机器人对话设置,设置后方可使用对应的api

名称 含义 解释 设置方式
ChatGPT AccessToken ChatGPT登录后的Token 具体解释见下方 #chatgpt设置token
必应token 必应登录后的Token 必应(Bing)将调用微软必应AI接口进行对话。不填写token对话上限为5句,填写后为20句。无论填写与否插件都会无限续杯。 #chatgpt设置必应token/#chatgpt删除必应token/#chatgpt查看必应token

我没有注册openai账号?如何获取

您可以按照以下方法获取openai账号

进入https://chat.openai.com/ ,选择signup注册。目前openai不对包括俄罗斯、乌克兰、伊朗、中国等国家和地区提供服务,所以自行寻找办法使用其他国家和地区的ip登录。此外,注册可能需要验证所在国家和地区的手机号码,如果没有国外手机号可以试试解码网站,收费的推荐https://sms-activate.org/

我有openai账号了,如何获取API key和Access Token?

  • 获取API key

  • 获取Access Token

    • 登录后访问https://chat.openai.com/api/auth/session
    • 您会获得类似如下一串json字符串{"user":{"id":"AAA","name":"BBB","email":"CCC","image":"DDD","picture":"EEE","groups":[]},"expires":"FFF","accessToken":"XXX"}
    • 其中的XXX即为ChatGPT AccessToken
    • 如果是空的{},说明没有登录,要登录chatgpt而不是openai。

ChatGPT AccessToken 设置了有什么用?我为什么用不了API模式

  • 部分API需要在和机器人的聊天里输入#chatgpt设置token才可以使用

我有新必应的测试资格了,如何获取必应Token?

2023/05/29 无需登录也可以使用了,要求不高可以不填

  1. JS一键获取

登录www.bing.com,刷新一下网页,按F12或直接打开开发者模式,点击Console/控制台,运行如下代码,执行后即在您的剪切板存储了必应Token

copy(document.cookie.split(";").find(cookie=>cookie.trim().startsWith("_U=")).split("=")[1]);
  1. 手动获取

登录www.bing.com,刷新一下网页,按F12或直接打开开发者模式,点击Application/存储,点击左侧Storage下的Cookies,展开找到https://www.bing.com 项,在右侧列表Name项下找到"_U",_U的value即为必应Token

其他问题可以参考使用的api库 https://github.com/transitive-bullshit/chatgpt-api 以及 https://github.com/waylaidwanderer/node-chatgpt-api

使用方法

根据配置文件中的toggleMode决定联通方式。

  • at模式:@机器人 发送聊内容即可

  • prefix模式:【#chat+问题】,本模式可以避免指令冲突。

发挥你的想象力吧,调教拟造出你自己的机器人风格!

文本/图片回复模式

#chatgpt文本/图片/语音模式

可以控制机器人回复的方式

对话相关

#chatgpt对话列表

#结束对话 [@某人]

#清空chat队列

#移出chat队列首位

#chatgpt开启/关闭问题确认

...

设置相关

#chatgpt切换浏览器/API/API2/API3/Bing

#chatgpt设置[必应]Token

...

获取帮助

#chatgpt帮助

#chatgpt模式帮助

发送#chatgpt帮助,有更多选项可以配置

如何更新

发送#chatgpt更新指令。如果有冲突,可以使用#chatgpt强制更新。

示例与截图

  • 程序员版

img.png

  • 傲娇版

)T@XYNWXUM S1)D$7%I3H image

TODO

  • V3重构
  • 插件in插件
  • langchain分支完善
  • 游戏机制

其他

常见问题

  1. 如果在linux系统上发现图片模式下emoj无法正常显示,可以搜索安装支持emoj的字体,如Ubuntu可以使用sudo apt install fonts-noto-color-emoji

  2. 我和机器人聊天但没有任何反应怎么办?

    可能是由于Yunzai-bot异常退出等原因造成Redis 队列中有残留的等待问题。使用#清空队列命令清除队列后再试。

  3. Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'xxx'.

    请参照本文档前面的安装依赖部分重新依赖。随着项目更新可能引入新的依赖。

    一般情况下请按照 安装 小节的内容重新安装依赖即可

    最多的问题:载入插件错误:chat

    问题详情:Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'showdown' imported from /app/Yunzai-Bot/plugins/chatgpt-plugin/apps/chat.js

    原因:没装依赖

    解决方式:请参考文档在本插件目录下用pnpm install安装依赖,安装完就不报错了

  4. 反代能自己搭吗?

    能。参考这里

    必应可以用azurecloudflare workers的serverless服务:

    (202307 Cloudflare亡了!)

  5. vit API能本地搭建吗?

    能。克隆下来安装依赖直接运行即可。

  6. 系统后台无法进入怎么办?

    多数情况下是由于服务器未开放3321端口导致,请根据服务器系统和服务器供应商配置,开放3321端口后再试。

交流群

  • QQ 559567232 [问题交流]
  • QQ 126132049 [机器人试验场]

感谢

本项目使用或参考了以下开源项目

本插件的辅助项目

图片以及Bing模式支持 @HalcyonAlcedo

语音vits模型来自于

以及ChatGPT及OpenAI

ChatGLM

赞助

如果觉得本项目好玩或者对你有帮助,愿意的话可以赞助我一口快乐水:

https://afdian.net/a/ikechan8370

贡献者

感谢以下贡献者

Alt

Star History

Star History Chart

工具支持

Jetbrains

JetBrains for Open Source development license

EdgeOne

CDN acceleration and security protection for this project are sponsored by Tencent EdgeOne.

Best Asian CDN, Edge, and Secure Solutions - Tencent EdgeOne

EdgeOne

About

云崽qq机器人的chatgpt插件

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 93.1%
  • TypeScript 4.5%
  • Python 1.1%
  • Other 1.3%