このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。Dify は複数のプラグインタイプをサポートしており、それぞれがプラットフォーム内の異なる拡張ポイントを対象としています。コードがどのように呼び出されるかに合わせて、適切なタイプを選択してください。
クイック判断
| やりたいこと | 構築するもの |
|---|---|
| Agent やワークフローに呼び出し可能なアクション(検索、メール送信、データ変換など)を追加する | ツール |
| 新しい LLM、埋め込み、リランク、TTS、STT、モデレーションモデルを Dify 内で選択できるようにする | モデル |
| Agent 向けにカスタム推論ループ(ReAct、Function Calling の派生など)を実装する | Agent 戦略 |
| 外部サービスが呼び出して Dify ワークフローを駆動できる HTTP エンドポイントを公開する | 拡張機能(Endpoint) |
| 外部システムからドキュメントをナレッジベースに取り込む | データソース |
| 上流で何かが起きたとき(webhook の発火、ファイルの到着)にワークフローを開始する | トリガー |
よくある質問
1 つのプラグインで複数のタイプを組み合わせられますか?
1 つのプラグインで複数のタイプを組み合わせられますか?
はい。ツールプラグインはエンドポイントも公開できます。たとえば Discord ボットプラグインは、1 つのパッケージ内でメッセージの送信(ツール)と webhook の受信(エンドポイント)を行います。モデルプラグインはより厳格で、ツールやエンドポイントをバンドルできません。
ツールと Agent 戦略:何が違いますか?
ツールと Agent 戦略:何が違いますか?
ツールは Agent が呼び出すと判断する個別の機能です(「ウェブを検索する」など)。Agent 戦略は 推論ループそのもの であり、どのツールをどの順序で呼び出し、いつ停止するかを決めるポリシーです。Agent の思考方法そのものを置き換えるのでなければ、ツールを構築してください。
データソースとトリガー:どちらも外部システムから取得しますか?
データソースとトリガー:どちらも外部システムから取得しますか?
データソースは検索のためにドキュメントをナレッジベースに取り込みます。トリガーは上流イベントの発生時にワークフローをリアルタイムで起動します。同じシステムで両方を実現できますが、消費パターンが異なります:インデックス化と、イベント駆動の実行です。
拡張機能とツール:素の HTTP エンドポイントが適切なのはどんなときですか?
拡張機能とツール:素の HTTP エンドポイントが適切なのはどんなときですか?
拡張機能は逆方向のためのものです:外部サービスが Dify に 呼び込みます。ツールは Agent やワークフローが外部サービスを 呼び出す ためのものです。プラグインがアクションではなく入口となる場合は、拡張機能を構築してください。
次のステップ
タイプを選んだら、CLI をセットアップしてプロジェクトの雛形を作成します:CLI のインストール
お使いのマシンに
dify を取得し、dify plugin init を実行します。manifest 仕様を読む
すべてのプラグインが共有する YAML 構造を理解します。