Skip to main content
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
プラグインは、Dify プラットフォーム内の他のツールタイプのプラグインを逆呼び出しできます。逆呼び出しの基本概念に馴染みがない場合は、まず Dify サービスの逆呼び出し をお読みください。 次のようなシナリオを考えてみます。
  • ツールタイプのプラグインが機能を実装したものの、結果が期待どおりではなく、データの後処理が必要な場合。
  • タスクに Web スクレイパーが必要で、スクレイピングサービスを柔軟に選びたい場合。
  • 複数のツールの結果を集約する必要があるが、Workflow アプリケーションでは処理が難しい場合。
このような場合、プラグインから既存の他のツールを呼び出します。市場のツール、自作の Workflow as Tool、カスタムツールのいずれも、プラグインの self.session.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 の呼び出し

Workflow as Tool の詳細については、ツールプラグインドキュメント を参照してください。

エントリーポイント

    self.session.tool

インターフェース

    def invoke_workflow_tool(
        self, provider: str, tool_name: str, parameters: dict[str, Any]
    ) -> Generator[ToolInvokeMessage, None, None]:
        pass
  • provider:このツールの ID です。
  • tool_name:ツールの作成時に指定した名前です。

カスタムツールの呼び出し

エントリーポイント

    self.session.tool

インターフェース

    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