このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
リモートデバッグは、プラグインを反復開発する最も速い方法です。プラグインのプロセスを手元のノート PC で実行すると、Dify はそれをワークスペースにインストールされたプラグインとして扱います。編集を保存してプロセスを再起動すれば、変更がすぐに反映されます。
前提条件#
- 統合 で デバッグ を開ける Dify ワークスペース。デバッグ が表示されるのは、誰がデバッグできますか? の設定で許可されたメンバーだけです。この設定はワークスペースのオーナーと管理者が管理します。
- 雛形を作成済みのプラグインプロジェクト(未作成の場合は CLI を参照してください)。
- Python 3.12 とプラグインの依存関係がインストール済みであること(
pip install -r requirements.txt)。
ステップ 1:デバッグ URL と Key を取得する#
統合 で、サイドバー下部の デバッグ をクリックし、Port と Key の値をコピーします。
host は debug-plugin.dify.dev:5003 のような形式です。Key はワークスペースごとに固有で、これを持つ人は誰でもプラグインを接続できるため、共有しないでください。
host のデフォルトは 127.0.0.1:5003 で、プラグインデーモンの環境変数 PLUGIN_REMOTE_INSTALLING_HOST / PLUGIN_REMOTE_INSTALLING_PORT で設定します。開発マシンからポート 5003 に到達できることを確認してください。Dify を同じホスト上の Docker で実行している場合は、デーモンコンテナのブリッジ IP を使用する(またはポートを公開する)必要があります。
ステップ 2:プラグインの .env を設定する#
プラグインプロジェクトで .env.example を .env にコピーし、値を入力します。
REMOTE_INSTALL_URL はステップ 1 の host:port を結合したものであり、2 つの別々の変数ではありません。
ステップ 3:プラグインを実行する#
プラグインプロジェクトのディレクトリで実行します。
プロセスはフォアグラウンドで実行され続け、受信した呼び出しをログに記録します。コードを編集したらプロセスを再起動して変更を適用します。
ステップ 4:インストールを確認する#
統合 に戻り、プラグインの種類に対応するセクションで探します。たとえばツールを作成した場合は、ほかのツールプラグインと並んで表示されます。
プラグインのタイルにデバッグインジケーターが表示され、ローカルのターミナルに最初の登録ハンドシェイクがログ出力されます。接続完了です。
ワークスペースの他のメンバーにもこのプラグインが表示され、使用できます。ただし、それはローカルのプロセスが接続している間に限られます。
他のプラグインと同じようにトリガーします。ワークフローノードから呼び出す、Agent 内でツールとして実行する、またはエンドポイント URL にアクセスします。呼び出しはローカルのプロセスに届き、デバッガーを接続できます。
トラブルシューティング#
接続が拒否される / host に到達できない
デーモンが REMOTE_INSTALL_URL に指定したアドレスでリッスンしていません。セルフホスト構成では、デーモンコンテナに PLUGIN_REMOTE_INSTALLING_ENABLED=true が設定され、ポート 5003 が公開されていることを確認してください。クラウドでは、コピーした host:port が デバッグ に表示されたものと完全に一致しているか再確認してください。
プラグインは起動するがプラグイン一覧に表示されない
最も多い原因は、REMOTE_INSTALL_KEY が古いか誤っていることです。デバッグ から現在の Key をコピーして .env に貼り付け、python -m main を再実行してください。また、デーモンのログに受信した登録が記録されているか確認してください。
`plugin_unique_identifier is not valid`
manifest.yaml または provider/*.yaml の author フィールドが、デーモンが受け付ける値と一致していません。自分の GitHub ハンドルに設定してから再起動してください。
変更が反映されない
プラグインのプロセスは編集のたびに再起動が必要で、ホットリロードはありません。Ctrl+C で停止し、python -m main を再実行してください。
関連リソース#
- CLI:プラグインの雛形を作成し、
.envを設定する - プラグインのログ出力:プラグイン内部から構造化ログを出力する
- ローカルファイルとしてパッケージ化して共有する:デバッグ完了後にプラグインを配布する