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 主机上。
如何使用
- GitHub Action – Fork 该仓库,启用提供的工作流,运行它,并下载生成的工件。README 中的截图展示了 UI 操作步骤。
- Docker – 构建镜像(
docker build -t dify-plugin-repackaging .)并运行,挂载本地目录以便在主机上看到重打包后的 .difypkg 文件。默认CMD会以示例参数运行plugin_repackaging.sh;您可使用自己的参数覆盖它。 - 直接脚本 – 克隆仓库并调用
./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 的默认安全和大小检查。
典型工作流
- 确定所需插件(例如
langgenius agent 0.0.9)。 - 使用适当的源(
market、github或local)运行脚本(或 Docker 容器)。 - 脚本将在挂载目录中生成一个
.difypkg文件。 - 在 Dify UI 中,进入 插件管理 → 本地包文件,上传生成的文件。
谁可能需要这个 – 扩展自托管 Dify 部署的开发者,特别是希望在 ARM 服务器上运行社区插件,或在官方市场二进制文件不可用的环境中运行插件的用户。
许可证 / 社区 – 该仓库为开源(README 未说明许可证),并显示了星标历史徽章,表明有一定社区关注。
相关
- 项目
- 项目
- 项目
- 项目