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: