Skip to content

Commit 5ae6a45

Browse files
committed
update plugin cli guide
1 parent 65396cb commit 5ae6a45

16 files changed

+140
-97
lines changed

en/SUMMARY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
* [Quick Start](plugins/quick-start/README)
158158
* [Install and Use Plugins](plugins/quick-start/install-plugins)
159159
* [Develop Plugins](plugins/quick-start/develop-plugins/README)
160-
* [Initialize Development Tools](plugins/quick-start/develop-plugins/initialize-development-tools)
160+
* [Install Development Tools](plugins/quick-start/develop-plugins/initialize-development-tools)
161161
* [Tool Plugin](plugins/quick-start/develop-plugins/tool-plugin)
162162
* [Model Plugin](plugins/quick-start/develop-plugins/model-plugin/README)
163163
* [Create Model Providers](plugins/quick-start/develop-plugins/model-plugin/create-model-providers)

en/link-check-report.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@
161161
* [Quick Start](./plugins/quick-start/README) ✅ | [install-plugins.md](./install-plugins) ✅ | [tool-plugin.md](./develop-plugins/tool-plugin) ✅ | [model-plugin](develop-plugins/model-plugin/) ✅ | [agent-strategy-plugin.md](./develop-plugins/agent-strategy-plugin) ✅ | [extension-plugin.md](./develop-plugins/extension-plugin) ✅ | [bundle.md](./develop-plugins/bundle) ✅ | [schema-definition](../schema-definition/)
162162
* [Install and Use Plugins](./plugins/quick-start/install-plugins) ✅ | [Publishing Plugins on GitHub](../publish-plugins/publish-plugin-on-personal-github-repo) ✅ | [packaging your plugin](../publish-plugins/package-plugin-file-and-publish) ✅ | [develop-plugins](develop-plugins/)
163163
* [Develop Plugins](./plugins/quick-start/develop-plugins/README) ✅ | [initialize-development-tools.md](./initialize-development-tools) ✅ | [tool-plugin.md](./tool-plugin) ✅ | [model-plugin](model-plugin/) ✅ | [extension-plugin.md](./extension-plugin) ✅ | [General Specifications](../../schema-definition/general-specifications) ✅ | [Manifest Definitions](../../schema-definition/manifest) ✅ | [Tool Integration Definitions](../../schema-definition/tool) ✅ | [Model Integration Introduction](../../schema-definition/model/) ✅ | [Endpoint Definitions](../../schema-definition/endpoint) ✅ | [Extended Agent Strategy](../../schema-definition/agent) ✅ | [Reverse Invocation of the Dify](../../schema-definition/reverse-invocation-of-the-dify-service/) ✅ | [Reverse Invoking Apps](../../schema-definition/reverse-invocation-of-the-dify-service/app) ✅ | [Reverse Invoking Models](../../schema-definition/reverse-invocation-of-the-dify-service/model) ✅ | [Reverse Invoking Nodes](../../schema-definition/reverse-invocation-of-the-dify-service/node) ✅ | [Reverse Invoking Tools](../../schema-definition/reverse-invocation-of-the-dify-service/tool) ✅ | [Plugin Persistence Storage Capabilities](../../schema-definition/persistent-storage) ✅ | [Dify Plugin Contribution Guidelines](../../publish-plugins/publish-to-dify-marketplace/) ✅ | [GitHub Publishing Guidelines](../../publish-plugins/publish-plugin-on-personal-github-repo) ✅
164-
* [Initialize Development Tools](./plugins/quick-start/develop-plugins/initialize-development-tools) ✅ | [Dify plugin GitHub page](https://github.com/langgenius/dify-plugin-daemon/releases) ✅ | [Python installation](https://pythontest.com/python/installing-python-3-11/) ✅ | [tool-plugin.md](./tool-plugin) ✅ | [model-plugin](model-plugin/) ✅ | [agent-strategy-plugin.md](./agent-strategy-plugin) ✅ | [extension-plugin.md](./extension-plugin) ✅ | [bundle.md](./bundle)
164+
* [Install Development Tools](./plugins/quick-start/develop-plugins/initialize-development-tools) ✅ | [Dify plugin GitHub page](https://github.com/langgenius/dify-plugin-daemon/releases) ✅ | [Python installation](https://pythontest.com/python/installing-python-3-11/) ✅ | [tool-plugin.md](./tool-plugin) ✅ | [model-plugin](model-plugin/) ✅ | [agent-strategy-plugin.md](./agent-strategy-plugin) ✅ | [extension-plugin.md](./extension-plugin) ✅ | [bundle.md](./bundle)
165165
* [Tool Plugin](./plugins/quick-start/develop-plugins/tool-plugin) ✅ | [Initializing Development Tools](./initialize-development-tools) ✅ | [Schema Definition](../../schema-definition/) ✅ | [ProviderConfig](../schema-definition/general-specifications) ❌ | [tool](../schema-definition/tool) ❌ | [Dify Plugins code repository](https://github.com/langgenius/dify-plugins) ✅ | [plugin release guide](../publish-plugins/publish-to-dify-marketplace) ❌ | [Dify Marketplace](https://marketplace.dify.ai/) ✅ | [Develop Extension Type Plugin](./extension-plugin) ✅ | [Develop Model Type Plugin](model-plugin/) ✅ | [Bundle Type Plugin: Package Multiple Plugins](./bundle) ✅ | [Minifest](../schema-definition/manifest) ❌ | [Endpoint](../schema-definition/endpoint) ❌ | [Reverse Invocation of the Dify Service](../schema-definition/reverse-invocation-of-the-dify-service/) ❌ | [Tools](../../guides/tools/) ❌ | [Models](../schema-definition/model/model-schema) ❌ | [Extend Agent Strategy](../schema-definition/agent) ❌
166166
* [Model Plugin](./plugins/quick-start/develop-plugins/model-plugin/README) ✅ | [Create Model Provider](./create-model-providers) ✅ | [Predefined](../../../guides/model-configuration/predefined-model) ❌ | [Custom](../../../guides/model-configuration/customizable-model) ❌ | [Debug Plugin](../../debug-plugin)
167167
* [Create Model Providers](./plugins/quick-start/develop-plugins/model-plugin/create-model-providers) ✅ | [Initializing Development Tools](../initialize-development-tools) ✅ | [Schema](../../schema-definition/) ❌ | [Develop Predefined Models](../../../../guides/model-configuration/predefined-model) ✅ | [Develop Custom Models](../../../../guides/model-configuration/customizable-model)
@@ -194,7 +194,7 @@
194194
* [Plugin Developer Guidelines](./plugins/publish-plugins/publish-to-dify-marketplace/plugin-developer-guidelines) ✅ | [Plugin Privacy Protection Guidelines](./plugin-developer-guidelines)
195195
* [Plugin Privacy Protection Guidelines](./plugins/publish-plugins/publish-to-dify-marketplace/plugin-privacy-protection-guidelines) ✅ | [Slack’s privacy policy](https://slack.com/trust/privacy/privacy-policy) ✅ | [Manifest](https://docs.dify.ai/plugins/schema-definition/manifest)
196196
* [Publish to Your Personal GitHub Repository](./plugins/publish-plugins/publish-plugin-on-personal-github-repo) ✅ | [GitHub documentation](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository)
197-
* [Package the Plugin File and Publish it](./plugins/publish-plugins/package-plugin-file-and-publish) ✅ | [official GitHub releases page](https://github.com/langgenius/dify-plugin-daemon/releases) ✅ | [Initialize Development Tools](../quick-start/develop-plugins/initialize-development-tools)
197+
* [Package the Plugin File and Publish it](./plugins/publish-plugins/package-plugin-file-and-publish) ✅ | [official GitHub releases page](https://github.com/langgenius/dify-plugin-daemon/releases) ✅ | [Install Development Tools](../quick-start/develop-plugins/initialize-development-tools)
198198
* [FAQ](./plugins/faq)
199199

200200
## Development

en/plugins/publish-plugins/package-plugin-file-and-publish.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ After completing plugin development, you can package your plugin project as a lo
88

99
You'll need the Dify plugin development scaffolding tool for packaging plugins. Download the tool from the [official GitHub releases page](https://github.com/langgenius/dify-plugin-daemon/releases).
1010

11-
See the [Initialize Development Tools](../quick-start/develop-plugins/initialize-development-tools.mdx) tutorial for dependency installation and configuration steps.
11+
See the [Install Development Tools](../quick-start/develop-plugins/initialize-development-tools.mdx) tutorial for dependency installation and configuration steps.
1212

1313
Select and download the version appropriate for your operating system from the release assets.
1414

en/plugins/quick-start/develop-plugins/README.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ title: Develop Plugins
77

88
You can quickly understand how to develop different types of plugins and master the functional components involved in plugin development through these development examples:
99

10-
<Card title="Initialize Development Tools" icon="link" href="/en/plugins/quick-start/develop-plugins/initialize-development-tools">
10+
<Card title="Install Development Tools" icon="link" href="/en/plugins/quick-start/develop-plugins/initialize-development-tools">
1111
</Card>
1212

1313
Using the **Google Search** tool as an example to demonstrate how to develop tool-type plugins. For more details, please take refer to the following:

en/plugins/quick-start/develop-plugins/initialize-development-tools.mdx

+40-25
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,67 @@
11
---
2-
title: Initialize Development Tools
2+
title: Install Development Tools
33
---
44

5+
Before start to develop Dify plugins, please prepare the following prerequisites:
6+
* [Dify Plugin CLI tool](https://github.com/langgenius/dify-plugin-daemon?tab=readme-ov-file#cli)
7+
* Python 3.12+
58

6-
Before start to develop Dify plugins please prepare the following prerequisites:
9+
### **1. Install Dify Plugin CLI Tool**
710

8-
* Dify plugin scaffolding tool
9-
* Python environment, version ≥ 3.12
11+
The Dify Plugin CLI Tool can be installed either with from Homebrew (on Linux and MacOS) or with the standalone binary executable file (on Windows, Linux and MacOS).
1012

11-
> The Dify plugin development scaffolding tool, also known as `dify-plugin-daemon`, can be regarded as a plugin development SDK.
13+
#### Install with Homebrew
1214

13-
### **1. Installing the Dify Plugin Development Scaffolding Tool**
15+
For the MacOS and Linux users, installing Dify Plugin CLI with [Homebrew](https://brew.sh/) is recommended.
1416

15-
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.
17+
Tap the [Homebrew formula for Dify Plugin CLI tool](https://github.com/langgenius/homebrew-dify), and then install it with `brew install`.
1618

17-
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:
19+
```bash
20+
brew tap langgenius/dify
21+
brew install dify
22+
```
1823

24+
To check the installation, run `dify version` and a version code should be displayed.
25+
```bash
26+
dify version
1927
```
20-
chmod +x dify-plugin-darwin-arm64
28+
29+
To upgrade the Dify Plugin CLI tool, run the following command:
30+
31+
```bash
32+
brew upgrade dify
2133
```
2234

23-
Run the following command to verify successful installation.
35+
#### Install with binary executable
36+
37+
1. Download the binary executable
38+
39+
On the asset list of the release page of [Dify Plugin CLI Tool](https://github.com/langgenius/dify-plugin-daemon/releases), choose and download the binary executable for the OS system (Linux / MacOS / Windows) and the chip architecture (`amd64` for x86 chips / `arm64` for ARM or Apple's M chips).
2440

41+
Using **MacOS with M chips** as an example. Download the `dify-plugin-darwin-arm64` file and grant it execution permissions by running the command:
42+
```bash
43+
chmod +x ./dify-plugin-darwin-arm64
44+
mv ./dify-plugin-darwin-arm64 ./dify
2545
```
26-
./dify-plugin-darwin-arm64 version
46+
47+
To check the installation, run `./dify version` and a version code should be displayed.
48+
```bash
49+
./dify version
2750
```
2851

2952
> If the system shows an "Apple cannot verify" error, go to **Settings → Privacy & Security → Security**, and click the "Open Anyway" button.
3053
31-
After running the command, the installation is successful, if the terminal returns version information like `v0.0.1-beta.15`.
3254

3355
<Info>
34-
**Tips:**
35-
36-
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.
37-
38-
After configuration, entering the `dify version` command in the terminal will output the version number.
39-
40-
<img
41-
src="https://assets-docs.dify.ai/2025/01/74e57a57c1ae1cc70f4a45084cbbb37e.png"
42-
className="mx-auto"
43-
alt=""
44-
/>
56+
**Tips:**
57+
To use `dify` command globally system-wide, it's recommended to rename the binary file to `dify` and copy it to the
58+
`/usr/local/bin` system path.
4559
</Info>
4660

47-
### **2. Initialize Python Environment**
61+
### **2. Install Python**
62+
63+
Python version 3.12 or higher is required. Python installer is available on [python.org](https://www.python.org/downloads/).
4864

49-
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.
5065

5166
### 3. **Develop plugins**
5267

invalid_links_report.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -373,11 +373,11 @@
373373
| 163 | extension-plugin.md | extension-plugin |
374374
| 163 | 扩展 Agent 策略 | ../../schema-definition/agent |
375375
| 163 | 扩展 Agent 策略 | ../../schema-definition/agent |
376-
| 164 | 初始化开发工具 | plugins/quick-start/develop-plugins/initialize-development-tools |
376+
| 164 | 安装插件开发工具 | plugins/quick-start/develop-plugins/initialize-development-tools |
377377
| 164 | agent-strategy-plugin.md | agent-strategy-plugin |
378378
| 164 | bundle.md | bundle |
379379
| 165 | Tool 插件 | plugins/quick-start/develop-plugins/tool-plugin |
380-
| 165 | 初始化开发工具 | initialize-development-tools |
380+
| 165 | 安装插件开发工具 | initialize-development-tools |
381381
| 165 | 接口文档 | ../../schema-definition/ |
382382
| 165 | ProviderConfig | ../../schema-definition/general-specifications.md#providerconfig |
383383
| 165 | 工具接口文档 | ../../schema-definition/tool |
@@ -390,28 +390,28 @@
390390
| 165 | 反向调用 Dify 能力 | ../../schema-definition/reverse-invocation-of-the-dify-service/ |
391391
| 165 | 工具 | ../../schema-definition/tool |
392392
| 165 | 模型 | ../../schema-definition/model/ |
393-
| 165 | 初始化开发工具 | initialize-development-tools |
394-
| 165 | 初始化开发工具 | initialize-development-tools |
393+
| 165 | 安装插件开发工具 | initialize-development-tools |
394+
| 165 | 安装插件开发工具 | initialize-development-tools |
395395
| 165 | 接口文档 | ../../schema-definition/ |
396396
| 165 | Bundle 插件:将多个插件打包 | bundle |
397397
| 165 | Manifest | ../../schema-definition/manifest |
398398
| 165 | Endpoint | ../../schema-definition/endpoint |
399399
| 165 | 反向调用 Dify 能力 | ../../schema-definition/reverse-invocation-of-the-dify-service/ |
400400
| 165 | 工具 | ../../schema-definition/tool |
401401
| 165 | 模型 | ../../schema-definition/model/ |
402-
| 165 | 初始化开发工具 | initialize-development-tools |
402+
| 165 | 安装插件开发工具 | initialize-development-tools |
403403
| 165 | Manifest | ../../schema-definition/manifest |
404404
| 166 | Model 插件 | plugins/quick-start/develop-plugins/model-plugin/README |
405405
| 166 | 创建模型供应商 | create-model-providers |
406406
| 166 | 预定义 | ../../../../guides/model-configuration/predefined-model |
407407
| 166 | 自定义 | customizable-model |
408408
| 166 | 调试插件 | ../../debug-plugins |
409409
| 167 | 创建模型供应商 | plugins/quick-start/develop-plugins/model-plugin/create-model-providers |
410-
| 167 | 初始化开发工具 | ../initialize-development-tools |
410+
| 167 | 安装插件开发工具 | ../initialize-development-tools |
411411
| 167 | 模型接口文档 | ../../../schema-definition/model/model-schema |
412412
| 167 | 接入预定义模型 | ../../../../guides/model-configuration/predefined-model |
413413
| 167 | 接入自定义模型 | ../../../../guides/model-configuration/customizable-model |
414-
| 167 | 初始化开发工具 | ../initialize-development-tools |
414+
| 167 | 安装插件开发工具 | ../initialize-development-tools |
415415
| 168 | 接入预定义模型 | plugins/quick-start/develop-plugins/model-plugin/integrate-the-predefined-model |
416416
| 168 | 模型供应商 | create-model-providers |
417417
| 168 | AIModelEntity | ../../../schema-definition/model/model-designing-rules.md#aimodelentity |
@@ -546,7 +546,7 @@
546546
| 196 | 发布至个人 GitHub 仓库 | plugins/publish-plugins/publish-plugin-on-personal-github-repo |
547547
| 196 | 打包插件 | broken-reference |
548548
| 197 | 本地发布与分享 | plugins/publish-plugins/package-plugin-file-and-publish |
549-
| 197 | 初始化开发工具 | ../quick-start/develop-plugins/initialize-development-tools |
549+
| 197 | 安装插件开发工具 | ../quick-start/develop-plugins/initialize-development-tools |
550550
| 197 | 远程连接测试 | ../quick-start/develop-plugins/extension-plugin.md#tiao-shi-cha-jian |
551551
| 198 | 常见问题 | plugins/faq |
552552
| 202 | 后端 | development/backend/README |
@@ -700,7 +700,7 @@
700700
| 122 | 使用全套开源工具构建 LLM 应用实战:在 Dify 调用 Baichuan 开源模型能力 | learn-more/use-cases/practical-implementation-of-building-llm-applications-using-a-full-set-of-open-source-tools |
701701
| 126 | 开发 Slack Bot 插件 | plugins/best-practice/develop-a-slack-bot-plugin |
702702
| 126 | 开发 Slack Bot 插件 | plugins/best-practice/develop-a-slack-bot-plugin |
703-
| 128 | 初始化开发工具 | ../initialize-development-tools |
703+
| 128 | 安装插件开发工具 | ../initialize-development-tools |
704704
| 128 | 快速开始:开发 Extension 插件 | ../extension-plugin |
705705
| 128 | 反向调用:App | ../../../schema-definition/reverse-invocation-of-the-dify-service/app |
706706
| 128 | 开发 Extension 插件 | ../extension-plugin |
@@ -747,7 +747,7 @@
747747

748748
| 行号 | 链接文本 | 链接 URL |
749749
|------|----------|----------|
750-
| 42 | 初始化开发工具 | ../initialize-development-tools |
750+
| 42 | 安装插件开发工具 | ../initialize-development-tools |
751751
| 64 | 快速开始:开发 Extension 插件 | ../extension-plugin |
752752
| 76 | 反向调用:App | ../../../schema-definition/reverse-invocation-of-the-dify-service/app |
753753
| 316 | 开发 Extension 插件 | ../extension-plugin |

0 commit comments

Comments
 (0)