https://github.com/langgenius/dify-plugin-daemon.git
Dify Plugin Daemon is a service that manages the lifecycle of plugins. It's responsible for 3 types of runtimes:
All requests from Dify api based on HTTP protocol, but depends on the runtime type, the daemon will forward the request to the corresponding runtime in different ways.
A CLI tool is provided for plugin development on local environment.
brewbrew tap langgenius/dify
brew install dify
Firstly copy the .env.example file to .env and set the correct environment variables like DB_HOST etc.
cp .env.example .env
If you were using a non-AWS S3 storage before version 0.1.2, you need to manually set the S3USEAWS environment variable to false in the .env file.
Attention that the PYTHON_INTERPRETER_PATH is the path to the python interpreter, please specify the correct path according to your python installation and make sure the python version is 3.11 or higher, as dify-plugin-sdk requires.
We recommend you to use vscode to debug the daemon, and a launch.json file is provided in the .vscode directory.
uv to manage the dependencies of plugins, before you start the daemon, you need to install uv by yourself.
PYTHON_INTERPRETER_PATH is provided to specify the python interpreter path for you.
Currently, the daemon only supports Linux and MacOS, lots of adaptions are needed for Windows, feel free to contribute if you need it.
NOTE: Since the daemon depends on a shared cwd directory for running plugins, it's not recommended to use network-based volumes or bind mounts from outside the host machine. This could result in poor performance, such as plugins not launching in a timely manner.
uses docker volume to share the directory with the host machine, it's better for performance.
For now, Daemon community edition does not support smoothly scale out with the number of replicas, If you are interested in this feature, please contact us. we have a more production-ready version for enterprise users.
For developers working on this codebase, see our comprehensive development documentation:
Refer to Benchmark
Dify Plugin Daemon is released under the Apache-2.0 license.