What is the Dify plugin?
From third partiesModels and ToolsIt is an important unit that helps developers to enhance the capabilities of their applications. While Dify The platform has built-in a number of officially maintained and community-contributed tools, but under this model, it is difficult for the existing tools to fully cover the needs of various scenarios, and it takes a long time for new tools to be developed and embedded into the Dify platform.
A better approach is to open up the ecosystem so that every developer can easily build their own tools.
Now New! "Plug-in" , which is a more developer-friendly and scalable third-party service extension module. The new plug-in system breaks through the limitations of the original framework, providing richer and more powerful expansion capabilities. Provide four types of plug-ins, each type corresponds to a mature scenario solution, empowering developers with unlimited creativity to transform the Dify application space.
Also, the plugin system has more friendly distribution properties, you can use the Dify Marketplace maybe GitHub as well aslocal documentform to share your plugin; other developers are able to install the plugin conveniently.
Whether you want to access new models, add specific tools to help extend the existing functionality of the Dify platform, you'll find the resources you need in the rich plugin marketplace.We want more developers to participate in building the Dify ecosystem and benefit from it.
To experience the plugin's functionality in the Community Edition, please upgrade the version number to v1.0.0.
Plug-in Type
The plug-in contains the following four types:
- Models
Access plugin for all kinds of AI models, including mainstream model service providers and custom models, support configuration and invocation. Focus on requesting LLM API services. For details about the development of model plug-ins, please refer toQuick Start: Model Type PluginThe
- Tools
External tools that can be used by Chatflow / Workflow / Agent application types, providing a complete toolset and API implementation capabilities. Not only can you call various tools, but you can also build custom endpoints.
For example, in the development of Discord Bot, it is possible to use existing tools while implementing a dedicated endpoint for sending and receiving messages. For more information on the development of tool plug-ins, please refer toQuick Start: Tool Type Plug-insThe
- Agent Strategy
The Agent Policy Plugin defines the reasoning and decision logic within an Agent node, including tool selection, invocation, and result processing. For more information on the development of the Agent Policy Plugin, please refer to theQuick Start: Agent Policy Type PluginThe
- Extensions
Lightweight solution designed for simple scenarios by providing only endpoint capability and quickly realizing functionality expansion through HTTP services. Suitable for simple integration scenarios that require only basic API calls. For more information about the development of the extension plugin, please refer toQuick Start: Extension Type PluginThe
- Bundle
A plugin pack is a collection of plugins. By installing plugin sets you can install pre-selected plugins in bulk and say goodbye to the tedious process of manually installing plugins one by one. For details on the development of plugin packages, please refer toPlugin Development: Bundle Type PluginsThe
Plug-in Features
In terms of plug-in functionality, the following features are newly introduced in the plug-in compared to the original tool or model:
- Enhancing LLM's Multimodal Capabilities
The plug-in system can enhance LLM's ability to process multimedia content. According to the scenarios, developers can use plug-ins to assist LLM in accomplishing tasks such as image processing and video processing, including but not limited to image cropping, background processing, and character image processing.
- Developer-friendly debugging capabilities
The plug-in system provides complete development and debugging support:
- With support for major IDEs and debugging tools, you can remotely connect to a Dify instance with just a few simple environment variables. It even supports connecting to Dify's SaaS service, where anything you do with the plugin in Dify will be forwarded to your local runtime!
- Persistent storage of data
To support complex application scenarios, the plug-in system introduces a new data persistence storage capability:
- Plug-in level data storage
- Workspace level data sharing, you can pass information about the current workspace to the plugin to help it provide more customization.
- Built-in data management mechanism, which enables the plug-in to reliably save and manage application data to support more complex business scenarios.
- Plug-in level data storage
- Convenient Reverse Calls
The plugin system provides two-way interaction with the ability to proactively call Dify's core functions as instructed, including:
- AI Model Calling
- Tool Use
- application access
- Knowledge Base Interaction
- Functional node calls (e.g., problem categorization, parameter extraction, etc.) This bi-directional call mechanism gives the plug-in a more powerful functional integration capability.
This means that not only can you use the existing Dify application capabilities to fully enhance the plug-in capabilities, but you can also use the plug-in as a standalone Dify application request gateway to expand the application usage scenarios.
- More freedom to customize API interfaces (Endpoint extensions)
In addition to the original APIs within the Dify application (e.g. Chatbot application API, Workflow application API, etc.), the plug-in system adds the ability to customize APIs. Developers can encapsulate their business code as a plugin according to their business needs and host it on the Dify MarketplaceThe endpoints are automatically provided to implement customized logic for data processing, request response, etc.
Dify Marketplace
The Dify Marketplace is an open ecosystem for developers, offering a rich set of resources such as models, tools, AI Agents, Extensions and plugin packages. Through the Marketplace, you can seamlessly access third-party services for your existing Dify apps, enhancing the capabilities of your existing apps and driving the Dify ecosystem together.