Before Submitting a Pull Request (PR)

  1. Ensure the Plugin Functions Properly and Documentation is Complete
  • Verify that the plugin’s functionality works correctly. For details, please refer to Remote Debugging Plugins.
  • Provide a comprehensive README file, including:
    • Setup instructions and usage guide.
    • Code, APIs, credentials, or other information that plugin users need to connect the plugin to the service.
  • Ensure that collected user information is only used for connecting services and improving plugin functionality.
  • Prepare a privacy policy content file or online document URL according to the Plugin Privacy Data Protection Guide.
  1. Verify the Value Contribution of the Plugin
  • Ensure the plugin provides unique value to Dify users.
  • The plugin should introduce functionality or services not yet provided by Dify or other plugins.
  • Follow community standards:
    • Content should be non-violent and respectful to the global user community.
    • Comply with the relevant policies of the integrated service.
  • How to check if similar plugins already exist?
    • Avoid submitting plugins with functionality that duplicates existing plugins or PRs, unless the new plugin has the following characteristics:
      • Introduces new features.
      • Provides performance improvements.
    • How to determine if a plugin is unique enough:
      • If the plugin only makes minor adjustments to existing functionality (e.g., adding language parameters), it is recommended to extend the existing plugin directly.
      • If the plugin implements significant functional changes (e.g., optimizing batch processing or improving error handling), it can be submitted as a new plugin.
      • Not sure? Please include a brief explanation in your PR submission, explaining why a new plugin is needed.

Example: Taking the Google search plugin as an example, it accepts a single input query and outputs a list of Google search results using the Google Search API. If you provide a new Google search plugin with similar underlying implementation but with minor input adjustments (e.g., adding new language parameters), we recommend extending the existing plugin. On the other hand, if you implement the plugin in a new way with optimized batch search and error handling capabilities, it can be considered as a separate plugin for review.

  1. Ensure the Plugin Complies with the Following Privacy Data Standards

Information Disclosure Requirements:

  • Developers must declare whether they collect any type of user personal data when submitting an application/tool. For details, please refer to the Plugin Privacy Data Protection Guide.
  • If collected, simply list the types of data collected (e.g., username, email, device ID, location information, etc.), no need to be overly detailed.
  • Developers must provide a privacy policy link. The privacy policy only needs to state what information is collected, how the information is used, what information is disclosed to third parties, and include links to third-party privacy policies.

Review Focus:

  • Form Review: Check if data collection has been declared as required.
  • High-risk Data Screening: Focus on whether sensitive data (e.g., health information, financial information, children’s personal information, etc.) is collected. If sensitive data is collected, additional review of its purpose of use and security measures is required.
  • Malicious Behavior Screening: Check for obvious malicious behavior, such as collecting data without user consent or uploading user data to unknown servers.