junjiem/dify-plugin-repackaging

Scripting tool for downloading Dify plugin package from Dify Marketplace and Github and repackaging [true] offline package.

Dify 插件重打包

是什么 – 一个小型工具,用于从官方市场、GitHub 或本地 .difypkg 文件下载 Dify AI 平台插件,并重新打包,以便在运行于不同操作系统/架构的 Dify 实例上安装。

为何存在 – Dify 仅接受与服务器完全匹配的平台构建的插件(例如 many-linux 2014 x86_64)。该脚本自动化了获取原始包、解压并使用适当的 manylinux 标签重新构建的步骤,使开发者能够将同一插件部署到 amd64 和 arm64 主机上。

如何使用

  1. GitHub Action – Fork 该仓库,启用提供的工作流,运行它,并下载生成的工件。README 中的截图展示了 UI 操作步骤。
  2. Docker – 构建镜像(docker build -t dify-plugin-repackaging .)并运行,挂载本地目录以便在主机上看到重打包后的 .difypkg 文件。默认 CMD 会以示例参数运行 plugin_repackaging.sh;您可使用自己的参数覆盖它。
  3. 直接脚本 – 克隆仓库并调用 ./plugin_repackaging.sh
    • 市场./plugin_repackaging.sh market <插件名> <插件版本>
    • GitHub./plugin_repackaging.sh github <仓库> <标签> <输出名>
    • 本地./plugin_repackaging.sh local ./my_plugin.difypkg
    • 添加 -p manylinux_2_17_x86_64(或 manylinux_2_17_aarch64)以目标为不同平台。

前置条件

  • Linux(RPM 系统)或 macOS;在 RPM 系统上通过 yum/dnf 安装 unzip
  • Python 3.12.x(与 dify-plugin-daemon 使用的版本相同)。
  • Docker(可选):若偏好容器化执行。

关键配置调整 – 要在 Dify 服务器上安装重打包的插件,README 建议修改三个 .env 设置:

FORCE_VERIFYING_SIGNATURE=false   # 允许未签名插件
PLUGIN_MAX_PACKAGE_SIZE=524288000 # 将大小限制提高至 500 MiB
NGINX_CLIENT_MAX_BODY_SIZE=500M   # 让 Nginx 接受更大的上传

这些设置放宽了 Dify 的默认安全和大小检查。

典型工作流

  1. 确定所需插件(例如 langgenius agent 0.0.9)。
  2. 使用适当的源(marketgithublocal)运行脚本(或 Docker 容器)。
  3. 脚本将在挂载目录中生成一个 .difypkg 文件。
  4. 在 Dify UI 中,进入 插件管理 → 本地包文件,上传生成的文件。

谁可能需要这个 – 扩展自托管 Dify 部署的开发者,特别是希望在 ARM 服务器上运行社区插件,或在官方市场二进制文件不可用的环境中运行插件的用户。

许可证 / 社区 – 该仓库为开源(README 未说明许可证),并显示了星标历史徽章,表明有一定社区关注。

相关

  • 项目
  • 项目
  • 项目
  • 项目