Dify 实战:纯内网dify插件离线安装解决

8,200 阅读4分钟

1.前言

Dify是一款开源的大语言模型(LLM)应用开发平台,旨在简化生成式AI应用的开发、集成和部署过程。它结合了后端即服务(Backend as a Service)和LLMOps的理念,为开发者提供了一个直观、模块化且功能丰富的开发环境,使非技术人员也能轻松参与AI应用的定义和数据运营过程。

目前dify 已经更新到1.1.3 版本 。其中1.0之后有个较大的变化,总结了一下有以下特点

../../../../_resources/time/2025/05/07/71a525218971e7e63e05b66f0a7efa26_MD5.png

其中变化最大的就是插件化的架构。 不过这也是很多人吐槽的地方,就是升级了1.0之后很多模型和工具 下载会慢,安装不了。这个主要是1.0 平台插件更多是因为插件安装需要依赖python 的依赖环境,而不想之前1.0之前的版本镜像下载后就直接可以使用, 不需要在点击组件安装了。因为我们知道python 的依赖环境很多时候是依赖国外镜像源,通常情况下我们需要把python 的依赖环境镜像源切换到国内的镜像源比如:pip国内镜像地址
阿里云 mirrors.aliyun.com/pypi/simple…
中国科技大学 pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) pypi.douban.com/simple/
清华大学 pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学 pypi.mirrors.ustc.edu.cn/simple/

等。这样能解决一部分问题,但是问题又来了,很多信创网络环境是完全隔离的,这样在绝对隔绝的内网环境就不能使用dify了。有没有办法可以在纯内网网络环境下面安装和使用dify1.0版本呢。今天就带大家实现纯内网环境下安装模型组件或者第三方工具组件方法。

2.安装步骤

插件市场下载

点击右上角插件

../../../../_resources/time/2025/05/07/ba53996ca42fd98ecab694f0ad4856fb_MD5.png

打开插件市场

../../../../_resources/time/2025/05/07/a172f0cd6e8dd64a3c3989e82a9bad4f_MD5.png

这里选择一个我们没有的模型,我选择阿里通义千问,点击详情

../../../../_resources/time/2025/05/07/02f9aa08c57a5f47d309423a609654df_MD5.png

进入插件下载列表详细信息

../../../../_resources/time/2025/05/07/3495c5d0200e59dc2f812270bcf61399_MD5.png

我们点击下载,弹出下载对话框选择本地文件路径

../../../../_resources/time/2025/05/07/f84637a208e8dbcc58af30887f3b1de3_MD5.png

../../../../_resources/time/2025/05/07/73cb3d8fbe44ef1b721ea4c5554ea1d1_MD5.png

这样我们就完成了插件的离线下载。

下载 dify-plugin-repackaging

这里我们去github上查找github.com/junjiem/dif… 开源项目,把项目下载到本地

解压程序包

../../../../_resources/time/2025/05/07/5f792c1084e1d0543f41c00a0c4a1597_MD5.png

因为这个项目使用sh后缀名,并且依赖dify-plugin-linux-amd64-5g ,所以我们就在linux 服务器上实现这个编译这离线打包环境

把上面2个包复制到 Linux 服务器中

复制dify-plugin-repackaging和插件到linux 环境

../../../../_resources/time/2025/05/07/3991eb42ed2ae59e5e8dcc4d3a47273d_MD5.png

离线重新打包

centos 系统

在当前Linux 目录下执行下面命令 (备注目前这个脚本在centos 系统中可以运行,如果ubuntu或者debain 需要修改shell 脚本代码)

cd /home/app/AI/dify-plugin/dify-plugin-repackaging-main
chmod 755 plugin_repackaging.sh
#sudo apt update
#apt install rpm
#sudo apt install -y unzip
./plugin_repackaging.sh local ./langgenius-tongyi_0.0.14.difypkg

../../../../_resources/time/2025/05/07/640a1e51b006158597e5cd7565dd43fb_MD5.png

通过上述方式完成离线包的打包

../../../../_resources/time/2025/05/07/0fb0e92eacc5c218e6b1c4bcde4f9f31_MD5.png

ubuntu或者debain系统

这个打包命令和前面的操作步骤类似需要修改plugin_repackaging.sh 脚本

代码行在111行中修改

修改前

install_unzip(){
	rpms=(`rpm -q unzip`)
	if [ ${#rpms[@]} -ne 1 ]; then
		echo "Installing unzip ..."
		yum -y install unzip
		if [ $? -ne 0 ]; then
			echo "Install unzip failed."
			exit 1
		fi
	fi
}

修改后

install_unzip(){
	if ! command -v unzip &> /dev/null; then
		echo "Installing unzip ..."
		#yum -y install unzip
		sudo apt -y install unzip
		if [ $? -ne 0 ]; then
			echo "Install unzip failed."
			exit 1
		fi
	fi
}

主要是吧yum -y install unzip 换成 apt install -y unzip

然后执行下面命令

cd /home/app/AI/dify-plugin/dify-plugin-repackaging-main
chmod 755 plugin_repackaging.sh
sudo apt update
apt install rpm
sudo apt install -y unzip
./plugin_repackaging.sh local ./langgenius-tongyi_0.0.14.difypkg

完成上述离线包的编译和打包

下载新离线包

我们在linux 服务器上把刚才编译好的离线包打包下载下来。

../../../../_resources/time/2025/05/07/f0adb1363ac3d2ebc640144b094eddbf_MD5.png

我们把这个离线包通过 本地上传方式更新安装到dify中

新离线包安装

我们到dify安装目录找到.env 文件中

../../../../_resources/time/2025/05/07/028b80d9a2b27ee6a4ef15146dd4c24d_MD5.png

找到FORCE_VERIFYING_SIGNATURE 属性,把他改成FALSE, PLUGIN_MAX_PACKAGE_SIZE 属性 改成 524288000 ,NGINX_CLIENT_MAX_BODY_SIZE属性 改成 524288000 500M

FORCE_VERIFYING_SIGNATURE=false
PLUGIN_MAX_PACKAGE_SIZE=524288000
NGINX_CLIENT_MAX_BODY_SIZE=500M

修改完成后重启 docker.

登录dify 平台 ,点击左上角“本地插件”

../../../../_resources/time/2025/05/07/ca3bd969b594e1723b8fc0bf3604051d_MD5.png

../../../../_resources/time/2025/05/07/8e9c0712a007ea068ea5fb0fc99fd214_MD5.png

上传插件并安装

../../../../_resources/time/2025/05/07/e779d6e2e8932419d16842923264138a_MD5.png

点击安装

../../../../_resources/time/2025/05/07/fb73c290d6dc2ea1e1468ff740caba00_MD5.png

我们配置上模型API-key

../../../../_resources/time/2025/05/07/5872c008cf236cd0560562375f6aa192_MD5.png

3.验证及测试

我们选择一个聊天对话选择这个通义模型插件。

../../../../_resources/time/2025/05/07/87874cd747238a019e218c7b0a960b4e_MD5.png

../../../../_resources/time/2025/05/07/15e9024b2b870a45e5133506bc83aa16_MD5.png

以上我们完成了模型插件离线安装方式。这样纯内网环境(信创环境)就完全可以通过该方法实现模型、工具、agent 、扩展等插件工具的安装了

../../../../_resources/time/2025/05/07/4cf06a7af64254f996a1c8c327141037_MD5.png