Bundle プラグインパッケージ
本ドキュメントでは、Bundle プラグインパッケージの概念および開発方法について解説します。Bundle プラグインパッケージは、複数のプラグインを一つに統合することができ、Marketplace タイプ、GitHub タイプ、Package タイプの3種類をサポートしています。本ドキュメントでは、Bundle プロジェクトの作成、さまざまなタイプの依存関係の追加、および Bundle プロジェクトのパッケージ化に至る全プロセスを詳細に説明します。
Bundle プラグインパッケージは、複数のプラグインの集合です。これにより、複数のプラグインを単一のプラグイン内にパッケージ化し、プラグインの一括インストールを実現するとともに、より強力なサービスを提供できます。
Dify CLI ツールを使用して、複数のプラグインを Bundle としてパッケージ化できます。Bundle プラグインパッケージには、次の3つのタイプがあります。
Marketplace
タイプ。プラグインの ID とバージョン情報を保存します。インポート時には Dify Marketplace を通じて具体的なプラグインパッケージがダウンロードされます。GitHub
タイプ。GitHub のリポジトリURL、リリースバージョン番号、アセットファイル名を保存します。インポート時には Dify が対応する GitHub リポジトリにアクセスしてプラグインパッケージをダウンロードします。Package
タイプ。プラグインパッケージは Bundle 内に直接保存されます。参照元を保存しないため、Bundle パッケージのサイズが大きくなる可能性があります。
事前準備
- Dify プラグインスキャフォールディングツール
- Python 環境、バージョン ≥ 3.10
プラグイン開発用のスキャフォールディングツールの準備方法については、開発ツールの初期化を参照してください。
Bundle プロジェクトの作成
現在のパスで、スキャフォールディングコマンドラインツールを実行して、新しいプラグインパッケージプロジェクトを作成します。
このバイナリファイルを dify
にリネームし、/usr/local/bin
パスにコピーした場合、次のコマンドを実行して新しいプラグインプロジェクトを作成できます。
1. プラグイン情報の入力
プロンプトに従って、プラグイン名、作成者情報、プラグインの説明を設定します。チームで作業している場合は、作成者として組織名を記入することもできます。
名称は1~128文字で、使用できる文字は英字、数字、ハイフン、アンダースコアのみです。
情報を入力して Enter キーを押すと、Bundle プラグインプロジェクトディレクトリが自動的に作成されます。
2. 依存関係の追加
- Marketplace
次のコマンドを実行します。
ここで、marketplace_pattern
は Marketplace でのプラグイン参照であり、フォーマットは 組織名/プラグイン名:バージョン番号
です。
- Github
次のコマンドを実行します。
ここで、repo_pattern
は GitHub でのプラグイン参照であり、フォーマットは 組織名/リポジトリ名:release/アセットファイル名
です。
- Package
次のコマンドを実行します。
ここで、package_path
はプラグインパッケージのパスです。
Bundle プロジェクトのパッケージ化
次のコマンドを実行して Bundle プラグインをパッケージ化します。
コマンドを実行すると、現在のディレクトリに bundle.difybndl
ファイルが自動的に作成されます。このファイルが最終的なパッケージ結果です。