前回の記事「Difyプラグイン開発入門:Google検索ツールの実装方法」では、Google検索を行うカスタムツールのコードを作成しました。
しかし、コードを書いただけでは動きません。Dify上で実際に動作するかを確認し(デバッグ)、他のユーザーも使えるようにする(公開)必要があります。
この記事では、作成したプラグインを「リモートデバッグ」でテストし、「パッケージ化」して配布・公開するまでの手順を解説します。
1. リモートデバッグの準備
Difyのプラグイン開発では、ローカルPCでコードを動かしながら、クラウド(または別サーバー)にあるDify本体と通信させて動作確認を行う「リモートデバッグ」が可能です。
ステップ1:デバッグ情報の取得
まず、接続先となるDify側の情報を取得します。
- Difyにログインし、右上のアカウントアイコンから「プラグイン」をクリックします。
- プラグイン管理画面の右上にある虫のアイコン(デバッグボタン)をクリックします。
- 表示されたポップアップから、「リモートサーバーアドレス」と「デバッグキー(Key)」をコピーします。

ステップ2:環境変数の設定 (.env)
作成したプラグインプロジェクトのルートディレクトリに戻り、.env ファイルを作成(または編集)して、先ほどの情報を設定します。
# .env ファイル
取得したリモートサーバーアドレス
REMOTE_INSTALL_URL=debug.dify.ai:5003
取得したデバッグキー
REMOTE_INSTALL_KEY=your-debug-key-xxxxxxxxxxxxxxxx
デバッグモードの指定
INSTALL_METHOD=remote
注意: .env ファイルには重要なキー情報が含まれます。Gitなどで管理する場合は、必ず .gitignore に含めて公開されないようにしてください。
2. プラグインの起動と動作確認
設定ができたら、ローカルでプラグインサーバーを立ち上げます。
ステップ1:ローカルサーバーの起動
ターミナルで以下のコマンドを実行します。
python -m main
成功すると、Difyのプラグイン管理画面に、開発中のプラグイン(例:Google Search)が自動的に表示され、「デバッグ中」のステータスになります。
ステップ2:認証情報の設定とテスト
Dify画面上でプラグインをクリックし、設定画面を開きます。
- 前回の記事で設定した
SerpApi API Keyの入力欄が表示されるので、実際のAPIキーを入力して保存します。 - 保存時に、実装した
_validate_credentialsメソッドが走り、キーの有効性がチェックされます。エラーが出なければ認証成功です。
ステップ3:実際の動作確認
Difyの「スタジオ」や「チャットボット」作成画面で、このツールを追加して実際に会話してみましょう。
「今日の東京の天気は?」などと質問し、Google検索の結果が返ってくれば成功です。
3. パッケージ化とインストール
デバッグが完了したら、他のユーザーや本番環境で使えるようにプラグインをパッケージ化(ファイル化)します。
パッケージの作成
Dify Plugin CLIツールを使用します。プロジェクトの親ディレクトリに移動し、以下のコマンドを実行します。
# ./google はプラグインのディレクトリ名
dify plugin package ./google
実行後、ディレクトリ内に google.difypkg というファイルが生成されます。これがプラグインの実体です。
ローカルインストール(社内利用など)
作成した .difypkg ファイルは、Difyのプラグイン管理画面から「ローカルプラグインをインストール」を選択してアップロードすることで、すぐに使用できます。
社内チームだけで共有したい場合は、このファイルを共有するだけでOKです。
4. マーケットプレイスへの公開(オプション)
自作したプラグインを世界中のDifyユーザーに使ってもらいたい場合は、公式マーケットプレイスへの公開申請を行います。
- GitHubリポジトリの準備:
Dify公式の dify-plugins リポジトリをフォークします。
- コードの追加:
フォークしたリポジトリに、作成したプラグインのコードを追加します。
- プルリクエスト(PR)の作成:
公式リポジトリに対してPRを送ります。この際、マニフェストファイル(
manifest.yaml)の記述やアイコン、READMEなどがガイドラインに沿っているか厳しくチェックされます。 - 審査と公開:
Difyチームによる審査に合格するとマージされ、マーケットプレイスにあなたのプラグインが表示されるようになります。
まとめ
Difyのプラグイン開発は、「ローカルでコードを書き、リモートデバッグで即座に確認し、パッケージ化して配布する」という非常にモダンで効率的なフローで行えます。
まずは自分専用の便利なツールを作ることから始め、自信がついたらマーケットプレイスで公開して、Difyのエコシステムに貢献してみてはいかがでしょうか。


コメント