Skip to main content

Environment Requirements

  • Python version 3.12
  • Dify plugin scaffold tool (dify-plugin-daemon)
For setup instructions, see Initializing Development Tools.

Obtain the Dify Plugin Development Package

Download the Dify Plugin CLI from the GitHub releases page.

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

Run the Development Package

The following examples use dify as the command. If you installed locally, 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 configure the basic plugin information. For a full walkthrough, see 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
For debugging details, see Remote Debugging Plugins.

3. Package and Deploy

Package the plugin:
cd ..
dify plugin package ./yourapp
For publishing details, see the Publishing Overview.

Plugin Categories

Tool Labels

Category tags are defined in ToolLabelEnum:
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 several plugin types:
Edit this page | Report an issue