Files
Auto_Bangumi/README.en.md
Estrella Pan b129c4437a chore(release): 准备 4.0.0
- 部署文档、升级指南与 README 改为正式版说法:latest = 4.0,3.3 固定为 3.3.7
- docs/changelog/4.0.md 新增 4.0.0 汇总(升级前必读、破坏性变更、新功能、主要修复),链接改为绝对地址
- 文档站与插件市场改为从 main 发布,插件上架 PR 的目标分支改为 main
- 文档站页脚版本 v4.0.0;en/ja README 的 star history 地址
2026-10-24 11:46:50 +02:00

139 lines
6.7 KiB
Markdown

<p align="center">
<img src="docs/public/image/icons/light-icon.svg#gh-light-mode-only" width=50%/ alt="">
<img src="docs/public/image/icons/dark-icon.svg#gh-dark-mode-only" width=50%/ alt="">
</p>
<p align="center">
<img title="docker build version" src="https://img.shields.io/docker/v/estrellaxd/auto_bangumi" alt="">
<img title="release date" src="https://img.shields.io/github/release-date/estrellaxd/auto_bangumi" alt="">
<img title="docker pull" src="https://img.shields.io/docker/pulls/estrellaxd/auto_bangumi" alt="">
<img title="python version" src="https://img.shields.io/badge/python-3.14-blue" alt="">
</p>
<p align="center">
<a href="README.md">简体中文</a> | English | <a href="README.ja.md">日本語</a>
</p>
<p align="center">
<a href="https://www.autobangumi.org/en/">Website</a> | <a href="https://www.autobangumi.org/en/deploy/quick-start.html">Quick Start</a> | <a href="https://www.autobangumi.org/en/deploy/upgrade-4.0">Upgrade to 4.0</a> | <a href="https://www.autobangumi.org/en/changelog/4.0.html">Changelog</a> | <a href="https://t.me/autobangumi_update">Update channel</a> | <a href="https://t.me/autobangumi">Telegram group</a>
</p>
# About
<p align="center">
<img title="AutoBangumi" src="docs/public/image/feature/bangumi-list.png" alt="" width=75%>
</p>
AutoBangumi is an RSS-based tool that downloads and organizes anime automatically. Subscribe to a series on a site such as [Mikan Project][mikan]. AutoBangumi parses the torrent titles, makes download rules, and sends the torrents to your downloader. It then gives the finished files folder and file names that [Plex][plex] and [Jellyfin][jellyfin] can identify without manual scraping.
## Core features
- RSS parser that operates without user action. It parses series data and makes download rules. It supports Mikan, DMHY, Nyaa and aggregated RSS feeds.
- Built-in Mikan and TMDB metadata parsers. Optional LLM title parser (OpenAI-compatible APIs, Anthropic Claude, Google Gemini).
- Collection of missed episodes when you subscribe in the middle of a season. Movies, OVA, OAD and SP releases go into their own folders.
- Release preference per series: set the subtitle group and resolution to prevent duplicate downloads of one episode.
- Setup wizard on first start. In-app update check, apply and rollback, with sha256 and ed25519 signature checks.
- Downloaders: qBittorrent, aria2.
- File organization and rename:
```
Bangumi
├── bangumi_A_title
│ ├── Season 1
│ │ ├── A S01E01.mp4
│ │ └── A S01E02.mp4
│ └── Season 2
│ └── A S02E01.mp4
└── bangumi_B_title
└── Season 1
```
```
[Lilith-Raws] Kakkou no Iinazuke - 07 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4].mp4
>>
Kakkou no Iinazuke S01E07.mp4
```
## New in 4.0
- **Plugin runtime**: Search sites, notifiers, rename methods, downloaders and other extension points use the `ab_sdk` contracts. Built-in plugins: `ingest-filters` (global include filter), `rename`, `hardlink` and `media-server-refresh` (refreshes Jellyfin / Emby / Plex after organization).
- **Multiple downloader instances**: You configure downloaders in `plugins.instances`. `plugins.slots.downloader` sets the default instance. For a new torrent, AutoBangumi selects the downloader in this order: rule, subscription, default instance.
- **Hardlink plugin `hardlink`**: Disabled by default. After organization, it links the episodes and subtitles into the library folder. The download folder continues to seed. `path_map` changes paths for each downloader instance. Across file systems, it copies the file by default (`cross_device`: `copy` / `symlink` / `skip`).
- **Rename plugin `rename`**: It supplies `pn`, `advance` and the Jinja2 `template` method. If a template fails to render, AutoBangumi skips the file and sends a notification. It does not use a different method.
- **Events and MCP**: `/api/v1/events/stream` (SSE) sends host and plugin events. `/mcp` is an MCP server. Plugins can add their own MCP tools and REST routes.
- **Frontend plugin slots**: Plugins can attach their own components to the settings page, the series detail page and other locations.
- **Plugin SDK**: The `autobangumi-sdk` wheel (with the `ab-plugin` CLI) and the `autobangumi-plugin` agent skill are attached to the GitHub Release. They are not on PyPI.
## Quick start
Create the folders:
```bash
mkdir -p ${HOME}/AutoBangumi/{config,data}
cd ${HOME}/AutoBangumi
```
Create `docker-compose.yml`:
```yaml
services:
AutoBangumi:
image: "ghcr.io/estrellaxd/auto_bangumi:latest"
container_name: AutoBangumi
volumes:
- ./config:/app/config
- ./data:/app/data
ports:
- "7892:7892"
# In-app update needs this restart policy
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- PGID=${PGID:-1000}
- PUID=${PUID:-1000}
- UMASK=022
```
Start the container:
```bash
docker compose up -d
```
Open `http://<host>:7892` and complete the setup wizard. Before you upgrade from 3.3, read [Upgrade from 3.3 to 4.0](https://www.autobangumi.org/en/deploy/upgrade-4.0). For other deployment methods, see the [deployment docs](https://www.autobangumi.org/en/deploy/quick-start.html).
## Upgrade from 3.x
- 4.0 can upgrade only from **3.3.x**. Upgrade earlier versions to 3.3 first.
- On the first start, the config migrator moves `downloader`, the rename method and the version conflict policy into the `plugins` section. It saves the original file as `config/config.json.v3.bak`. If the migration fails, AutoBangumi restores the original file and does not start.
- For the full procedure and the rollback procedure, see [Upgrade to 4.0](https://www.autobangumi.org/en/deploy/upgrade-4.0).
## Plugin development
```bash
uv tool install ./autobangumi_sdk-<version>-py3-none-any.whl # download from the GitHub Release
ab-plugin new my-plugin --kind rename
ab-plugin validate my-plugin
ab-plugin pack my-plugin
```
- Developer docs: [Plugin development](https://www.autobangumi.org/en/dev/plugins.html)
- Example plugins: [`examples/plugins/`](examples/plugins)
## Contributing
Issues and pull requests are welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md) before you contribute code. [Roadmap](https://github.com/users/EstrellaXD/projects/2)
<a href="https://github.com/EstrellaXD/Auto_Bangumi/graphs/contributors"><img src="https://contrib.rocks/image?repo=EstrellaXD/Auto_Bangumi"></a>
## Star History
[![Star History Chart](https://star-history.dera.page/svg?repos=EstrellaXD/Auto_Bangumi&type=Date)](https://star-history.dera.page/#EstrellaXD/Auto_Bangumi)
## Licence
[MIT licence](https://github.com/EstrellaXD/Auto_Bangumi/blob/main/LICENSE)
[mikan]: https://mikanani.me
[plex]: https://plex.tv
[jellyfin]: https://jellyfin.org