Skip to content

mimaraka/eagle-ct_classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eagle CT Classifier

Eagle の未分類画像を、camie-tagger による画像タグ推論と LLM によるキャラクター名マッピングを組み合わせて、既存のキャラクターフォルダへ分類するための Window Plugin です。

本プラグインは自動で即時分類せず、推論結果を一覧表示し、ユーザーが承認したアイテムだけを Eagle のフォルダへ反映します。

主な機能

  • Eagle ライブラリ内の未分類アイテムを取得
  • 画像ファイルのみを抽出して camie-tagger で推論
  • 英語のキャラクター名タグを、日本語の既存フォルダ名へ LLM でマッピング
  • 推論結果をレビュー画面で確認
  • アイテムごとの承認・却下、一括承認・一括却下
  • 承認済みアイテムのみ Eagle フォルダへ分類

想定ユースケース

  • Eagle 上で「未分類」に溜まった 2D イラストをキャラクター別に整理したい
  • 既に日本語のキャラクターフォルダを運用している
  • タグ推論結果を人間が確認してから安全に反映したい

動作の流れ

  1. Eagle から未分類アイテムを取得します。
  2. 画像アイテムのみを対象に camie-tagger でタグ推論を行います。
  3. tags.character に含まれる英語キャラクター名を、LLM を使って Eagle 内の日本語フォルダ名へ対応付けます。
  4. 推論結果をレビュー画面に一覧表示します。
  5. ユーザーが承認したアイテムだけを、対応フォルダへ保存します。

前提条件

  • 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.2
  • Pillow==12.1.1
  • numpy==1.26.4
  • torch==2.0.1+cu118
  • torchvision==0.15.2+cu118

導入方法

1. このリポジトリを Eagle プラグインとして配置

Eagle のプラグイン開発機能から、このディレクトリを Window Plugin として読み込みます。

最低限必要なファイルは以下です。

  • manifest.json
  • index.html
  • logo.png

2. camie-tagger を用意

このプラグインは Python プロセスを起動して src/inference/infer.py 経由で推論します。

設定画面の camie-tagger リポジトリパス には、少なくとも以下を含むディレクトリを指定してください。

  • venv/Scripts/python.exe
  • camie-tagger-v2.onnx
  • camie-tagger-v2-metadata.json

コード上は、未指定時にプラグイン直下の camie-tagger-v2/ を参照する実装になっていますが、このリポジトリにはそのディレクトリは含まれていません。実運用では camie-tagger リポジトリパス を設定する前提で考えるのが安全です。

3. Python 依存をインストール

camie-tagger 側の仮想環境を作成し、必要な依存を導入してください。依存例はこのリポジトリの requirements.txt を参照してください。

4. Eagle でプラグインを起動

起動後、右上の設定から必要項目を保存します。

設定項目

設定は localStorage に保存されます。

LLM 設定

  • プロバイダー
    • OpenAI
    • Anthropic
    • Gemini
  • API キー
  • モデル名

デフォルトモデルは以下です。

  • OpenAI: gpt-4o-mini
  • Anthropic: claude-sonnet-4-20250514
  • Gemini: gemini-2.0-flash

推論設定

  • タグ検出閾値
  • camie-tagger リポジトリパス

表示設定

  • プレビューサイズ

使い方

  1. プラグインを開く
  2. 設定画面で LLM API キー、モデル、camie-tagger パス、閾値を保存
  3. メイン画面の 分類開始 を押す
  4. 推論結果をレビュー画面で確認
  5. 必要に応じて承認・却下を調整
  6. 分類実行 を押して 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 です。必要であれば別途ライセンス文書を追加してください。

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors