Publish to Dify Marketplace
This guide provides detailed instructions on the complete process of publishing plugins to the Dify Marketplace, including submitting PRs, the review process, post-release maintenance, and other key steps and considerations.
Dify Marketplace welcomes plugin submissions from partners and community developers. Your contributions will further enrich the possibilities of Dify plugins. This guide provides a clear publishing process and best practice recommendations to help your plugin get published smoothly and bring value to the community. If you haven’t developed a plugin yet, you can refer to the Plugin Development: Hello World Guide.
Please follow these steps to submit your plugin Pull Request (PR) to the GitHub repository for review. After approval, your plugin will be officially launched on the Dify Marketplace.
Plugin Publishing Process
Publishing a plugin to the Dify Marketplace involves the following steps:
- Complete plugin development and testing according to the Plugin Developer Guidelines;
- Write a privacy policy for the plugin according to the Plugin Privacy Data Protection Guide, and include the file path or URL of the privacy policy in the plugin General Specifications;
- Complete plugin packaging;
- Fork the Dify Plugins code repository;
- Create an Organization directory, create a plugin name directory under the Organization directory, and upload the plugin code and pkg file to the corresponding plugin name directory;
- Submit a Pull Request (PR) following the PR Template format in GitHub and wait for review;
- After the review is approved, the plugin code will be merged into the Main branch, and the plugin will be automatically launched on the Dify Marketplace.
Plugin submission, review, and publication flow chart:
Note: The Contributor Agreement in the above diagram refers to the Plugin Developer Guidelines.
During Pull Request (PR) Review
Actively respond to reviewer questions and feedback:
- PR comments unresolved within 14 days will be marked as stale (can be reopened).
- PR comments unresolved within 30 days will be closed (cannot be reopened, a new PR needs to be created).
After Pull Request (PR) Approval
1. Ongoing Maintenance
- Address user-reported issues and feature requests.
- Migrate plugins when significant API changes occur:
- Dify will publish change notifications and migration instructions in advance.
- Dify engineers can provide migration support.
2. Restrictions during the Marketplace Public Beta Testing Phase
- Avoid introducing breaking changes to existing plugins.
Review Process
1. Review Order
- PRs are processed on a first-come, first-reviewed basis. Review will begin within 1 week. If there is a delay, reviewers will notify the PR author via comments.
2. Review Focus
- Check if the plugin name, description, and setup instructions are clear and instructive.
- Check if the plugin’s General Specifications meets format standards and includes valid author contact information.
3. Plugin Functionality and Relevance
- Test plugins according to the Plugin Development Guide.
- Ensure the plugin has a reasonable purpose in the Dify ecosystem.
Dify.AI reserves the right to accept or reject plugin submissions.
Frequently Asked Questions
- How to determine if a plugin is unique?
Example: A Google search plugin that only adds multilingual versions should be considered an optimization of an existing plugin. However, if the plugin implements significant functional improvements (such as optimized batch processing or error handling), it can be submitted as a new plugin.
- What if my PR is marked as stale or closed?
PRs marked as stale can be reopened after addressing feedback. Closed PRs (over 30 days) require creating a new PR.
- Can I update plugins during the Beta testing phase?
Yes, but breaking changes should be avoided.
Related Resources
- Publishing Plugins - Learn about various publishing methods
- Plugin Developer Guidelines - Plugin submission standards
- Plugin Privacy Data Protection Guide - Privacy policy writing requirements
- Package as Local File and Share - Plugin packaging methods
- General Specifications - Define plugin metadata