Related Concepts: Before starting, we recommend reading the Model Plugin documentation to understand the basic concepts and structure of model plugins.This quick integration method is suitable for:
- New models that belong to providers already supported by Dify plugins (such as OpenAI, Google Gemini, Anthropic Claude, etc.).
- New models that use the same API authentication and base calling logic as other models in the same series.
- Models that primarily differ in model ID, context length, maximum token count, pricing, and other configuration parameters.
- Familiarity with basic Git operations (Fork, Clone, Pull Request).
- A GitHub account.
- Installing and configuring the Dify plugin development toolkit (refer to Initializing Development Tools).
-
Fork & Clone the Official Plugin Repository:
- Visit the Dify official plugin repository
https://github.com/langgenius/dify-official-plugins. - Click the “Fork” button to fork the repository to your own GitHub account.
- Use Git to clone your forked repository to your local computer.
- Visit the Dify official plugin repository
-
Find and Copy the Model Configuration File:
- In your local repository, navigate to the
models/directory, find the provider folder for the model you want to add, for examplevertex_ai. - Enter the corresponding model type subdirectory for that provider, usually
models/llm/(if it’s a text generation model). - In that directory, find a YAML configuration file for an existing model that is most similar to the new version you want to add (for example,
gemini-1.0-pro-001.yaml). - Copy this YAML file and rename it to clearly identify the new version (for example,
gemini-1.5-pro-latest.yaml).
- In your local repository, navigate to the
-
Modify the Model Configuration (YAML):
- Open the YAML file you just renamed (e.g.,
gemini-1.5-pro-latest.yaml). - Core Step: Refer to the model provider’s official documentation, carefully verify and modify the following key information in the file:
model: Must be updated to the official API identifier for the new version.label: Must be updated to the model name displayed to users in the Dify interface (recommend providing bothen_USandzh_Hanslanguages).model_properties: Updatecontext_size(context window size).parameter_rules: Check and update model parameter limitations, especially thedefault,min, andmaxvalues formax_tokens(maximum output token count).pricing: Update the model’sinputandoutputpricing, as well as theunit(typically0.000001representing per million tokens) andcurrency.
- (Reference) For detailed specifications of all fields in the model YAML file, please consult Model Design Rules and Model Schema Definition.
Parameter Old Model (Example) New Gemini 1.5 Pro (Example) Notes modelgemini-1.0-pro-001gemini-1.5-pro-latestMust change to official model ID label: en_USGemini 1.0 Pro Gemini 1.5 Pro Must change user-visible label context_size30720 1048576 Must change per official docs max_tokens(below)2048 8192 Must change default/max values - Open the YAML file you just renamed (e.g.,
-
Update the Provider Manifest Version:
- Return to the root directory of the model provider (e.g.,
models/vertex_ai/). - Find and open the
manifest.yamlfile. - Increment the
versionfield by a minor version number (e.g.,version: 0.0.8->version: 0.0.9). This tells Dify that this is an update.
- Return to the root directory of the model provider (e.g.,
-
Package and Local Testing:
- Open your terminal (command line tool).
- Make sure your current directory is the root of the
dify-official-pluginsrepository (the directory containing folders likemodels,tools, etc.). - Run the packaging command:
- After success, you’ll see a prompt like
plugin packaged successfully, output path: <provider_name>.difypkg, and a plugin package file named<provider_name>.difypkgwill be generated in the current project root directory. - Log in to your Dify instance (local deployment or cloud version).
- Click the “Plugins” menu item on the top right of the Dify navigation bar.
- On the plugins page, click the “Install Plugin” button.
- Select the “Local Plugin” tab.
- Click the upload area, select or drag and drop the
<provider_name>.difypkgfile you just generated locally. - Wait for the plugin installation or update to complete.
- After successful installation, you typically need to go to “Settings” -> “Model Providers” to find the corresponding provider and configure your API credentials (if you haven’t configured them before).
- Create a new Dify application or edit an existing one, in the “Prompt Orchestration” -> “Model” settings, try selecting your newly added model. Conduct some simple conversations or call tests to ensure it works properly and returns expected results.
-
Submit Your Contribution:
- After verifying that local testing is working properly, commit your changes (the new model YAML file and updated
manifest.yaml) via Git and push them to your forked GitHub repository. - On GitHub, initiate a Pull Request (PR) to the main
langgenius/dify-official-pluginsrepository. In the PR description, briefly mention which model you added and include a link to the model’s official documentation to facilitate reviewer verification of parameters.
- After verifying that local testing is working properly, commit your changes (the new model YAML file and updated
What’s Next? Once your PR is reviewed, approved, and merged, your contribution becomes part of the official Dify plugins, and all Dify users can easily use this new model! This quick integration method is the fastest way to make Dify support new models. Of course, if this model needs to support more complex features in the future (such as image input, function calling, etc.), then experienced developers may need to update the plugin at the code level. But the step you’ve completed now is already a very valuable contribution! Explore More:
- Model Schema Definition (Learn detailed rules for model YAML files)
- Model Design Rules (Learn specifications for model parameter design)
- General Specifications (Understand the role of
manifest.yaml) - Creating a New Model Provider (Learn how to add a new model provider)
- Publish to Dify Marketplace (Learn how to publish your plugin)
- Dify Official Plugin Repository (View examples of other plugins)
Edit this page | Report an issue