Environment Requirements

  • Python version ≥ 3.12
  • Dify plugin scaffold tool (dify-plugin-daemon)
Learn more: Initializing Development Tools

Obtaining the Dify Plugin Development Package

Dify Plugin CLI

Installation Methods for Different Platforms

macOS Brew (Global Installation):
brew tap langgenius/dify
brew install dify
After installation, open a new terminal window and enter the dify version command. If it outputs the version information, the installation was successful. macOS ARM (M Series Chips):
# Download dify-plugin-darwin-arm64
chmod +x dify-plugin-darwin-arm64
./dify-plugin-darwin-arm64 version
macOS Intel:
# Download dify-plugin-darwin-amd64
chmod +x dify-plugin-darwin-amd64
./dify-plugin-darwin-amd64 version
Linux:
# Download dify-plugin-linux-amd64
chmod +x dify-plugin-linux-amd64
./dify-plugin-linux-amd64 version
Global Installation (Recommended):
# Rename and move to system path
# Example (macOS ARM)
mv dify-plugin-darwin-arm64 dify
sudo mv dify /usr/local/bin/
dify version

Running the Development Package

Here we use dify as an example. If you are using a local installation method, please replace the command accordingly, for example ./dify-plugin-darwin-arm64 plugin init.

Plugin Development Process

1. Create a New Plugin

./dify plugin init
Follow the prompts to complete the basic plugin information configuration
Learn more: Dify Plugin Development: Hello World Guide

2. Run in Development Mode

Configure the .env file, then run the following command in the plugin directory:
python -m main
Learn more: Remote Debugging Plugins

4. Packaging and Deployment

Package the plugin:
cd ..
dify plugin package ./yourapp
Learn more: Publishing Overview

Plugin Categories

Tool Labels

Category tag class ToolLabelEnum(Enum)
class ToolLabelEnum(Enum):
    SEARCH = "search"
    IMAGE = "image"
    VIDEOS = "videos"
    WEATHER = "weather"
    FINANCE = "finance"
    DESIGN = "design"
    TRAVEL = "travel"
    SOCIAL = "social"
    NEWS = "news"
    MEDICAL = "medical"
    PRODUCTIVITY = "productivity"
    EDUCATION = "education"
    BUSINESS = "business"
    ENTERTAINMENT = "entertainment"
    UTILITIES = "utilities"
    OTHER = "other"

Plugin Type Reference

Dify supports the development of various types of plugins:
Edit this page | Report an issue