Skip to content

插件 ​

概述 ​

MinaPlay 提供了简单的插件系统,用以拓展 MinaPlay 的基础功能。MinaPlay 插件本质上是一个 NestJS Module,不认识它也没关系,普通用户可以直接使用插件控制台作为插件提供的用户接口。

插件控制台 ​

注意

使用插件控制台需要当前登录用户具有 超级管理员(root) 权限。

插件控制台是 MinaPlay 插件与用户交互的方式。 用户可以像使用控制台一样通过命令文本调用 MinaPlay 插件提供的各项服务,配合 MinaPlay 提供的消息格式构建一个简单的 Shell 终端。

plugin console

通过 MinaPlay 插件系统,用户可以拓展 MinaPlay 的各种功能,并通过插件控制台调用这些插件服务。

内置插件命令 ​

MinaPlay 提供了一些必要的内置插件,用户无需额外下载安装即可使用。 内置插件版本会随着 MinaPlay 更新,无需手动更新。

提示

MinaPlay 中的内置插件可以被禁用,但无法卸载。

help ​

shell
# usage
help                [help] - show commands in MinaPlay plugin console
Usage: help|man [options] [bin]

show commands in MinaPlay plugin console

Options:
  -h, --help  display help for command

基础的帮助插件,用于展示 MinaPlay 中现有的插件命令和命令的具体使用方式。

plugin-manager ​

shell
#usage
pm                  [plugin-manager] - manage plugins in MinaPlay
Usage: pm|plugin-manager [options] [command]

manage plugins in MinaPlay

Options:
  -h, --help                       display help for command

Commands:
  enable|e <id>
  disable|d <id>
  install|add [options] <id>
  uninstall|remove [options] <id>

插件管理插件,用于安装 / 卸载 / 启用 / 禁用 MinaPlay 中的插件。

user-manager ​

shell
# usage
um                  [user-manager] - manage users in MinaPlay
Usage: um|user-manager [options] [command]

manage users in MinaPlay

Options:
  -h, --help                           display help for command

Commands:
  add [options] <username> <password>
  grant <username> <group>
  del|delete <username>

用户管理插件,用于创建 / 删除 / 授权用户。

安装新插件 ​

命令安装 ​

在插件控制台中输入由内置插件 plugin-manager 提供的命令直接安装位于 NPM Registry 中的插件,插件安装后会自动加载。

shell
pm add xxx # xxx 为待安装插件的 ID

手动安装 ​

下载插件源码文件,并移动到 MinaPlay 插件目录下。

shell
# 克隆插件仓库地址或手动下载插件源码
$ git clone https://xxx.git
# 移动插件到 MinaPlay 插件目录
$ mv xxx data/plugin/xxx
# 重启 MinaPlay 应用插件
$ docker restart minaplay

卸载插件 ​

使用内置插件 plugin-manager 提供的命令卸载插件。

shell
pm del xxx # xxx 为待卸载插件的 ID

提示

由于 NestJS 的框架特性,MinaPlay 在卸载插件时无法卸载插件对应的 Module ,插件的卸载逻辑应由插件作者自行编写。

基于 AGPL-3.0 发布