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

33 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 示例插件
示例在仓库的 [`examples/plugins/`](https://github.com/EstrellaXD/Auto_Bangumi/tree/main/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、事件 |
## 安装一个示例
```bash
cp -r examples/plugins/ntfy-notifier config/plugins/local/
```
在 设置 → 插件 中开启「允许未签名插件」,再启用该插件。
## 运行示例的测试
在仓库根目录运行,脚本逐个校验示例的清单并运行它的测试(与 CI 相同):
```bash
scripts/test_example_plugins.sh
```
脚本在 `backend/` 的环境里运行,SDK 以可编辑方式装在那里。示例的 `pyproject.toml` 依赖 `autobangumi-sdk`,PyPI 上没有这个包;把示例复制到仓库外单独测试时,先在示例目录里 `uv add <轮子路径>`,再 `uv run pytest`。
刷新 Jellyfin / Emby / Plex 媒体库不需要写插件:内置插件 `media-server-refresh` 已经支持。