Files
dify-docs/plugin_dev_en/0111-getting-started-dify-plugin.en.mdx
2025-05-04 01:17:47 +08:00

87 lines
6.7 KiB
Plaintext

---
dimensions:
type:
primary: conceptual
detail: introduction
level: beginner
standard_title: Getting Started Dify Plugin
language: en
title: Welcome to Dify Plugin Development
description: An introduction to Dify plugins' concepts, functions, and development
value, including brief explanations of plugin types (Model, Tool, Agent Strategy,
Extension, Bundle), and an overview of developer documentation contents.
---
Hello! We're delighted that you're interested in building Dify plugins. This developer documentation center is your core resource, designed to help you learn, create, debug, publish, and manage Dify plugins.
**What are Dify Plugins?**
You can think of Dify plugins as modular components that give AI applications **enhanced perception and execution capabilities**. They make it possible to integrate external services, custom functions, and specialized tools into AI applications built with Dify in a "plug-and-play" manner. Through plugins, your AI applications can better "see," "hear," "speak," "draw," "calculate," "reason," connect to external APIs, and even perform real-world actions.
As a **plugin developer**, you can build exclusive functional extensions for your own Dify applications, or contribute your innovations to the entire Dify ecosystem, benefiting more users.
**In this developer documentation, you will find:**
This documentation aims to provide clear guidance for plugin developers, whether you're a first-time experimenter or seeking advanced customization:
- **[Quick Start](/plugin_dev_en/0211-getting-started-dify-tool.en):** Learn the basic concepts of the Dify plugin system, understand its core architecture, and quickly set up your development environment to build your first "Hello World" plugin.
- **[Core Concepts](/plugin_dev_en/0131-cheatsheet.en):** Gain a deep understanding of key principles such as plugin lifecycle, security model, Endpoint Integration, Reverse Call, persistent storage, and more.
- **Developing Different Types of Plugins:** Specific development guides for each plugin type:
- **[Models](/plugin_dev_en/0211-getting-started-new-model.en):** Learn how to package, configure, and manage different AI models as plugins.
- **[Tools](/plugin_dev_en/0211-getting-started-dify-tool.en):** Build specialized capabilities for Agents and workflows, such as data analysis, content processing, custom integrations, and more.
- **[Agent Strategies](/plugin_dev_en/9433-agent-strategy-plugin.en):** Create custom reasoning strategies (like ReAct, CoT, ToT) to empower autonomous Agents in Dify.
- **[Extensions](/plugin_dev_en/9231-extension-plugin.en):** Implement integration with external services through HTTP Webhooks to handle complex logic.
- **[Bundles](/plugin_dev_en/9241-bundle.en):** Learn how to combine multiple plugins into packages for easy distribution and deployment.
- **[Development and Debugging](/plugin_dev_en/0411-remote-debug-a-plugin.en):** Master the tools and techniques for efficient plugin development, including using the SDK, leveraging our friendly remote debugging features, and testing your plugins.
- **[Publishing and Marketplace](/plugin_dev_en/0321-release-overview.en):** Learn how to package your plugins, submit them to the official Dify Marketplace, or share them with the community through channels like GitHub.
- **[API & SDK Reference](/plugin_dev_en/0411-general-specifications.en):** Find detailed technical specifications for APIs, SDK methods, Manifest file formats, and required Schemas.
- **[Community and Contributions](/plugin_dev_en/0312-contributor-covenant-code-of-conduct.en):** Learn how to communicate with other developers, seek help, and contribute to the Dify plugin ecosystem and this documentation.
**Why Choose to Develop Dify Plugins?**
- **Extend AI Capabilities:** Give Dify-based applications unlimited possibilities through specialized tools, multimodal processing, connection to real-world services, and more.
- **Customize the Dify Experience:** By building dedicated plugins, precisely meet the needs of specific business scenarios or workflows.
- **Reshape Intelligent Processes:** Use custom tools and Agent strategies to optimize RAG processes and enhance Agent reasoning capabilities.
- **Achieve Modularity and Decoupling:** Develop and manage functions as independent plugins, improving code maintainability and flexibility.
- **Reach Dify Users:** Share your innovative achievements with the broader Dify user community through the Dify Marketplace.
- **Enjoy a Developer-Friendly Experience:** We provide powerful SDKs, convenient remote debugging tools, and clear documentation to help you develop efficiently.
**Ready to Start Building?**
Here are some quick entry points to help you get started:
- **[Read the Quick Start Guide](/plugin_dev_en/0211-getting-started-dify-tool.en)** - Begin by building a simple tool plugin
- **[Explore the Plugin Development Cheatsheet](/plugin_dev_en/0131-cheatsheet.en)** - Understand core concepts and common commands
- **[Initialize Your Development Environment](/plugin_dev_en/0221-initialize-development-tools.en)** - Set up your development environment
- **[Check the FAQ](/plugin_dev_en/0331-faq.en)** - Get answers to common questions
## Related Resources
- **[Model Plugin Introduction](/plugin_dev_en/0131-model-plugin-introduction.en)** - Learn about the basic structure of model plugins
- **[Development Practice Example](/plugin_dev_en/0432-develop-a-slack-bot-plugin.en)** - View a real plugin development case
We look forward to seeing the great applications and features you create using Dify plugins!
{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}
<CardGroup cols="2">
<Card
title="Edit this page"
icon="pen-to-square"
href="https://github.com/langgenius/dify-docs-mintlify/edit/main/plugin_dev_en/0111-getting-started-dify-plugin.en.mdx"
>
Help improve our documentation by contributing directly
</Card>
<Card
title="Report an issue"
icon="github"
href="https://github.com/langgenius/dify-docs-mintlify/issues/new?title=Documentation%20Issue%3A%20getting-started-dify-plugin&body=%23%23%20Issue%20Description%0A%3C%21--%20Please%20briefly%20describe%20the%20issue%20you%20found%20--%3E%0A%0A%23%23%20Page%20Link%0Ahttps%3A%2F%2Fgithub.com%2Flanggenius%2Fdify-docs-mintlify%2Fblob%2Fmain%2Fplugin_dev_en%2F0111-getting-started-dify-plugin.en.mdx%0A%0A%23%23%20Suggested%20Changes%0A%3C%21--%20If%20you%20have%20specific%20suggestions%20for%20changes%2C%20please%20describe%20them%20here%20--%3E%0A%0A%3C%21--%20Thank%20you%20for%20helping%20improve%20our%20documentation%21%20--%3E"
>
Found an error or have suggestions? Let us know
</Card>
</CardGroup>