简体中文 | English | 日本語

Website | Quick Start | Upgrade to 4.0 | Changelog | Update channel | Telegram group

# About

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://:7892` and complete the setup wizard. For the 4.0 beta, use the `4.0.0-beta.N` or `dev-latest` tag. 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--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) ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=EstrellaXD/Auto_Bangumi&type=Date)](https://star-history.com/#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