mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-10-29 03:36:15 +08:00
- 25 张截图按 4.0 界面重拍(1280x800):中文站用 zh-CN 界面,en/ja 站用 docs/public/image/en/ 下的英文界面 - 首页预览图按站点语言切换 - 新增下载器页、插件市场、插件配置、插件设置 4 张截图 - 修正文档:插件目录在插件市场页;API 令牌在用户与访问控制中管理(security.login_tokens/mcp_tokens 为启动时导入的旧项);默认搜索源含 anibt
110 lines
5.8 KiB
Markdown
110 lines
5.8 KiB
Markdown
# 插件
|
||
|
||
从 4.0 开始,AB 的许多功能由插件提供:重命名方式、下载器、通知渠道、种子过滤、整理后的处理等。插件可以在 WebUI 中添加界面。本页说明如何使用插件;编写插件请参阅 [插件开发](/dev/plugins)。
|
||
|
||
## 内置插件
|
||
|
||
以下插件随 AB 发布,无需安装:
|
||
|
||
| 插件 | id | 默认 | 作用 |
|
||
| --- | --- | --- | --- |
|
||
| 重命名 | `rename` | 启用 | 提供重命名方式 `pn`、`advance`、`template`。见 [文件重命名](./rename.md) |
|
||
| 种子过滤 | `ingest-filters` | 启用 | 全局「包含过滤」:只下载名称匹配任一表达式的种子。留空时不过滤 |
|
||
| 媒体库刷新 | `media-server-refresh` | 启用 | 整理完成后请求 Jellyfin、Emby 或 Plex 刷新媒体库。地址或 API Key 未填写时不做任何事 |
|
||
| 硬链接到媒体库 | `hardlink` | 停用 | 把整理好的文件链接到媒体库目录。见 [硬链接到媒体库](./hardlink.md) |
|
||
|
||
qBittorrent、aria2 下载器与各通知渠道由 AB 自带,不能停用,也不出现在插件列表中。
|
||
|
||
## 插件设置页
|
||
|
||
打开 **设置 → 插件**。每个插件显示为一张卡片:
|
||
|
||
- **名称、id 与版本**。
|
||
- **启用** 开关。
|
||
- **状态**:「运行中」、「未启用」或「错误」。
|
||
- **来源**:「内置」、「本地」或「pip」。未签名的插件另有「未签名」标记。
|
||
- **错误原因**:插件加载失败或被自动停用时显示。
|
||
- **声明的权限**:插件在清单中声明的权限,如 `fs.write`、`network`。这只是说明,AB 不据此限制插件。
|
||
- **配置**:展开后显示插件的设置表单。
|
||
|
||
插件卡片上的改动不参与设置页底部的全局保存。启停开关与 **保存配置** 按钮立即写入 `config.json`,并立即生效,无需重启。
|
||
|
||
### 配置插件
|
||
|
||

|
||
|
||
1. 展开插件卡片上的 **配置**。
|
||
2. 填写表单。列表类型的字段可以 **添加一行** 或 **删除** 一行。
|
||
3. 点击 **保存配置**。
|
||
|
||
AB 在保存前校验配置。不合法时保存失败,原配置保持不变。内置插件与签名插件在启用前就可以填写配置,所以有必填项的插件(如「硬链接到媒体库」)应先填写、保存,再启用。
|
||
|
||
表单不能编辑的字段显示「该字段类型暂不支持在界面中编辑」,请直接修改 `config.json` 的 `plugins.options.<插件 id>`。
|
||
|
||
### 插件出错
|
||
|
||
插件的代码连续 5 次出错或超时后,AB 自动停用它,卡片状态变为「错误」并显示原因。AB 其余部分照常运行:例如「重命名」插件被停用后,所有番剧按 `none` 处理。
|
||
|
||
修正原因后(例如修改配置并保存),或重启 AB,插件会重新加载。
|
||
|
||
## 插件来源与信任
|
||
|
||
插件在 AB 进程内运行,拥有与 AB 相同的权限。AB 按来源决定是否信任插件:
|
||
|
||
| 来源 | 位置 | 签名 | 如何启用 |
|
||
| --- | --- | --- | --- |
|
||
| 内置 | AB 自带 | 随 AB 发布 | 默认可用 |
|
||
| 签名目录 | `config/plugins/<id>/<版本>/` | AB 校验 ed25519 签名 | 安装即启用 |
|
||
| 本地 | `config/plugins/local/<id>/` | 无 | 开启「允许未签名插件」后启用 |
|
||
| pip | Python 包,entry point `autobangumi.plugins` | 无 | 同上 |
|
||
|
||
同一 id 出现在多个来源时,按 内置 > 签名目录 > 本地 > pip 的顺序取一个。
|
||
|
||
### 未签名插件
|
||
|
||
本地目录与 pip 安装的插件没有签名。在 **设置 → 插件** 中打开 **允许未签名插件** 之前,AB 不会执行这些插件的任何代码,它们也不显示配置表单。
|
||
|
||
::: warning
|
||
只启用你信任的插件。未签名插件可以读写 AB 能访问的所有文件和网络。
|
||
:::
|
||
|
||
安装本地插件:
|
||
|
||
1. 把插件目录复制到 `config/plugins/local/`,目录名与插件 id 相同。
|
||
2. 重启 AB。
|
||
3. 在 **设置 → 插件** 中打开 **允许未签名插件**,再启用该插件。
|
||
|
||
### 签名目录
|
||
|
||
AB 从 GitHub release `plugins` 读取签名插件目录。AB 在安装前校验目录与插件包的签名和 sha256,拒绝未签名或签名错误的包。从目录安装的插件视为已签名,不需要开启「允许未签名插件」。
|
||
|
||
| 请求 | 说明 |
|
||
| --- | --- |
|
||
| `GET /api/v1/plugins/catalog` | 列出目录中的插件与本机已安装的版本 |
|
||
| `POST /api/v1/plugins/{id}/install` | 安装或升级插件,并启用它 |
|
||
| `DELETE /api/v1/plugins/{id}` | 卸载从目录安装的插件。本地插件不受影响 |
|
||
|
||
在 **插件市场** 页面可以浏览目录,并安装、更新与卸载插件。在 **设置 → 插件** 中点「打开插件市场」进入该页面。签名与上架流程见 [签名与分发](/dev/plugins/signing)。
|
||
|
||

|
||
|
||
## 插件界面
|
||
|
||
插件可以在 WebUI 的以下位置加入自己的界面。只有运行中的插件才显示界面。
|
||
|
||
| 位置 | 你看到的内容 |
|
||
| --- | --- |
|
||
| 设置页 | 设置分区列表末尾多出插件的分区,可以在侧栏与搜索中找到。例如「硬链接到媒体库」的「硬链接补链」 |
|
||
| 番剧编辑弹窗 | 弹窗顶部出现分段标签。「规则」是原有的编辑表单,其它标签由插件提供 |
|
||
| 番剧卡片 | 卡片标题下方的操作条 |
|
||
| 番剧列表页 | 页面顶部的小组件网格 |
|
||
| 侧边栏 | 拼图图标的入口,位于「设置」之前,打开地址 `/plugins/<插件 id>` |
|
||
|
||
手机的底部导航栏没有插件页入口。在手机上请直接打开地址。
|
||
|
||
插件界面出错时,该插件的所有界面显示「插件组件加载失败。」,其它插件与页面不受影响。重新打开页面会重新加载插件界面。
|
||
|
||
## 事件与自动化
|
||
|
||
插件可以订阅 AB 的事件,例如种子整理完成、下载器连接异常。插件也可以提供自己的 REST 接口(`/api/v1/plugins/<插件 id>/…`)与 MCP 工具。详见 [插件开发](/dev/plugins)。
|