Skip to content

プラグイン開発 ​

プレビュー版 SDK

プラグイン SDK ab_sdk は 4.0 の間は 0.x 版で、互換性のない変更が入る場合があります。4.1 で 1.0 に固定され、以後はセマンティックバージョニングに従います。マニフェストの sdk フィールドで対応する SDK のバージョン範囲を宣言します。互換性のないプラグインは AB が読み込みを拒否します。

プラグインは Python パッケージです(フロントエンドコンポーネントを付けることもできます)。AutoBangumi のプロセス内で動作します。ダウンローダー、通知チャンネル、検索サイト、リネーム方式を追加できます。パイプラインへのフック、イベントの購読、REST ルート、MCP ツール、設定ページの UI も提供できます。

5 分で始める ​

  1. SDK とコマンドラインをインストールします。wheel は 4.0 の各 beta / 正式版の GitHub Releases に添付されます(ファイル名は autobangumi_sdk-<SDK バージョン>-py3-none-any.whl)。PyPI には公開しません。詳しくは SDK の入手 を参照してください。

    bash
    uv tool install ./autobangumi_sdk-0.6.0-py3-none-any.whl
  2. ひな形を作ってテストします。ひな形の pyproject.toml は autobangumi-sdk に依存しますが、このパッケージは PyPI にありません。先に uv add でダウンロードした wheel を指定します。

    bash
    ab-plugin new my-rename --kind rename   # notifier、search も選べます
    cd my-rename
    uv add ../autobangumi_sdk-0.6.0-py3-none-any.whl   # wheel の実際のパスに置き換えます
    uv run pytest                                      # ひな形にはコントラクトテストが付いています
  3. ローカルの AutoBangumi にリンクし、ホットリロードを有効にします。先に AB を一度起動して、設定ディレクトリに設定ファイルを作っておきます。--config-dir にはこのディレクトリを指定します(ソースから実行する場合は backend/src/config)。

    bash
    ab-plugin dev . --config-dir /path/to/autobangumi/config

    AB を一度再起動します。以後は、プラグインのファイルを変更すると自動でリロードされます。

  4. パッケージ化します。ab-plugin pack . で dist/my-rename-0.1.0.zip ができます。

ドキュメント一覧 ​

基本

拡張ポイント

拡張ポイント種類用途
ダウンローダー downloaderProvider新しいダウンローダーのバックエンド
通知チャンネル notifierProvider新しい通知チャンネル
LLM プロバイダー llm_providerProvider新しい LLM 解析プロバイダー
検索サイト search_siteProvider検索ボックスのサイト
定期タスク scheduled_taskProvider定期的に実行するタスク
メタデータソース metadata_providerProviderRSS 購読の「パーサー」
リネーム方式 rename_strategyProviderファイル名の生成規則
ファイル分類 media_filesProviderトレント内のファイルを本編・字幕・無視に分類
バージョン競合ポリシー conflict_policyProvider新旧のトレントが同じファイル名を取り合う場合
REST ルート api_routerProviderプラグイン独自の HTTP エンドポイント
MCP ツールとリソース mcp_tool mcp_resourceProviderMCP クライアントへの公開
トレントフィルター torrent.filterfilter フックトレントをダウンロードするか判定
解析結果の補正 title.parsedtransform フックタイトル解析結果の補正
追加リクエストの変更 torrent.addingtransform フック保存パス・カテゴリ・タグの変更
HTTP リクエスト http.requesttransform フックAB の GET リクエストに Cookie などを追加
通知メッセージテンプレート message_templatetransform フックプッシュ文面の書き換え

プラグインはイベントの購読(@subscribe)と、専用のキーバリューストア・データディレクトリも使えます。

AutoBangumiはMITライセンスの下で公開されています。(最新版: v3.3.2)