2023-04-06 15:07:25 +08:00
|
|
|
|
QChatGPT 插件使用Wiki
|
|
|
|
|
|
|
|
|
|
## 简介
|
|
|
|
|
|
|
|
|
|
`plugins`目录下的所有`.py`程序都将被加载,除了`__init__.py`之外的模块支持热加载
|
|
|
|
|
|
2023-08-30 16:34:03 +08:00
|
|
|
|
> 插件分为`行为插件`和`内容插件`两种,行为插件由主程序运行中的事件驱动,内容插件由GPT生成的内容驱动,请查看内容插件页
|
|
|
|
|
> 已有插件列表:[QChatGPT 插件](https://github.com/stars/RockChinQ/lists/qchatgpt-%E6%8F%92%E4%BB%B6)
|
2023-07-29 19:24:56 +08:00
|
|
|
|
|
2023-04-06 15:07:25 +08:00
|
|
|
|
## 安装
|
|
|
|
|
|
|
|
|
|
### 储存库克隆(推荐)
|
|
|
|
|
|
|
|
|
|
在运行期间,使用管理员账号对机器人私聊发送`!plugin get <Git储存库地址>`即可自动获取源码并安装插件,程序会根据仓库中的`requirements.txt`文件自动安装依赖库
|
|
|
|
|
|
|
|
|
|
例如安装`hello_plugin`插件
|
|
|
|
|
```
|
|
|
|
|
!plugin get https://github.com/RockChinQ/hello_plugin
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
安装完成后重启程序或使用管理员账号私聊机器人发送`!reload`进行热重载加载插件
|
|
|
|
|
|
|
|
|
|
### 手动安装
|
|
|
|
|
|
|
|
|
|
将获取到的插件程序放置到`plugins`目录下,具体使用方式请查看各插件文档或咨询其开发者。
|
|
|
|
|
|
|
|
|
|
## 管理
|
|
|
|
|
|
2023-05-14 18:44:14 +08:00
|
|
|
|
### !plugin 命令
|
2023-04-06 15:07:25 +08:00
|
|
|
|
|
|
|
|
|
```
|
2023-05-14 18:44:14 +08:00
|
|
|
|
!plugin 列出所有已安装的插件
|
2023-04-06 15:07:25 +08:00
|
|
|
|
!plugin get <储存库地址> 从Git储存库安装插件(需要管理员权限)
|
2023-05-14 18:44:14 +08:00
|
|
|
|
!plugin update all 更新所有插件(需要管理员权限,仅支持从储存库安装的插件)
|
|
|
|
|
!plugin update <插件名> 更新指定插件
|
|
|
|
|
!plugin del <插件名> 删除插件(需要管理员权限)
|
|
|
|
|
!plugin on <插件名> 启用插件(需要管理员权限)
|
|
|
|
|
!plugin off <插件名> 禁用插件(需要管理员权限)
|
2023-07-29 18:37:03 +08:00
|
|
|
|
|
|
|
|
|
!func 列出所有内容函数
|
2023-04-06 15:07:25 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 控制插件执行顺序
|
|
|
|
|
|
|
|
|
|
可以通过修改`plugins/settings.json`中`order`字段中每个插件名称的前后顺序,以更改插件**初始化**和**事件执行**顺序
|
|
|
|
|
|
|
|
|
|
### 启用或关闭插件
|
|
|
|
|
|
|
|
|
|
无需卸载即可管理插件的开关
|
2023-07-29 18:40:49 +08:00
|
|
|
|
编辑`plugins`目录下的`switch.json`文件,将相应的插件的`enabled`字段设置为`true/false(开/关)`,之后重启程序或执行热重载即可控制插件开关
|
|
|
|
|
|
|
|
|
|
### 控制全局内容函数开关
|
|
|
|
|
|
|
|
|
|
内容函数是基于[GPT的Function Calling能力](https://platform.openai.com/docs/guides/gpt/function-calling)实现的,这是一种嵌入对话中,由GPT自动调用的函数。
|
|
|
|
|
每个插件可以自行注册内容函数,您可以在`plugins`目录下的`settings.json`中设置`functions`下的`enabled`为`true`或`false`控制这些内容函数的启用或禁用。
|