Eagle の未分類画像を、camie-tagger による画像タグ推論と LLM によるキャラクター名マッピングを組み合わせて、既存のキャラクターフォルダへ分類するための Window Plugin です。
本プラグインは自動で即時分類せず、推論結果を一覧表示し、ユーザーが承認したアイテムだけを Eagle のフォルダへ反映します。
- Eagle ライブラリ内の未分類アイテムを取得
- 画像ファイルのみを抽出して
camie-taggerで推論 - 英語のキャラクター名タグを、日本語の既存フォルダ名へ LLM でマッピング
- 推論結果をレビュー画面で確認
- アイテムごとの承認・却下、一括承認・一括却下
- 承認済みアイテムのみ Eagle フォルダへ分類
- Eagle 上で「未分類」に溜まった 2D イラストをキャラクター別に整理したい
- 既に日本語のキャラクターフォルダを運用している
- タグ推論結果を人間が確認してから安全に反映したい
- Eagle から未分類アイテムを取得します。
- 画像アイテムのみを対象に
camie-taggerでタグ推論を行います。 tags.characterに含まれる英語キャラクター名を、LLM を使って Eagle 内の日本語フォルダ名へ対応付けます。- 推論結果をレビュー画面に一覧表示します。
- ユーザーが承認したアイテムだけを、対応フォルダへ保存します。
- Eagle の Window Plugin として実行すること
- Eagle ライブラリ内に、分類先となるキャラクターフォルダが事前に存在すること
- 対象は主に 2D イラストであること
- LLM API キーをユーザーが用意できること
camie-taggerを実行できる Python 環境があること
- Eagle
- Node.js ベースの Eagle Plugin 実行環境
- Python 環境
camie-taggerのモデル・メタデータ・仮想環境
requirements.txt には以下の Python 依存が定義されています。
onnxruntime-gpu==1.24.2Pillow==12.1.1numpy==1.26.4torch==2.0.1+cu118torchvision==0.15.2+cu118
Eagle のプラグイン開発機能から、このディレクトリを Window Plugin として読み込みます。
最低限必要なファイルは以下です。
manifest.jsonindex.htmllogo.png
このプラグインは Python プロセスを起動して src/inference/infer.py 経由で推論します。
設定画面の camie-tagger リポジトリパス には、少なくとも以下を含むディレクトリを指定してください。
venv/Scripts/python.execamie-tagger-v2.onnxcamie-tagger-v2-metadata.json
コード上は、未指定時にプラグイン直下の camie-tagger-v2/ を参照する実装になっていますが、このリポジトリにはそのディレクトリは含まれていません。実運用では camie-tagger リポジトリパス を設定する前提で考えるのが安全です。
camie-tagger 側の仮想環境を作成し、必要な依存を導入してください。依存例はこのリポジトリの requirements.txt を参照してください。
起動後、右上の設定から必要項目を保存します。
設定は localStorage に保存されます。
- プロバイダー
OpenAIAnthropicGemini
- API キー
- モデル名
デフォルトモデルは以下です。
- OpenAI:
gpt-4o-mini - Anthropic:
claude-sonnet-4-20250514 - Gemini:
gemini-2.0-flash
- タグ検出閾値
camie-taggerリポジトリパス
- プレビューサイズ
- プラグインを開く
- 設定画面で LLM API キー、モデル、
camie-taggerパス、閾値を保存 - メイン画面の
分類開始を押す - 推論結果をレビュー画面で確認
- 必要に応じて承認・却下を調整
分類実行を押して Eagle に反映
マッチ: 1 キャラクターが既存フォルダに対応付けられた複数キャラ: 複数キャラクターが検出され、1 件以上のフォルダ候補が得られた未マッピング: キャラクターは検出されたが既存フォルダへ対応付けできなかったキャラ未検出:characterタグが得られなかったエラー: 推論中にエラーが発生した
- 自動分類対象は未分類アイテムのみです。
- 画像以外のアイテムは除外されます。
- フォルダ名の重複がある場合、最初に見つかったフォルダ ID が優先されます。
- LLM の応答品質に応じてマッピング精度は変動します。
- 複数キャラクターが検出された場合、複数フォルダへ割り当てられる可能性があります。
- API キー未設定時は処理を開始できません。
.
├── manifest.json
├── index.html
├── logo.png
├── requirements.txt
├── SPEC.md
├── TODO.md
├── eagle-plugin-docs/
└── src/
├── main.js
├── eagle/
├── inference/
├── llm/
└── ui/
主な役割は以下です。
src/main.js: 全体パイプラインのオーケストレーションsrc/eagle/: Eagle API との連携src/inference/:camie-tagger連携と Python ブリッジsrc/llm/: LLM 設定管理とキャラクター名マッピングsrc/ui/: 画面表示とレビュー UI
- プラグインエントリーポイントは
index.htmlです。 manifest.jsonでは Window Plugin として設定されています。- Eagle プラグインのローカル資料は
eagle-plugin-docs/に同梱されています。
現時点では package.json 上のライセンス表記は ISC です。必要であれば別途ライセンス文書を追加してください。