Files
dify-docs/plugin_dev_en/0221-initialize-development-tools.en.mdx
2025-05-04 01:17:47 +08:00

99 lines
4.6 KiB
Plaintext

---
dimensions:
type:
primary: implementation
detail: standard
level: beginner
standard_title: Initialize Development Tools
language: en
title: Initializing Development Tools
description: This document details the necessary preparations before developing Dify
plugins, including complete steps for installing the Dify plugin scaffold tool (dify-plugin-daemon)
and configuring a Python environment (version requirement ≥3.12). The document also
provides reference links for developing various types of plugins.
---
Before start to develop Dify plugins please prepare the following prerequisites:
* Dify plugin scaffolding tool
* Python environment, version ≥ 3.12
> The Dify plugin development scaffolding tool, also known as `dify-plugin-daemon`, can be regarded as a plugin development SDK.
### **1. Installing the Dify Plugin Development Scaffolding Tool**
Visit the [Dify plugin GitHub page](https://github.com/langgenius/dify-plugin-daemon/releases) and select and download the version suitable for your operating system.
Using **macOS with M-series chips** as an example: Download the `dify-plugin-darwin-arm64` file from the project address mentioned above. Then, in the terminal, navigate to the file's location and grant it execution permissions:
```
chmod +x dify-plugin-darwin-arm64
```
Run the following command to verify successful installation.
```
./dify-plugin-darwin-arm64 version
```
> If the system shows an "Apple cannot verify" error, go to **Settings → Privacy & Security → Security**, and click the "Open Anyway" button.
After running the command, the installation is successful, if the terminal returns version information like `v0.0.1-beta.15`.
<Info>
**Tips:**
If you want to use the `dify` command globally in your system to run the scaffolding tool, it's recommended to rename the binary file to `dify` and copy it to the `/usr/local/bin` system path.
After configuration, entering the `dify version` command in the terminal will output the version number.
<img
src="https://assets-docs.dify.ai/2025/01/74e57a57c1ae1cc70f4a45084cbbb37e.png"
className="mx-auto"
alt=""
/>
</Info>
### **2. Initialize Python Environment**
For detailed instructions, please refer to the [Python installation](https://pythontest.com/python/installing-python-3-11/) tutorial. Python version 3.12 or higher is required.
### 3. **Develop plugins**
Please refer to the following content for examples of different types of plugin development:
- [Tool Plugin Development Guide](/plugin_dev_en/0211-getting-started-dify-tool.en) - Hello World introductory tutorial
- [Model Plugin Development Guide](/plugin_dev_en/0211-getting-started-new-model.en) - Quickly integrate a new model
- [Agent Strategy Plugin Development Guide](/plugin_dev_en/9433-agent-strategy-plugin.en) - Create custom reasoning strategies
- [Extension Plugin Development Guide](/plugin_dev_en/9231-extension-plugin.en) - Implement external service integration via Webhook
- [Plugin Packaging and Publishing](/plugin_dev_en/0321-release-overview.en) - Publish your plugin
## Next Learning Steps
- [Dify Plugin Development: Hello World Guide](/plugin_dev_en/0211-getting-started-dify-tool.en) - Start your first plugin development
- [Developer Cheatsheet](/plugin_dev_en/0131-cheatsheet.en) - Learn common commands and concepts
- [General Specification Definitions](/plugin_dev_en/0411-general-specifications.en) - Learn about plugin metadata configuration
{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}
<CardGroup cols="2">
<Card
title="Edit this page"
icon="pen-to-square"
href="https://github.com/langgenius/dify-docs-mintlify/edit/main/plugin_dev_en/0221-initialize-development-tools.en.mdx"
>
Help improve our documentation by contributing directly
</Card>
<Card
title="Report an issue"
icon="github"
href="https://github.com/langgenius/dify-docs-mintlify/issues/new?title=Documentation%20Issue%3A%20initialize-development-tools&body=%23%23%20Issue%20Description%0A%3C%21--%20Please%20briefly%20describe%20the%20issue%20you%20found%20--%3E%0A%0A%23%23%20Page%20Link%0Ahttps%3A%2F%2Fgithub.com%2Flanggenius%2Fdify-docs-mintlify%2Fblob%2Fmain%2Fplugin_dev_en%2F0221-initialize-development-tools.en.mdx%0A%0A%23%23%20Suggested%20Changes%0A%3C%21--%20If%20you%20have%20specific%20suggestions%20for%20changes%2C%20please%20describe%20them%20here%20--%3E%0A%0A%3C%21--%20Thank%20you%20for%20helping%20improve%20our%20documentation%21%20--%3E"
>
Found an error or have suggestions? Let us know
</Card>
</CardGroup>