Files
dify-docs/en/develop-plugin/getting-started/getting-started-dify-plugin.mdx
Crazywoola f06cf8d7ca docs: revamp develop-plugin section (#784)
* docs: revamp develop-plugin section

Fixes critical content bugs that broke setup paths (wrong Linux binary
name, conflicting `REMOTE_INSTALL_URL` env var, full duplicate of
release-overview where GitHub-publishing steps should be, broken Flomo
provider YAML, depot-only `runs-on` in the auto-publish workflow,
unverified imports in reverse-invocation examples, wrong
`TextEmbeddingModelConfig` type) and restructures the section around the
developer's mental model.

Sidebar reorg: Publishing now reads release-overview -> Standards ->
Marketplace (with auto-publish nested) -> GitHub Repository -> Local
File -> FAQ. A new choose-plugin-type decision page sits between the
landing page and the CLI in Getting Started.

Major rewrites: release-to-individual-github-repo (full),
remote-debug-a-plugin (50 -> 160 lines with troubleshooting),
multilingual-readme (added template), faq (2 -> 10 entries), Flomo
walkthrough YAML to canonical credentials_for_provider shape. Quick
Decision callouts on model-schema and model-designing-rules. Backfilled
missing frontmatter `description` on 7 pre-existing pages for
CLAUDE.md compliance.

All edits in en/ only; translation pipeline handles zh/ja.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: fix TOC, tighten Standards, move signature verification

TOC: promote leading h3 -> h2 (and h4 -> h3) on 17 pages whose
right-rail TOC had no top-level entries because every section started
at h3. Hierarchy is preserved; subsections that were h4 now sit
correctly as h3 under their parent h2.

Standards section: rewrite contributor-covenant-code-of-conduct
(now properly titled "Plugin Development Guidelines") and
privacy-protection-guidelines for tighter prose, scannable lists, and
correct heading levels. The privacy page used h4 manual numbering
which broke its TOC entirely; now uses h2/h3 with an Accordion FAQ.

Reclassify third-party-signature-verification: it is a Community
Edition install-time feature, not a Marketplace standard. Moved from
Publishing > Standards to Publishing > Local File (alongside the
release-by-file `.difypkg` flow).

Also strip a stray `# Endpoint` h1 from endpoint.mdx (the title is
already in frontmatter) and replace a self-referencing link.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: subgroup walkthroughs, shorten titles, widget-ize publishing

Walkthroughs sidebar: split the 12-page flat list into Cheatsheet +
'By Plugin Type' subgroup (tool/oauth/model/agent-strategy/datasource/
trigger/endpoint) + 'Full Walkthroughs' subgroup (flomo/slack-bot/
md-exporter/multimodal). Shortened the worst sidebar offenders:

- 'Build Tool Plugins for Multimodal Data Processing in Knowledge
  Pipelines' -> 'Multimodal Tool'
- '10-Minute Guide to Building Dify Plugins' -> 'Flomo Tool (10-min)'
- 'Dify Plugin Development Cheatsheet' -> 'Cheatsheet'
- 'Develop A Slack Bot Plugin' -> 'Slack Bot'
- 'Build a Markdown Exporter Plugin' -> 'Markdown Exporter'
- 'Add OAuth Support to Your Tool Plugin' -> 'Tool OAuth'
- 'Neko Cat Endpoint' -> 'Endpoint Plugin'

Publishing pages: rewrite around Mintlify widgets and bake in the
actual reviewer process from the pr-review-helper skill:

- release-to-dify-marketplace.mdx: full rewrite with a Tabs-based
  pre-submission checklist, the exact 12-check reviewer table the
  automated workflow runs, a Steps submit flow, AccordionGroup FAQ,
  CardGroup related resources, and a PR-lifecycle table.
- release-overview.mdx: replace prose with a CardGroup chooser and a
  comparison table (audience / review / install path / versioning /
  best for).
- release-by-file.mdx: Steps for both packaging and installing,
  CardGroup for next-step distribution methods.
- third-party-signature-verification.mdx: scenario CardGroup,
  three-Step generate/sign/verify flow, three-Step daemon-enable flow.
- faq.mdx: add 'Why was my Marketplace PR rejected?' entry covering
  the most common automated-check failures from the skill.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: add free Mintlify components (mermaid, check, icon)

- release-to-dify-marketplace.mdx: replace the static PNG submission
  flowchart with a Mermaid diagram (renders dark-mode-friendly,
  diff-friendly, no CDN dependency). Add Check callout confirming
  auto-publish on merge.
- tool-oauth.mdx: add a Mermaid sequence diagram contrasting the
  admin-side OAuth client setup with the per-user authorization flow,
  matching the existing "two separate flows" narrative.
- release-overview.mdx: add inline `<Icon>` to the comparison table
  header so each column reads as Marketplace/GitHub/Local at a glance.
- remote-debug-a-plugin.mdx, release-by-file.mdx,
  release-to-individual-github-repo.mdx: add `<Check>` confirmations
  after the verify-install step on each install path, so the reader
  knows what "success" looks like and when they can stop following.

Snippets deferred — the translation pipeline operates on en/zh/ja
trees, so a root-level `snippets/` directory needs coordination with
tools/translate before adoption.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: address correctness gaps in develop-plugin pages

* docs: align plugin type catalog and tighten heading case

* style: drop em dashes and tidy formatting in develop-plugin docs

* fix: address Copilot follow-up comments on develop-plugin docs

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: RiskeyL <7a8y@163.com>
2026-05-21 21:41:19 +08:00

138 lines
4.5 KiB
Plaintext

---
dimensions:
type:
primary: conceptual
detail: introduction
level: beginner
standard_title: Getting Started with Dify Plugin Development
language: en
title: Dify Plugin
description: Modular components that extend Dify AI applications with external services, custom logic, and specialized tools
---
Dify plugins are modular components that enhance AI applications with additional capabilities. They allow you to integrate external services, custom functions, and specialized tools into your Dify-built AI applications.
<Frame caption="Marketplace">
![Marketplace](/images/develop-plugin/get-started/marketplace.png)
</Frame>
Through plugins, your AI applications can:
- Connect to external APIs
- Process different types of data
- Perform specialized calculations
- Execute real-world actions
## Start here
<CardGroup cols={2}>
<Card title="Choose a plugin type" icon="route" href="/en/develop-plugin/getting-started/choose-plugin-type">
A short decision guide for picking between Tool, Model, Agent Strategy, Extension, Datasource, and Trigger plugins.
</Card>
<Card title="Install the CLI" icon="rocket" href="/en/develop-plugin/getting-started/cli">
Set up `dify` on your machine and scaffold a new plugin project in minutes.
</Card>
</CardGroup>
## Types of Plugins
<AccordionGroup cols={3}>
<Accordion
title="Models"
icon="microchip"
href="/en/develop-plugin/dev-guides-and-walkthroughs/creating-new-model-provider"
>
Package and manage AI models as plugins
<a href="/en/develop-plugin/dev-guides-and-walkthroughs/creating-new-model-provider" className="text-primary">Learn more</a>
</Accordion>
<Accordion
title="Tools"
icon="toolbox"
href="/en/develop-plugin/dev-guides-and-walkthroughs/tool-plugin"
>
Build specialized capabilities for Agents and workflows
<a href="/en/develop-plugin/dev-guides-and-walkthroughs/tool-plugin" className="text-primary">Learn more</a>
</Accordion>
<Accordion
title="Agent Strategies"
icon="brain"
href="/en/develop-plugin/dev-guides-and-walkthroughs/agent-strategy-plugin"
>
Create custom reasoning strategies for autonomous Agents
<a href="/en/develop-plugin/dev-guides-and-walkthroughs/agent-strategy-plugin" className="text-primary">Learn more</a>
</Accordion>
<Accordion
title="Extensions"
icon="puzzle-piece"
href="/en/develop-plugin/dev-guides-and-walkthroughs/endpoint"
>
Implement integration with external services through HTTP Webhooks
<a href="/en/develop-plugin/dev-guides-and-walkthroughs/endpoint" className="text-primary">Learn more</a>
</Accordion>
<Accordion
title="Datasources"
icon="database"
href="/en/develop-plugin/dev-guides-and-walkthroughs/datasource-plugin"
>
Feed external content into Dify's Knowledge Pipeline
<a href="/en/develop-plugin/dev-guides-and-walkthroughs/datasource-plugin" className="text-primary">Learn more</a>
</Accordion>
<Accordion
title="Triggers"
icon="bolt"
href="/en/develop-plugin/dev-guides-and-walkthroughs/trigger-plugin"
>
Kick off workflows from third-party platform events received via webhooks
<a href="/en/develop-plugin/dev-guides-and-walkthroughs/trigger-plugin" className="text-primary">Learn more</a>
</Accordion>
</AccordionGroup>
## Additional Resources
<CardGroup cols={2}>
<Card
title="Development & Debugging"
icon="code"
href="/en/develop-plugin/features-and-specs/plugin-types/remote-debug-a-plugin"
>
Tools and techniques for efficient plugin development
</Card>
<Card
title="Publishing & Marketplace"
icon="shop"
href="/en/develop-plugin/publishing/marketplace-listing/release-overview"
>
Package and share your plugins with the Dify community
</Card>
<Card
title="API & SDK Reference"
icon="book-open"
href="/en/develop-plugin/features-and-specs/plugin-types/general-specifications"
>
Technical specifications and documentation
</Card>
<Card
title="Community & Contributions"
icon="users"
href="/en/develop-plugin/publishing/standards/contributor-covenant-code-of-conduct"
>
Communicate with other developers and contribute to the ecosystem
</Card>
</CardGroup>
{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}
---
[Edit this page](https://github.com/langgenius/dify-docs/edit/main/en/develop-plugin/getting-started/getting-started-dify-plugin.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)