Xiao Ley 6610b4cee5 feat: add request_params field to jina_reader tool (#5610) 9 months ago
..
docs e7494d632c docs(api/core/tools/docs/en_US/tool_scale_out.md): Format by markdownlint. (#5903) 9 months ago
entities 1e28a8c033 chore: add create_json_message api for tools (#5440) 10 months ago
provider 6610b4cee5 feat: add request_params field to jina_reader tool (#5610) 9 months ago
tool bf2268b0af fix API tool's schema not support array (#6006) 9 months ago
utils dcb72e0067 chore: apply flake8-comprehensions Ruff rules to improve collection comprehensions (#5652) 10 months ago
README.md 86286e1ac8 Feat/assistant app (#2086) 1 year ago
README_CN.md 86286e1ac8 Feat/assistant app (#2086) 1 year ago
__init__.py 3542d55e67 improve: generalize tool parameter converter (#4786) 10 months ago
errors.py 7753ba2d37 FEAT: NEW WORKFLOW ENGINE (#3160) 1 year ago
tool_engine.py 4e2de638af feat: add ops trace (#5483) 10 months ago
tool_file_manager.py f40743183e :wrench: Add env variable for time signature (#4650) 11 months ago
tool_label_manager.py e852a21634 Feat/workflow phase2 (#4687) 11 months ago
tool_manager.py eee779a923 fix: the input field of tool panel not worked as expected (#6003) 9 months ago

README.md

Tools

This module implements built-in tools used in Agent Assistants and Workflows within Dify. You could define and display your own tools in this module, without modifying the frontend logic. This decoupling allows for easier horizontal scaling of Dify's capabilities.

Feature Introduction

The tools provided for Agents and Workflows are currently divided into two categories:

  • Built-in Tools are internally implemented within our product and are hardcoded for use in Agents and Workflows.
  • Api-Based Tools leverage third-party APIs for implementation. You don't need to code to integrate these -- simply provide interface definitions in formats like OpenAPI , Swagger, or the OpenAI-plugin on the front-end.

Built-in Tool Providers

Alt text

API Tool Providers

Alt text

Tool Integration

To enable developers to build flexible and powerful tools, we provide two guides:

Quick Integration 👈🏻

Quick integration aims at quickly getting you up to speed with tool integration by walking over an example Google Search tool.

Advanced Integration 👈🏻

Advanced integration will offer a deeper dive into the module interfaces, and explain how to implement more complex capabilities, such as generating images, combining multiple tools, and managing the flow of parameters, images, and files between different tools.