Files
dify-docs/plugin-dev-zh/0131-cheatsheet.mdx
2025-11-20 11:05:25 +08:00

161 lines
4.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
dimensions:
type:
primary: conceptual
detail: architecture
level: beginner
standard_title: Cheatsheet
language: zh
title: Dify Plugin 开发速查表
description: 全面的Dify插件开发参考指南包括环境要求、安装方法、开发流程、插件分类及类型、常用代码片段和常见问题解决方案。适合开发者快速查阅和参考。
---
### 环境要求
- Python 版本 ≥ 3.12
- Dify 插件脚手架工具 (dify-plugin-daemon)
> 了解更多:[初始化开发工具](/plugin-dev-zh/0221-initialize-development-tools)
### 获取 Dify Plugin 开发包
[Dify Plugin CLI](https://github.com/langgenius/dify-plugin-daemon/releases)
#### 不同平台安装方法
**macOS [Brew](https://github.com/langgenius/homebrew-dify)(全局安装):**
```bash
brew tap langgenius/dify
brew install dify
```
安装完成后,新建任意终端窗口,输出 `dify version` 命令,若输出版本号信息,则说明安装成功。
**macOS ARM (M 系列芯片):**
```bash
# 下载 dify-plugin-darwin-arm64
chmod +x dify-plugin-darwin-arm64
./dify-plugin-darwin-arm64 version
```
**macOS Intel:**
```bash
# 下载 dify-plugin-darwin-amd64
chmod +x dify-plugin-darwin-amd64
./dify-plugin-darwin-amd64 version
```
**Linux:**
```bash
# 下载 dify-plugin-linux-amd64
chmod +x dify-plugin-linux-amd64
./dify-plugin-linux-amd64 version
```
**全局安装 (推荐):**
```bash
# 重命名并移动到系统路径
# 示例 (macOS ARM)
mv dify-plugin-darwin-arm64 dify
sudo mv dify /usr/local/bin/
dify version
```
### 运行开发包
这里以 `dify` 为例。如果你使用的是局部的安装方式,请根据情况替换指令例如 `./dify-plugin-darwin-arm64 plugin init`。
### 插件开发流程
#### 1. 新建插件
```bash
./dify plugin init
```
按提示完成插件基本信息配置
> 了解更多:[Dify 插件开发Hello World 指南](/plugin-dev-zh/0211-getting-started-dify-tool)
#### 2. 开发模式运行
配置 `.env` 文件,然后在插件目录下运行以下命令:
```bash
python -m main
```
> 了解更多:[远程调试插件](/plugin-dev-zh/0411-remote-debug-a-plugin)
#### 4. 打包与部署
打包插件:
```bash
cd ..
dify plugin package ./yourapp
```
> 了解更多:[发布概览](/plugin-dev-zh/0321-release-overview)
### 插件分类
#### 工具标签
分类 `tag` [class ToolLabelEnum(Enum)](https://github.com/langgenius/dify-plugin-sdks/blob/main/python/dify_plugin/entities/tool.py)
```python
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"
```
### 插件类型参考
Dify 支持多种类型的插件开发:
- **工具插件**:集成第三方 API 和服务
> 了解更多:[工具插件开发](/plugin-dev-zh/0211-getting-started-dify-tool)
- **模型插件**:集成 AI 模型
> 了解更多:[模型插件介绍](/plugin-dev-zh/0131-model-plugin-introduction)、[快速接入一个新模型](/plugin-dev-zh/0211-getting-started-new-model)
- **Agent 策略插件**:自定义 Agent 思考和决策策略
> 了解更多:[Agent 策略插件](/plugin-dev-zh/9433-agent-strategy-plugin)
- **扩展插件**:扩展 Dify 平台功能,例如 Endpoint 和 WebAPP
> 了解更多:[扩展插件](/plugin-dev-zh/9231-extension-plugin)
- **数据源插件**:在知识流水线中,作为文档数据的来源并充当整个流水线的起始点
> 了解更多:[数据源插件](/plugin-dev-zh/0222-datasource-plugin)
- **触发器插件**:外部事件发生时,自动触发 Workflow 运行
> 了解更多:[触发器插件](/plugin-dev-zh/0222-trigger-plugin)
{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}
---
[编辑此页面](https://github.com/langgenius/dify-docs/edit/main/plugin-dev-zh/0131-cheatsheet.mdx) | [提交问题](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)