プラグインの開発と実装

AI エージェントを使用したプラグインの構築

以下の要件プレースホルダーを置き換えてから、コーディングエージェントに完全な指示を与えてください:

https://raw.githubusercontent.com/ccseer/Seer-Plugins/refs/heads/master/plugin_development_guide.md にある Seer プラグイン開発ガイドを読み、従ってください。これをアーキテクチャ、plugin.json、実装、検証、およびパッケージングの信頼できる唯一の情報源(Single Source of Truth)として扱ってください。ガイドが利用できない場合は、続行する前に停止して報告してください。

作業を行う前に、以下の Requirement(要件)を確認してください。欠落している場合、変更されていないプレースホルダーテキストである場合、または実装するには曖昧すぎる場合は、確認の質問を 1 つ行って待機してください。欠落している要件を推測しないでください。

明確になったら、Convert または DLL を選択してその選択を簡単に正当化し、現在のワークスペースに完全でインストール可能なプラグインを実装してください。Seer 自体を変更したり、計画やコードスニペットで停止したりしないでください。

ガイド内の該当するすべての検証手順に従い、実際の結果を報告してください。可能であれば Seer アプリ内プレビューテストを実行し、それ以外の場合は実行時検証が実行されなかったことを明示的に述べてください。

Requirement: [このプレースホルダーをプラグイン要求に置き換えてください。]

変換タイププラグイン

Seer は変換タイププラグインを外部実行プログラムとして扱います。ファイルがトリガーされると、Seer は設定されたプログラムを実行し、プレースホルダーを介してファイルパスを渡します。

プレースホルダー変数

  • ${input_file}: ソースファイルの絶対パス。
  • ${output_file}: プラグインが処理済み出力を保存するベース出力ファイルパス(必要な拡張子を追加します。例: ${output_file}.json)。
  • ${use_backslash}: パス区切り文字を Windows ネイティブのバックスラッシュ(\)としてフォーマットするオプションフラグ。
  • ${seer_dir}: Seer.exe が存在するディレクトリパス。
  • ${seer_exe}: Seer.exe への絶対パス。
  • ${7z}: Seer に同梱されている 7z.exe への絶対パス。

実行ワークフロー

  1. トリガー: ユーザーがファイル上で スペースキー を押します。
  2. 解決: Seer はファイル拡張子に関連付けられたプラグインを特定します。
  3. 実行: Seer は実行可能ファイルを実行します(例: ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json")。
  4. 表示: プロセスが終了すると、Seer は ${output_file}.* に一致する生成ファイルを読み取り、出力拡張子に対応する内部ビューアを使用してレンダリングします。

サポートされている実行可能ファイルおよびスクリプトの種類

変換タイププラグインは CLI を介して入力/出力を処理できる任意の実行可能ファイルです:

  • スクリプト:
    • CMD スクリプト: cmd_rename
    • BAT スクリプト: bat_epub
    • PowerShell スクリプト: .ps1powershell.exe を介して標準サポート)
  • サードパーティツール:
  • カスタムバイナリ:

一時ファイル管理

プラグインは多くの場合、中間ファイルを生成します。

  • 自動クリーンアップ: Seer はデフォルトで 21 日以上経過した一時ファイルを自動的に消去します。
  • 強制削除: コマンドパラメータに ${no_cache} を追加すると、Seer に変換キャッシュをバイパスし、一時出力を自動削除ディレクトリ(autodel/)に保存するよう指示します。このディレクトリは Seer の終了時に自動的にクリーンアップされます。

DLL タイププラグイン

ハイパフォーマンスまたは深い統合のために、Seer は C++/Qt で記述され動的ライブラリにコンパイルされた DLL ベースのプラグインをサポートしています。

参照プロジェクト

プラグインインターフェースの実装については、以下の公式リポジトリを参照してください:

プロジェクト 目的
F3DViewer 3D ファイルプレビュー
OfficeViewer Office ドキュメント
FontViewer フォントレンダリング
JsonTreeViewer JSON 構造ビュー
Collections すべて