Bundle プラグインパッケージは、複数のプラグインの集合です。これにより、複数のプラグインを単一のプラグイン内にパッケージ化し、プラグインの一括インストールを実現するとともに、より強力なサービスを提供できます。

Dify CLI ツールを使用して、複数のプラグインを Bundle としてパッケージ化できます。Bundle プラグインパッケージには、次の3つのタイプがあります。

  • Marketplace タイプ。プラグインの ID とバージョン情報を保存します。インポート時には Dify Marketplace を通じて具体的なプラグインパッケージがダウンロードされます。
  • GitHub タイプ。GitHub のリポジトリURL、リリースバージョン番号、アセットファイル名を保存します。インポート時には Dify が対応する GitHub リポジトリにアクセスしてプラグインパッケージをダウンロードします。
  • Package タイプ。プラグインパッケージは Bundle 内に直接保存されます。参照元を保存しないため、Bundle パッケージのサイズが大きくなる可能性があります。

事前準備

  • Dify プラグインスキャフォールディングツール
  • Python 環境、バージョン ≥ 3.10

プラグイン開発用のスキャフォールディングツールの準備方法については、開発ツールの初期化を参照してください。

Bundle プロジェクトの作成

現在のパスで、スキャフォールディングコマンドラインツールを実行して、新しいプラグインパッケージプロジェクトを作成します。

./dify-plugin-darwin-arm64 bundle init

このバイナリファイルを dify にリネームし、/usr/local/bin パスにコピーした場合、次のコマンドを実行して新しいプラグインプロジェクトを作成できます。

dify bundle init

1. プラグイン情報の入力

プロンプトに従って、プラグイン名、作成者情報、プラグインの説明を設定します。チームで作業している場合は、作成者として組織名を記入することもできます。

名称は1~128文字で、使用できる文字は英字、数字、ハイフン、アンダースコアのみです。

情報を入力して Enter キーを押すと、Bundle プラグインプロジェクトディレクトリが自動的に作成されます。

2. 依存関係の追加

  • Marketplace

次のコマンドを実行します。

dify-plugin bundle append marketplace . --marketplace_pattern=langgenius/openai:0.0.1

ここで、marketplace_pattern は Marketplace でのプラグイン参照であり、フォーマットは 組織名/プラグイン名:バージョン番号 です。

  • Github

次のコマンドを実行します。

dify-plugin bundle append github . --repo_pattern=langgenius/openai:0.0.1/openai.difypkg

ここで、repo_pattern は GitHub でのプラグイン参照であり、フォーマットは 組織名/リポジトリ名:release/アセットファイル名 です。

  • Package

次のコマンドを実行します。

dify-plugin bundle append package . --package_path=./openai.difypkg

ここで、package_path はプラグインパッケージのパスです。

Bundle プロジェクトのパッケージ化

次のコマンドを実行して Bundle プラグインをパッケージ化します。

dify-plugin bundle package ./bundle

コマンドを実行すると、現在のディレクトリに bundle.difybndl ファイルが自動的に作成されます。このファイルが最終的なパッケージ結果です。