OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Dify Plugin Daemon — 为 AI 应用扩展插件能力的运行组件

Dify Plugin Daemon — 为 AI 应用扩展插件能力的运行组件

 
  explorer ·  2026-03-22 11:00:29 · 3 次点击  · 0 条评论  

Dify Plugin Daemon

概述

Dify Plugin Daemon 是一个管理插件生命周期的服务。它负责管理三种运行时:

  1. 本地运行时:在与 Dify 服务器相同的机器上运行。
  2. 调试运行时:监听一个端口,等待调试插件连接。
  3. 无服务器运行时:在无服务器平台(如 AWS Lambda)上运行。

Dify API 服务器将与守护进程通信,以获取所有插件的状态(例如哪个插件安装到了哪个工作空间),并接收来自 Dify API 服务器的请求来调用插件(如无服务器函数)。

所有来自 Dify API 的请求都基于 HTTP 协议,但根据运行时类型的不同,守护进程会以不同的方式将请求转发到相应的运行时。

  • 对于本地运行时,守护进程将插件作为子进程启动,并通过 STDIN/STDOUT 与插件通信。
  • 对于调试运行时,守护进程等待插件连接,并以全双工方式进行通信,这是基于 TCP 的。
  • 对于无服务器运行时,插件将被打包到第三方服务(如 AWS Lambda),然后由守护进程通过 HTTP 协议调用。更多详细信息,请参阅 SRI 文档

关于 Dify 插件的更详细介绍,请参阅我们的文档:https://docs.dify.ai/plugins/introduction

CLI

我们提供了一个 CLI 工具,用于在本地环境中进行插件开发。

  • 通过 brew 安装

支持 Linux 和 MacOS 系统,以及 arm64 或 amd64 架构。

  1. 添加 Dify CLI 的 Homebrew tap
  2. 使用 brew 安装 Dify cli
brew tap langgenius/dify
brew install dify
  • 通过二进制文件安装

发布页面 的资产列表中下载二进制文件。

开发

运行守护进程

首先将 .env.example 文件复制为 .env,并设置正确的环境变量,如 DB_HOST 等。

cp .env.example .env

如果您在 0.1.2 版本之前使用非 AWS S3 存储,需要在 .env 文件中手动将 S3_USE_AWS 环境变量设置为 false。

请注意,PYTHON_INTERPRETER_PATH 是 Python 解释器的路径,请根据您的 Python 安装指定正确的路径,并确保 Python 版本为 3.11 或更高,因为 dify-plugin-sdk 有此要求。

我们建议您使用 vscode 来调试守护进程,.vscode 目录中提供了一个 launch.json 文件。

Python 环境

UV

守护进程使用 uv 来管理插件的依赖项,在启动守护进程之前,您需要自行安装 uv

解释器

您的机器上可能安装了多个 Python 版本,我们提供了一个变量 PYTHON_INTERPRETER_PATH 来为您指定 Python 解释器路径。

部署

目前,守护进程仅支持 Linux 和 MacOS,Windows 需要大量适配工作,如果您需要此功能,欢迎贡献代码。

Docker

注意: 由于守护进程依赖于共享的 cwd 目录来运行插件,不建议使用基于网络的卷或来自主机外部的绑定挂载。这可能导致性能不佳,例如插件无法及时启动。

使用 Docker 卷与主机共享目录,以获得更好的性能。

Kubernetes

目前,Daemon 社区版不支持通过增加副本数来平滑扩展。如果您对此功能感兴趣,请联系我们。我们为企业用户提供了更适用于生产环境的版本。

文档

开发指南

对于在此代码库上工作的开发者,请参阅我们全面的开发文档:

  • CLAUDE.md - 主要开发指南,包含架构、代码风格和设置
  • 数据库操作 - 查询构建器模式、模型和事务
  • 缓存操作 - Redis 缓存、发布/订阅和分布式锁
  • 流操作 - 异步流模式和 SSE 处理
  • 泛型类型 - 整个代码库中使用的类型安全模式
  • HTTP 请求 - HTTP 客户端工具和请求处理

运行时文档

基准测试

请参阅 基准测试

许可证

Dify Plugin Daemon 基于 Apache-2.0 许可证 发布。

3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 22 ms
Developed with Cursor