# アニメ管理設定 ## WebUI ![manager](/image/en/config/manager.png){width=700}{class=ab-shadow-card} - **有効化**:ファイル整理とリネームを有効化します。 - **リネーム方式**: - `pn`:リリースタイトル情報を多めに保持する `Torrent title S0XE0X` 形式。 - `advance`:公式タイトルと標準的なシーズン/話数形式。 - `none`:リネームしません。 - `template`:独自テンプレートで命名します([テンプレートリネーム](#テンプレートリネーム)参照)。 - `pn`・`advance`・`template` は内蔵プラグイン `rename`(既定で有効)が提供します。**設定 → プラグイン** で無効にすると、すべての番組が `none` として扱われます。他のプラグインがリネーム方式を追加することもあり、有効なものはドロップダウンに表示されます。 - **話数補完**:不足している話数を補完ダウンロードします。 - **グループタグ追加**:字幕組関連タグをダウンローダータスクに追加します。 - **不良Torrent削除**:エラー状態のタスクを削除します。 - **リビジョン競合ポリシー**:より高いリビジョンのトレントが既存の話数を対象にするとき、「既存ファイルを保持」または「より高いリビジョンに置き換え」を選びます。置き換えを有効にすると、高いリビジョンが配置に成功した後でだけ古いトレントとそのデータを削除します。 - **未一致Torrentを記録**:ルールに一致しないTorrentを孤児レコードとして保存します。 ## テンプレートリネーム `template` を選ぶと、内蔵プラグイン `rename` のテンプレートでファイル名を生成します。**設定 → プラグイン → rename** でファイル名テンプレートを編集します。既定値: ::: v-pre ``` {{ title }} S{{ season|pad(2) }}E{{ episode|pad(2) }} ``` 通常のエピソードでは既定値は `pn` と同じ結果になります。劇場版では `pn` は `SxxExx` を付けませんが、既定のテンプレートは付けます。サンドボックス化された [Jinja2](https://jinja.palletsprojects.com/) 構文で、次の変数が使えます。 | 変数 | 意味 | 例 | | --- | --- | --- | | `title` | ファイル名から解析したタイトル | `葬送のフリーレン` | | `bangumi_name` | 番組フォルダー名 | `葬送のフリーレン (2023)` | | `season` | シーズン(Season フォルダーから取得、シーズンオフセット適用済み) | `1` | | `episode` | 話数(話数オフセット適用済み、半話は小数を保持) | `5`、`12.5` | | `episode_type` | `episode` / `movie` / `special` | `episode` | | `group` | 字幕グループ(空の場合あり) | `ANi` | | `kind` | `media` または `subtitle` | `media` | | `language` | 字幕の言語(動画では空) | `zh` | `pad(n)` フィルターは整数部を n 桁にゼロ埋めし、小数部は保持します(`{{ episode|pad(3) }}` → `005`、`{{ 12.5|pad(2) }}` → `12.5`)。 - テンプレートはファイル名の本体のみを生成し、拡張子(字幕は `.zh.ass` 形式)は自動で付きます。 - 保存時にサンプルファイルで一度レンダリングします。構文エラー、未定義の変数、不正な結果のテンプレートは拒否されます。 - 実行時にレンダリングが失敗した、結果が空、または `/`・`\` を含む場合、そのファイルは**元の名前のまま**になり、通知が送られます。Torrent に `ab:renamed` タグは付かないため、テンプレートを直すと次のサイクルで再試行されます。`pn` に戻ることはありません。 ::: ::: warning リネーム方式やテンプレートの変更は、その後に整理される Torrent にのみ適用されます。整理済み(`ab:renamed` タグ付き)の Torrent は再リネームされません。 ::: ## メディアライブラリへのハードリンク 内蔵プラグイン `hardlink` は**既定で無効**です。**設定 → プラグイン** で有効にします。Torrent の整理が終わると、動画と字幕をライブラリフォルダーにリンクします。ダウンロードフォルダーはそのまま残り、シードを続けます。 | 項目 | 説明 | 既定値 | | --- | --- | --- | | `source_root` | AutoBangumi から見たダウンロードルート(絶対パス)。ライブラリは同じフォルダー構成になります | なし(必須) | | `library_root` | ライブラリフォルダー(絶対パス)。`source_root` の内側には置けません | なし(必須) | | `path_map` | `{downloader, from, to}` のリスト。ダウンローダーインスタンス `downloader`(既定 `default`)から見たパス接頭辞 `from` を、AutoBangumi から見たパス `to` に置き換えます。最長一致、一致しないパスはそのまま使います | `[]` | | `cross_device` | ハードリンクがファイルシステムをまたぐ場合:`copy`(コピー)、`symlink`(シンボリックリンク)、`skip`(スキップして通知) | `copy` | - プラグインが作成していない同名ファイルがライブラリにある場合はスキップし、**上書きしません**。通知が送られます。 - リビジョン更新(新しいリリースが同じファイル名で古い Torrent を置き換える)の後、プラグインが以前作成したリンクは新しいファイルへのリンクにアトミックに置き換えられます。 - Torrent を削除しても、ライブラリのリンクは削除されません。 - プラグインが配置した後にライブラリから削除したファイルは、再びリンクされません。バックフィルを実行すると再作成されます。 - 有効化する前にダウンロード済みのファイルは自動ではリンクされません。プラグインを有効にすると設定画面に「Hardlink backfill」セクションが表示されます。**Link existing files** をクリックすると、ダウンロードルートにある本編と字幕をライブラリにリンクします。リンク済みのファイルはスキップされます。このボタンは `POST /api/v1/plugins/hardlink/backfill` を呼び出します。 - `path_map` はプラグインの設定フォームで 1 行ずつ編集できます(**Add row**)。`config/config.json` では `plugins.options.hardlink.path_map` です(例:`[{"downloader": "default", "from": "/downloads", "to": "/media/downloads"}]`)。 ::: tip Docker ハードリンクはファイルシステムをまたげません。Docker では、ダウンロードフォルダーとライブラリを同じディスクに置き、**1 つのマウント**で AutoBangumi コンテナに渡してください(例:`/mnt/media` を `/media` としてまとめてマウントし、両方をその下に置く)。別々にマウントしたフォルダーは同じディスク上でも別のファイルシステムとして扱われ、`cross_device` の設定に従います(既定はコピーで、容量を 2 倍使います)。ダウンローダーが別のコンテナで動作し、見えるパスが異なる場合は `path_map` を使います。 ::: ## メディアサーバーの更新 内蔵プラグイン `media-server-refresh` は、Torrent の整理後に Jellyfin・Emby・Plex へライブラリの更新を要求します。**設定 → プラグイン → media-server-refresh** でサーバー種別を選び、サーバー URL と API Key(Plex は `X-Plex-Token`)を入力すると有効になります。未入力の間は何もしません。イベントを受け取ると `delay` 秒(既定 30)待ち、その間に整理された Torrent をまとめて 1 回だけ更新します。更新リクエストの送信後に届いたイベントは、もう 1 回の更新になります。ハードリンクプラグインが有効な場合は、ファイルがライブラリに入った後にもう一度更新します。ディスクをまたぐコピーが遅延より長くかかっても、新しいエピソードが表示されます。 ## `config.json` セクション:`bangumi_manage` | キー | 説明 | 型 | WebUI項目 | 既定値 | | --- | --- | --- | --- | --- | | `enable` | 管理機能を有効化 | 真偽値 | 有効化 | `true` | | `eps_complete` | 話数補完を有効化 | 真偽値 | 話数補完 | `false` | | `group_tag` | グループタグ追加 | 真偽値 | グループタグ追加 | `false` | | `remove_bad_torrent` | エラーTorrent削除 | 真偽値 | 不良Torrent削除 | `false` | | `track_orphans` | 未一致Torrentを記録 | 真偽値 | 未一致Torrentを記録 | `true` | リネーム方式とリビジョン競合ポリシーは Provider の選択として `plugins.slots` に保存されます:`rename_strategy`(リネーム方式、既定値 `pn`)と `conflict_policy`(`hold` / `replace`、既定値 `hold`)。3.3 の `bangumi_manage.rename_method` と `revision_conflict_policy` は、4.0 へのアップグレード後の初回起動時に自動で移行されます。詳しくは [プラグイン設定](/ja/config/plugins#slots) を参照してください。