Files
Auto_Bangumi/docs/dev/plugins/examples.md
Estrella Pan 776abfa896 docs(4.0): 更新 API 参考与开发者文档,新增获取 SDK 页
- API 参考按实际路由重写,修正认证方式、请求方法与设置向导端点
- 数据库指南改为异步 Database 与 MIGRATIONS
- E2E 指南改为指向 e2e/README.md
- 插件快速上手补上安装 SDK 轮子的步骤,ab-plugin dev 加 --config-dir
- 发布流程改为手动推送标签触发
2026-10-08 17:36:53 +02:00

1.7 KiB
Raw Blame History

示例插件

示例在仓库的 examples/plugins/ 下,不包含在 Docker 镜像里。每个示例都有自己的 README 和测试,CI 逐个运行。

示例 演示的能力
webhook-on-event @subscribe("*")、配置表单、secret_field;把选中的事件 POST 到一个 URL,可选 HMAC 签名
custom-rss-site search_site Provider 加 http.request 钩子;为私有站的请求附带 Cookie;SearchSiteContract
template-rename rename_strategy Provider,自带过滤器的文件名模板;RenameSkipped;RenameStrategyContract
nfo-writer 订阅 torrent.organized,在正片旁写 .nfo;路径映射;幂等
ntfy-notifier notifier Provider;后端拒绝时返回 False;NotifierContract
manual-pick 前端挂载点 bangumi.detail.tab、插件路由、插件 KV、事件

安装一个示例

cp -r examples/plugins/ntfy-notifier config/plugins/local/

在 设置 → 插件 中开启「允许未签名插件」,再启用该插件。

运行示例的测试

在仓库根目录运行,脚本逐个校验示例的清单并运行它的测试(与 CI 相同):

scripts/test_example_plugins.sh

脚本在 backend/ 的环境里运行,SDK 以可编辑方式装在那里。示例的 pyproject.toml 依赖 autobangumi-sdk,PyPI 上没有这个包;把示例复制到仓库外单独测试时,先在示例目录里 uv add <轮子路径>,再 uv run pytest。

刷新 Jellyfin / Emby / Plex 媒体库不需要写插件:内置插件 media-server-refresh 已经支持。