You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
crazywoola 596f160a1e
Chore/add default step 1x url (#7933)
1 year ago
..
docs chore: update docstrings (#7343) 1 year ago
entities fix: support float type for tool parameter's default value (#7644) 1 year ago
provider Chore/add default step 1x url (#7933) 1 year ago
tool Do not pass query parameter when the value is empty (#7585) 1 year ago
utils feat(Tools): add feishu document and message plugins (#6435) 1 year ago
README.md Feat/assistant app (#2086) 1 year ago
README_CN.md Feat/assistant app (#2086) 1 year ago
__init__.py improve: generalize tool parameter converter (#4786) 1 year ago
errors.py FEAT: NEW WORKFLOW ENGINE (#3160) 1 year ago
tool_engine.py Feat/environment variables in workflow (#6515) 1 year ago
tool_file_manager.py refactor(models&tools): switch to dify_config in models and tools. (#6394) 1 year ago
tool_label_manager.py Feat/workflow phase2 (#4687) 1 year ago
tool_manager.py feat: support pinning, including, and excluding for model providers and tools (#7419) 1 year 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.