---
title: Develop Plugins
---



{/* 
  CONTRIBUTOR NOTE:
  ----------------
  This is a legacy document that is being deprecated.
  Please DO NOT make changes to this version.
  All updates should be directed to the new version at:
  /plugin-dev-en/0111-getting-started-dify-plugin
*/}

<Card title="This Documentation is Being Deprecated" icon="circle-exclamation" href="/plugin-dev-en/0111-getting-started-dify-plugin">
  <p>This page is being phased out as part of our documentation reorganization.</p>
  
  <p><strong>Click this card</strong> to be redirected to the updated version with the most current information.</p>
  
  <p>If you notice any discrepancies or areas needing improvement in the new documentation, please use the "Report an issue" button at the bottom of the page.</p>
</Card>

### **Quick Start**

You can quickly understand how to develop different types of plugins and master the functional components involved in plugin development through these development examples:

<Card title="Install Development Tools" icon="link" href="/en/plugins/quick-start/develop-plugins/initialize-development-tools">
</Card>

Using the **Google Search** tool as an example to demonstrate how to develop tool-type plugins. For more details, please take refer to the following:

<Card title="Tool Plugin" icon="link" href="/en/plugins/quick-start/develop-plugins/tool-plugin">
</Card>

By examining the **Anthropic** and **Xinference** models, we present separate guides on how to develop predefined model plugins and custom model plugins.

* Predefined models are pre-trained and validated, typically commercial models (such as the GPT series and Claude series models). These models can be utilized directly to accomplish specific tasks without additional training or configuration.
* Custom model plugins enable developers to integrate privately trained or specifically configured models tailored to meet local needs.

For development examples, refer to the following content:

<Card title="Model Plugin" icon="link" href="/en/plugins/quick-start/develop-plugins/model-plugin">
</Card>

Extension plugins enable developers to package business code as plugins and automatically provide an Endpoint request entry, functioning akin to an API service hosted on the Dify platform. For more details please take refer to:

<Card title="Extension Plugin" icon="link" href="/en/plugins/quick-start/develop-plugins/extension-plugin">
</Card>

### **Endpoints Documentation**

If you want to read detailed interface documentation for plugin projects, you can refer to these standard specification documents:

1. [General Specifications](/en/plugins/schema-definition/general-specifications)
2. [Manifest Definitions](/en/plugins/schema-definition/manifest)
3. [Tool Integration Definitions](/en/plugins/schema-definition/tool)
4. [Model Integration Introduction](/en/plugins/schema-definition/model)
5. [Endpoint Definitions](/en/plugins/schema-definition/endpoint)
6. [Extended Agent Strategy](/en/plugins/schema-definition/agent)
7. [Reverse Invocation of the Dify](/en/plugins/schema-definition/reverse-invocation-of-the-dify-service) Services
   1. [Reverse Invoking Apps](/en/plugins/schema-definition/reverse-invocation-of-the-dify-service/app)
   2. [Reverse Invoking Models](/en/plugins/schema-definition/reverse-invocation-of-the-dify-service/model)
   3. [Reverse Invoking Nodes](/en/plugins/schema-definition/reverse-invocation-of-the-dify-service/node)
   4. [Reverse Invoking Tools](/en/plugins/schema-definition/reverse-invocation-of-the-dify-service/tool)
8. [Plugin Persistence Storage Capabilities](/en/plugins/schema-definition/persistent-storage)

### **Contribution Guidelines**

Want to contribute code and features to Dify Marketplace?

We provide detailed development guidelines and contribution guidelines to help you understand our architecture design and contribution process:

*   [Dify Plugin Contribution Guidelines](/en/plugins/publish-plugins/publish-to-dify-marketplace)

    Learn how to submit your plugin to the Dify Marketplace to share your work with a broader developer community.
*   [GitHub Publishing Guidelines](/en/plugins/publish-plugins/publish-plugin-on-personal-github-repo)

    Discover how to publish and manage your plugins on GitHub, ensuring ongoing optimization and collaboration with the community.

Welcome to join us and become our contributors, and help to enhance the Dify ecosystem alongside developers worldwide!

{/*
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/plugins/quick-start/develop-plugins/README.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?title=Documentation%20Issue%3A%20&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%2Fblob%2Fmain%2Fen/plugins/quick-start/develop-plugins%2FREADME.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)

