Bangumi-syncer 是一款把常见媒体库与 Bangumi(番组计划)连接在一起的轻量级小工具。
你可以在 Plex、Emby、Jellyfin、Trakt、飞牛、fongmi等任意媒体库客户端里照常���番,看完一集后会自动调用 Bangumi API 打格子,免去频繁打开网站的烦恼,省时省力。
- 🌐 现代化 Web 管理界面:仪表板统计、趋势与最近同步记录等可视化。
- ⚙️ 全流程在线配置:所有配置项均可在 Web 中配置并热重载,支持配置备份与恢复。
- ✅ 看完即同步:在媒体库标记看完后,由程序调用Bangumi 官方 API自动打格子。
- 🧠 智能推理条目:采用启发式推理,自动匹配媒体库标题与 Bangumi 条目(尤其是多季度和分割放送)。
- 🔌 常见媒体栈都能接:已内置适配 Plex、Emby、Jellyfin、Trakt、飞牛、fongmi,也支持其他软件通过自行构建Webhook进行同步触发,覆盖了绝大多数场景。
- 👥 多用户同步:支持多用户模式,按媒体服务器用户名路由到不同 Bangumi 账号,数据不混杂。
- 🔔 通知能力:同步过程支持 Webhook 和 邮件 通知,模板与类型可高度自定义,便于接入Telegram、钉钉等软件通知或扩展更多状态同步能力。
- 🧩 匹配记录可追溯:保留完整的匹配过程,可直观地了解匹配过程以便排查问题。
- 🔄 离线容错与补发:Bangumi API 不可达时,写操作自动入队待补发(Replay);配合本地数据集归档(Archive)还能在无网时匹配新条目,形成端到端的无网缓存请求闭环。两者互相独立,可各自启停。
| 媒体库 / 播放端 | 接入方式 | 番剧单集看过 | 剧场版在看 | 剧场版看过 |
|---|---|---|---|---|
| Plex | Tautulli(免费) | ✅ | ✅ | ✅ |
| Plex | 官方Webhooks(需Plex Pass) | ✅ | ✅ | ✅ |
| Emby | 服务器自带通知 | ✅ | ✅ | ✅ |
| Jellyfin | Webhook 插件 | ✅ | ✅ | ✅ |
| Trakt | 定时任务拉取账户播放历史 | ✅ | ❌ | ✅ |
| 飞牛 | 定时只读数据库 | ✅ | ❌ | ✅ |
| fongmi及其二开版本 | 定时读取app信息 | ✅ | ❌ | ✅ |
| 任意支持Trakt同步的播放器 | 借助Trakt同步 | ✅ | ❌ | ✅ |
| 任意支持Webhook的播放器 | 自定义 Webhook | ✅ | ✅ | ✅ |
更多说明见 接入使用总览。
作者并非专业 Python 开发者,纯兴趣,代码比较粗糙请见谅。
如果存在 bug 或想增加功能,欢迎 提一个 Issue 或者提交一个 Pull Request。
参与开发前请先阅读仓库内的 贡献指南,想接入新媒体服务器驱动,可参考 新驱动接入指南。
本项目受到以下项目思路的启发或使用过其中的内容,在此表示衷心的感谢!
MIT © SanaeMio


