Skip to content

插件开发 ​

预览版 SDK

插件 SDK ab_sdk 在 4.0 期间为 0.x 版本,接口可能有不兼容调整;4.1 起冻结 1.0,之后遵守语义化版本。清单里的 sdk 字段声明你依赖的版本范围,AB 会拒绝加载不兼容的插件。

插件是一个 Python 包(可带前端组件),在 AutoBangumi 进程内运行。插件可以增加下载器、通知渠道、搜索站点、重命名方式,也可以在流水线上挂钩子、订阅事件、提供 REST 路由、MCP 工具和设置页界面。

五分钟上手 ​

  1. 安装 SDK 与命令行。轮子随每个 4.0 beta / 正式版发布在 GitHub Releases 的附件中(文件名 autobangumi_sdk-<SDK 版本>-py3-none-any.whl),不发布到 PyPI。详见 获取 SDK。

    bash
    uv tool install ./autobangumi_sdk-0.6.0-py3-none-any.whl
  2. 生成骨架并测试。骨架的 pyproject.toml 依赖 autobangumi-sdk,而 PyPI 上没有这个包,所以先用 uv add 让它指向下载的轮子:

    bash
    ab-plugin new my-rename --kind rename   # 也可选 notifier、search
    cd my-rename
    uv add ../autobangumi_sdk-0.6.0-py3-none-any.whl   # 换成轮子的实际路径
    uv run pytest                                      # 骨架自带契约测试
  3. 链接到本机的 AutoBangumi 并热重载。先启动过一次 AB,使它的配置目录下有配置文件;--config-dir 指向这个目录(源码运行时为 backend/src/config):

    bash
    ab-plugin dev . --config-dir /path/to/autobangumi/config

    重启 AB 一次后,修改插件目录里的文件会自动重载。

  4. 打包:ab-plugin pack . 生成 dist/my-rename-0.1.0.zip。

文档导航 ​

基础

扩展点

扩展点类型用途
下载器 downloaderProvider新的下载器后端
通知渠道 notifierProvider新的通知渠道
LLM 提供商 llm_providerProvider新的 LLM 解析提供商
搜索站点 search_siteProvider搜索框的站点
定时任务 scheduled_taskProvider周期执行的任务
元数据源 metadata_providerProviderRSS 订阅的「解析器」
重命名方式 rename_strategyProvider文件名的生成规则
文件分类 media_filesProvider种子内文件分为正片、字幕、忽略
版本冲突策略 conflict_policyProvider新版本种子与旧种子争用文件名
REST 路由 api_routerProvider插件自己的 HTTP 接口
MCP 工具与资源 mcp_tool mcp_resourceProvider暴露给 MCP 客户端
种子过滤 torrent.filterfilter 钩子决定种子是否下载
修正解析结果 title.parsedtransform 钩子修正标题解析
修改添加请求 torrent.addingtransform 钩子改保存路径、分类、标签
请求头 http.requesttransform 钩子给 AB 的 GET 请求加 Cookie 等
通知文案模板 message_templatetransform 钩子改写推送文案

此外,插件可以订阅事件(@subscribe),并使用私有的键值存储和数据目录。

AutoBangumi 基于 MIT 许可证发布。(最新版本: v4.0.0)