# 插件管理

炸毛框架内置了插件管理功能。借助插件管理功能,你可以下载、管理、开发插件。 插件像搭建积木一样快速构建自己的应用,在插件市场内的插件数量足够多的时候,你甚至可以不写任何一行代码来构建自己的应用。 例如,引入机器人群管、机器人问答、对接 GPT 等 API 接口,也可以自己开发一个插件,发布到插件市场或 Composer。

# GitHub 插件下载

你可以到 插件市场 下载并安装你心仪的插件,这些插件大部分为 OneBot 机器人适用的聊天机器人功能类插件。

在安装框架后,可以使用 ./zhamao plugin:install https://github.com/xxx/yyy.git 样式的链接安装 GitHub 发布的插件。

这里以官方插件一言为例子:

./zhamao plugin:install https://github.com/awesome-zhamao/hitokoto.git
1

在短暂等待后,出现 插件 zhamao-plugin/hitokoto 安装成功! 的字样,即表示插件 hitokoto 安装成功。

使用框架的安装命令安装插件均会使用 Composer 进行管理,例如上方在使用 plugin:install 命令传入了 GitHub 仓库地址后, 根据对应外部插件的 composer.json 获取插件名称。

如果从 GitHub 下载插件时候提示你的 API 接口被限制速率,例如请求返回了非 200 的状态码,先需要到 GitHub 个人设置页面申请一个 Classic Token。 然后使用命令参数 --github-token=XXXXXXXXXXXXXX,XXX替换为你的 Token 值,例如:

./zhamao plugin:install https://github.com/awesome-zhamao/hitokoto.git --github-token=fergv3w4t34tcx3w4tw45hw64
1

# Composer 插件下载

一般情况下,普通小插件可以使用 GitHub 仓库进行发布,如果你对插件的使用者体验比较在意,这里更推荐开发者将插件发布到 packagist.org。 发布到 packagist.org 的插件我们称之为 Composer 插件,与 GitHub 插件不同的是,Composer 插件仅需使用 xxx/yyy 名称直接安装。

这里还以官方的一言插件为例,如果使用 Composer 插件安装方式,使用命令:

./zhamao plugin:install zhamao-plugin/hitokoto
1

这里如果安装的是发布到 Composer 的插件,效果与 composer require zhamao-plugin/hitokoto 是一样的。

# 插件卸载

如果你想移除某个从 Git、Composer 安装的炸毛框架插件,可以使用命令 plugin:remove(在 3.1.7 版本后可用):

./zhamao plugin:remove zhamao-plugin/hitokoto
1

需要注意的是,这里只能用插件名称,不可以使用插件的 Git 仓库链接、插件文件夹等。

# 插件列表展示

使用命令 plugin:list 可以查看当前框架安装了哪些插件,包含 Phar 插件、开发的插件、Composer 插件。

./zhamao plugin:list
1

你也可以使用参数 --name-list 来获取一个只有名称的插件列表:

./zhamao plugin:list --name-list
1