Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dify.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Marketplace is the official catalog of community-built and partner-built Dify plugins. Submitting your plugin here puts it one click away from every Dify user. Plugins are published by opening a Pull Request against langgenius/dify-plugins. A reviewer (and a set of automated checks) walks through the PR, and on approval the plugin goes live on marketplace.dify.ai automatically. If you have not built a plugin yet, start with the Tool Plugin walkthrough.

Before you submit

The Dify reviewer runs an automated 12-check pre-flight on every PR. Most rejections are mechanical, and fixing them up front saves a review cycle.
Every plugin directory must contain:
File / FolderPurpose
manifest.yamlPlugin metadata (name, author, version, etc.)
README.mdEnglish-only description, setup, usage
PRIVACY.mdPrivacy policy (required, non-empty)
_assets/Plugin icon and any other static assets
See General Specifications for manifest fields and Privacy Guidelines for the privacy policy.

Reviewer checklist

These are the exact checks the reviewer runs, in order. Treat this as your pre-flight before opening the PR.
#CheckCommon cause of failure
1Single .difypkgPR includes more than one packaged file, or none
2PR languageCJK characters in title or body outside the allowlisted notice
3Project structureMissing manifest.yaml, README.md, PRIVACY.md, or _assets/
4Manifest authorAuthor contains langgenius or dify
5IconDefault template icon left in place, or icon missing
6VersionThis version is already on the Marketplace
7README languageChinese characters in README.md (use readme/README_zh_Hans.md instead)
8PRIVACY.mdMissing or empty
9Dependencies installpip install -r requirements.txt errors
10SDK versiondify_plugin pinned below 0.5.0
11Install testPlugin fails to install via the daemon
12Packaging testPlugin fails to repackage cleanly
A failing check stops the review and posts a status table with ❌ Fail rows and required fixes; you address them and push again.

Submit the PR

1

Read the Plugin Development Guidelines

Skim the Plugin Development Guidelines. Reviewers use them to judge non-mechanical concerns: uniqueness, brand alignment, content quality, IP, and maintenance commitment.
2

Write your privacy policy

Create PRIVACY.md in the plugin root (or host it and put the URL in the manifest). Follow Privacy Guidelines: declare what data the plugin and any third-party services it calls collect.
3

Package the plugin

From the directory above your plugin project:
dify plugin package ./your_plugin_project
This produces your_plugin_project.difypkg.
4

Fork and add your file

Fork langgenius/dify-plugins. Create a folder at <your-author-name>/<your-plugin-name>/ and drop the .difypkg inside.
5

Open the PR

Push to your fork, then open a PR against main using the repository’s PR template. Title and body in English.
6

Respond to the review

The automated checks post first, then a human reviewer follows up. Address feedback by pushing new commits; the checks rerun on each push.
The first review usually lands within a week. If a reviewer doesn’t respond in that window, they’ll leave a comment explaining the delay.
Once merged to main, the plugin appears on marketplace.dify.ai automatically, with no separate publishing step.

After approval

You own the plugin from the merge onward:
  • Bug fixes and feature requests. Triage issues from your users.
  • Compatibility updates. When Dify ships a breaking API change, the team publishes migration notes; you update the plugin. Dify engineers can help if needed.
  • Versioning. Bump version in manifest.yaml, repackage, open a new PR with the new .difypkg. The Auto-publish PR workflow automates this from a GitHub Action.
While the Marketplace is in public beta, avoid breaking changes to plugins already in use. Add new fields instead of renaming existing ones; deprecate before removing.

PR lifecycle

StatusWhat it meansWhat to do
Open, awaiting reviewWithin the first ~7 days, no action neededWait
Changes requestedA check failed, or the reviewer left feedbackPush fixes; checks rerun automatically
Stale (14 days idle)No response from you in two weeksReply on the PR to reset the timer; it can be reopened
Closed (30 days idle)Closed for inactivityOpen a fresh PR; the closed one can’t be reopened

Frequently asked questions

The Marketplace deduplicates by function, not by integration. A second Google-search plugin that only adds new translations is a duplicate. A Google-search plugin that adds batched queries, better error handling, or a meaningful new capability is fine; say so in the PR description.
Stale PRs (14 days idle) can be reopened; reply on the PR or push a fix to restart the clock. Closed PRs (30 days idle) cannot be reopened; fix the feedback and open a fresh PR with the same package.
Yes. Avoid breaking changes: add fields rather than rename, deprecate before removing.
Not currently. The Marketplace accepts free plugins only; monetization policies will be announced separately.
No. Only the single allowlisted bilingual notice line is permitted in the PR title/body. Put internal multilingual notes elsewhere (commit messages, internal docs).

Publishing Overview

Compare Marketplace, GitHub, and local-file distribution.

Plugin Development Guidelines

The full content and quality bar reviewers apply.

Privacy Guidelines

How to write a PRIVACY.md that passes review.

Auto-publish PR Workflow

GitHub Action that packages and opens the PR for you on every push.

Multilingual README

Add readme/README_<lang>.md files for non-English users.

General Specifications

Manifest field reference.

Edit this page | Report an issue