Skip to main content
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
Endpoint はプラグインが公開する HTTP インターフェースで、外部システムとの統合に使用します。このドキュメントでは、Neko Cat プロジェクトを例にその構造を説明します。完全なプラグインコードについては、GitHub リポジトリ を参照してください。

グループ定義

Endpoint グループは、複数の Endpoint の集合です。Dify プラグイン内で新しい Endpoint を作成する際、以下の設定を入力する必要がある場合があります。
Endpoint グループの設定フォーム
Endpoint Name のほか、グループの設定を記述することでフォーム項目を追加できます。保存すると、このグループに含まれる複数のインターフェースが表示され、それらはすべて同じ設定を共有します。
Endpoint グループのインターフェース一覧

構造

  • settings (map[string] ProviderConfig): Endpoint 設定の定義。
  • endpoints (list[string]、必須): 具体的な endpoint インターフェース定義を指します。

インターフェース定義

  • path (string): Werkzeug インターフェース標準に従います。
  • method (string): インターフェースメソッド。HEADGETPOSTPUTDELETEOPTIONS のみをサポートします。
  • extra (object): 基本情報以外の設定情報。
    • python (object)
      • source (string): このインターフェースを実装するソースコード。

インターフェース実装

dify_plugin.Endpoint を継承するサブクラスと、その _invoke メソッドを実装します。
  • 入力パラメータ
    • r (Request): werkzeugRequest オブジェクト。
    • values (Mapping): パスから解析されたパスパラメータ。
    • settings (Mapping): この Endpoint の設定情報。
  • 戻り値
    • werkzeugResponse オブジェクト。ストリーミングレスポンスをサポートします。
    • 文字列を直接返すことはサポートされていません。
サンプルコード:

注意事項

  • Endpoint はプラグインが呼び出されたときにのみインスタンス化されます。常時稼働するサービスではありません。
  • Endpoint を開発する際はセキュリティに注意し、危険な操作の実行を避けてください。
  • Endpoint は Webhook コールバックの処理や、他のシステムが接続するためのインターフェースの提供に使用できます。
プラグイン開発を始めたばかりの場合は、まず プラグイン開発入門開発者チートシート を読むことをお勧めします。

関連リソース

Last modified on June 24, 2026