上周刚把自己手上的 Dify 社区版从 1.9.2 干到了 1.11.4,整个过程说实话比想象中折腾,但踩完坑之后回头梳理,发现流程本身是清晰的,真正容易翻车的地方就那么几个。这篇文章就把这次升级的完整过程、命令、备份方案、坑点全写出来,如果你也正在用 Docker Compose 部署 Dify,正准备从某个旧版本往上升,这篇应该能帮你省掉半天时间。
1. 要不要升:先看清 1.9.2 到 1.11.4 到底差了什么
1.1 这个版本跨度带来了什么
先别急着动手升级。升之前你得先搞清楚,从 1.9.2 到 1.11.4 中间到底发生了哪些变化。我升级之前特意去翻了官方 Release 记录和社区讨论,整理下来对日常使用影响比较大的有这几块。
首先是多租户支持。社区版从 1.10.0 开始加入了多租户能力,你可以在环境变量里开启 MULTI_TENANCY_ENABLED=true,开启后同一个部署实例下可以创建多个工作空间,每个空间之间的应用、知识库、成员权限都是隔离的。对于团队协作或者要给多个业务线提供 AI 能力的情况,这个变化是实质性的。1.9.2 的时代,社区版想要多租户只能靠多次部署或者自己改代码,现在不用了。
其次是 Agent 能力和工作流编排上的演进。1.10 和 1.11 这两个版本在 Agent 策略、工具调用、Chatflow 的多轮对话推理上都有不少改动。尤其是 Agent 策略这块,新版本对节点编排和工具选择的底层逻辑做了优化,意味着你在 1.9.2 里搭好的 Agent 工作流,升级后有可能出现节点配置不兼容或者行为变化的情况。
再就是知识库和检索方面的更新。1.11 对知识库的同步机制、分段清洗流程做了调整,另外在引用和检索的准确性上有优化。如果你之前在 1.9.2 里遇到知识库同步慢、召回效果不理想的情况,升级到 1.11 后会有改善,但前提是升级后你要把已有知识库重新触发一次同步,让新逻辑生效。
还有一个很容易忽略的点是模型管理。新版本在模型 Provider 的接入方式上也有调整,尤其是 Ollama、OpenAI Compatible 这类接口的配置项可能变化。升级后你可能会遇到模型列表变空、模型不存在之类的提示,这个后面我会专门说怎么排查。
1.2 升级的好处和风险
升级的好处不用多讲:bug 修复、安全补丁、新功能、性能优化。但升级本身也是有风险的。特别是跨了两个 minor 版本,风险集中在三块。
第一块是数据库迁移。Dify 升级过程中会自动执行数据库迁移脚本,这个脚本会改表结构。如果中途失败或者迁移脚本没跑完,API 服务起不来,整个平台就挂了。第二块是插件兼容性。1.9.2 时代装的插件,到 1.11.4 可能不兼容,轻则插件进不去,重则影响 Agent 工具调用。第三块是配置差异。新版本可能改了环境变量的默认值,或者新增了必填配置项,你没跟上就会遇到怪问题。
所以我的建议是:如果 Dify 只是你本地搭来玩玩、没有生产数据,那直接升级随便折腾;如果上面跑着业务,有用户在用,那就老老实实按我下面的流程走,先备份、再升级、后验证。
1.3 我为什么决定升级
我这边的情况是,Dify 上跑了几个知识库应用和 Agent 工作流,旧版本 1.9.2 遇到两个痛点:一是知识库同步在数据量大的时候经常卡住,要手动重启 worker 才能恢复;二是团队那边提出需要隔离不同业务线的应用和数据,旧版本做不到。
本来想直接等一个大版本,但社区版 1.10 的多租户和 1.11 的同步机制优化正好打在痛点上,于是决定升。如果你也是类似诉求,这个升级是值得的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 升级前三个动作:环境盘点、完整备份、方案确认
2.1 环境盘点:先确认自己部署的是啥状态
很多人拿到升级教程就开始改镜像 tag,结果改了之后起不来,一排查才发现自己根本不是 Docker Compose 部署的,或者版本号都不对。所以先花五分钟盘点环境。
我在服务器上执行的第一条命令是:
bash复制docker --version
docker compose version
Dify 对 Docker 版本有要求,太老的版本跑不起来。我这台机器是 Docker 24.0.x,Compose v2.20 以上,满足要求。如果你用的还是 Docker 20.10 以前的版本,建议先升级 Docker 再动 Dify。
然后确认当前 Dify 版本。最简单的方法是看你 docker-compose.yaml 里的镜像 tag,或者直接看正在运行的容器镜像:
bash复制docker ps --format "table {{.Names}}\t{{.Image}}"
你会看到类似这样的输出:
code复制docker-api-1 langgenius/dify-api:1.9.2
docker-web-1 langgenius/dify-web:1.9.2
docker-wo
