このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
プラグインは、Dify プラットフォーム内の他のツールタイプのプラグインを逆呼び出しできます。逆呼び出しの基本概念に馴染みがない場合は、まず Dify サービスの逆呼び出し をお読みください。
次のようなシナリオを考えてみます。
- ツールタイプのプラグインが機能を実装したものの、結果が期待どおりではなく、データの後処理が必要な場合。
- タスクに Web スクレイパーが必要で、スクレイピングサービスを柔軟に選びたい場合。
- 複数のツールの結果を集約する必要があるが、Workflow アプリケーションでは処理が難しい場合。
このような場合、プラグインから既存の他のツールを呼び出します。市場のツール、自作の Workflow as Tool、カスタムツールのいずれも、プラグインの self.session.tool フィールドを通じて利用できます。
インストール済みツールの呼び出し
現在のワークスペースにインストールされている任意のツールを呼び出します。他のツールタイプのプラグインも含まれます。
エントリーポイント
インターフェース
def invoke_builtin_tool(
self, provider: str, tool_name: str, parameters: dict[str, Any]
) -> Generator[ToolInvokeMessage, None, None]:
pass
provider:プラグイン ID とツール供給元名を組み合わせたもので、langgenius/google/google のような形式です。
tool_name:具体的なツール名です。
parameters:ツールに渡す引数です。
Workflow as Tool の詳細については、ツールプラグインドキュメント を参照してください。
エントリーポイント
インターフェース
def invoke_workflow_tool(
self, provider: str, tool_name: str, parameters: dict[str, Any]
) -> Generator[ToolInvokeMessage, None, None]:
pass
provider:このツールの ID です。
tool_name:ツールの作成時に指定した名前です。
カスタムツールの呼び出し
エントリーポイント
インターフェース
def invoke_api_tool(
self, provider: str, tool_name: str, parameters: dict[str, Any]
) -> Generator[ToolInvokeMessage, None, None]:
pass
provider:このツールの ID です。
tool_name:OpenAPI 仕様の operation_id です。operation_id が存在しない場合は、Dify によって自動生成された tool_name であり、ツール管理ページで確認できます。
関連リソース
Last modified on June 25, 2026