一、环境准备
使用dify-plugin-repackaging需要Linux环境,但是我本地Windows系统没有安装Liunx虚拟环境,所以就打算用Dify的docker-plugin_daemon容器代替基础环境,需要的Python3.12环境该容器已经具备。
二、下载dify-plugin-repackaging代码
项目地址:https://github.com/junjiem/dify-plugin-repackaging
可以手动或者使用git将其下载到本地,
三、将代码上传至容器
将项目代码复制到E:\dify-workspace\dify-1.2.0\docker\volumes\plugin_daemon\dify-plugin-repackaging
这里的E:\dify-workspace\dify-1.2.0是我本地Dify的安装路径
四、执行打包
# 进入容器
docker exec -it <容器名> /bin/bash
# 切换至dify-plugin-repackaging项目目录
cd /app/storage/dify-plugin-repackaging
# 执行打包命令
./plugin_repackaging.sh local <包名>
下面是示例,以打包langgenius-deepseek_0.0.6.difypkg为例
bash ./plugin_repackaging.sh local langgenius-deepseek_0.0.6.difypkg
打包成功!
随后将打包完成的离线安装包直接导入即可
五、遇到的问题
- 容器可能缺少unzip工具,使用apt安装
apt install unzip
- 运行脚本可能报错
./plugin_repackaging.sh: line 3: $'\r': command not found
这个错误通常是因为脚本文件包含了 Windows 风格的换行符(CRLF \r\n),而 Linux 系统只能识别 Unix 风格的换行符(LF \n)
解决方法
# 打开脚本文件
vim plugin_repackaging.sh
# 执行转换命令
:set ff=unix
:wq