コミュニティーバージョンでプラグイン機能を利用するには、バージョンをv1.0.0にアップデートしてください。

プラグインとは

プラグインとは、開発者がより手軽に機能を拡張できる、サードパーティ製の拡張モジュールです。Difyプラットフォームには、Difyチームやコミュニティによってメンテナンスされた多くのツールがすでに用意されていますが、多様化するニッチなニーズを完全に満たせない場合があります。また、新しいツールをDifyプラットフォームに開発・統合するには、時間と手間がかかることが少なくありません。

そこで、よりアジャイルな開発を可能にするため、Difyのエコシステムをオープンにし、包括的なプラグイン開発SDKを提供することにしました。これにより、すべての開発者が独自のツールを容易に構築し、サードパーティのモデルやツールをシームレスに統合して、アプリケーションの可能性を飛躍的に向上させることができます。

プラグインのメリット

新しいプラグインシステムは、従来のフレームワークの制約を超え、より豊富で強力な拡張機能を提供します。明確に定義されたシナリオに対応するために、5つの異なるプラグインタイプを用意しており、開発者はDifyアプリケーションを自由にカスタマイズし、強化することができます。

さらに、プラグインシステムは共有しやすいように設計されています。DifyマーケットプレイスGitHub、またはローカルファイルパッケージを通じてプラグインを配布できます。他の開発者は、これらのプラグインを迅速にインストールし、そのメリットを享受できます。

Difyマーケットプレイスは、開発者向けのオープンなエコシステムであり、モデル、ツール、AIエージェント、拡張機能、プラグインバンドルなど、幅広いリソースを提供しています。マーケットプレイスを通じて、サードパーティのサービスを既存のDifyアプリケーションにシームレスに統合し、機能を強化し、Difyコミュニティ全体の発展に貢献できます。

新しいモデルを統合したい場合も、Difyの既存機能を拡張するための専用ツールを追加したい場合も、Dify マーケットプレイスには必要なリソースが揃っています。より多くの開発者の皆様に参加していただき、Difyのエコシステムを共に発展させ、関係者全員に利益をもたらすことを願っています。

プラグインの種類

  • モデル

    これらのプラグインは、さまざまなAIモデル(主要なLLMプロバイダーやカスタムモデルを含む)を統合し、LLM APIの設定とリクエストを処理します。モデルプラグインの作成の詳細については、クイックスタート:モデルプラグインをご覧ください。

  • ツール

    ツールとは、Chatflow、Workflow、Agentタイプのアプリケーションから呼び出すことができるサードパーティのサービスのことです。Difyアプリケーションの機能を拡張するためのAPI実装を提供します。たとえば、Google検索プラグインの開発については、クイックスタート:ツールプラグインをご参照ください。

  • エージェント戦略

    エージェント戦略プラグインは、エージェントノード内の推論および意思決定ロジックを定義します。これには、ツール選択、呼び出し、および結果処理などが含まれます。

  • エージェント戦略プラグインは、エージェントノード内部の推論および意思決定ロジックを定義します。これには、ツールの選択、実行、およびLLMから返された結果の処理ロジックが含まれます。詳細な開発ガイダンスについては、クイックスタート:エージェント戦略プラグインをご参照ください。

  • 拡張機能

    よりシンプルなシナリオのエンドポイント機能のみを提供する軽量プラグインで、HTTPサービスを介して迅速な拡張を可能にします。基本的なAPI呼び出しを必要とする簡単な統合に最適です。詳細については、クイックスタート:拡張機能プラグインをご参照ください。

  • バンドル

    「プラグインバンドル」は、複数のプラグインをまとめたものです。バンドルを使用すると、厳選されたプラグインセットを一度にインストールできます。プラグインを1つずつ追加する手間が省けます。プラグインバンドルの作成の詳細については、プラグイン開発:バンドルプラグインをご覧ください。

プラグインの新機能

  • LLMのマルチモーダル対応を拡張

    プラグインを使用すると、LLMがマルチモーダルデータを処理する能力を高めることができます。開発者は、画像編集や動画処理などのタスクを追加できます。トリミングや背景の削除から、ポートレート画像の処理まで、幅広い用途に対応できます。

  • 開発者フレンドリーなデバッグ機能

    プラグインシステムは、一般的なIDEとデバッグツールをサポートしています。いくつかの環境変数を設定するだけで、SaaSとして実行されているDifyインスタンスにリモートで接続できます。Difyでプラグインに対して実行した操作は、デバッグのためにローカルランタイムに転送されます。

  • 永続的なデータストレージ

    より複雑なユースケースに対応するために、プラグインシステムにはデータ永続性が組み込まれています。

    • プラグインレベルのデータストレージ: ワークスペースレベルの情報をプラグインと共有して、より高度なカスタム機能を実現できます。
    • 組み込みのデータ管理: プラグインはデータを確実に保存および管理できるため、複雑なビジネスロジックを容易に実装できます。
  • 便利な双方向通信

    プラグインは、Difyのコア機能と双方向に対話できるようになりました。

    • AIモデルの呼び出し
    • ツールの使用
    • アプリケーションへのアクセス
    • ナレッジベースとの対話
    • 関数ノードの呼び出し(質問分類、パラメータ抽出など)

    この双方向メカニズムにより、プラグインは既存のDify機能を活用するだけでなく、スタンドアロンのゲートウェイとしても機能し、アプリケーションのユースケースを拡大します。

  • 強化されたエンドポイントのカスタマイズ機能

    既存のDify API(ChatbotやWorkflow APIなど)に加えて、プラグイン内にカスタムAPIを作成できるようになりました。開発者はビジネスロジックをプラグインとしてラップし、Dify マーケットプレイスでホストすることで、データ処理とリクエスト処理のエンドポイントサポートを自動的に得られます。

詳しくはこちら

クイックスタート

プラグインをすばやくインストールして使用するには、以下を参照してください。

install-plugins.md

install-plugins.md

プラグインの開発を開始するには、以下を参照してください。

develop-plugins

develop-plugins

プラグインの公開

プラグインをDify Marketplaceで公開するには、必要な情報と利用方法に関するドキュメントを記入してください。その後、プラグインのコードをGitHubリポジトリに提出してください。承認されると、マーケットプレイスに掲載されます。

publish-to-dify-marketplace

publish-to-dify-marketplace

公式のDifyマーケットプレイスに加えて、個人のGitHubリポジトリでプラグインをホストしたり、ファイルとしてパッケージ化して直接共有することもできます。

package-plugin-file-and-publish.md

package-plugin-file-and-publish.md