Dify 控制台提示“通义千问/Qwen/DeepSeek 等模型供应商无法更新 Dify Plugin Daemon 升级修复手册适用场景Dify 控制台提示通义千问/Qwen/DeepSeek 等模型供应商无法更新或出现ValidationError: PluginInstallTask错误一、问题诊断确认是否为本案例1.1 SSH 登录服务器1.2 检查错误日志# 查看 Plugin Daemon 相关的 ValidationError docker logs docker-api-1 --tail 500 21 | grep -i ValidationError\|PluginInstallTask ​ # 如果看到类似以下输出说明是版本不兼容问题 # ValidationError: 1 validation error for PluginDaemonBasicResponse[list[PluginInstallTask]]1.3 检查模型列表是否为空docker exec docker-db_postgres-1 psql -U postgres -d dify -c \ SELECT provider_name, COUNT(*) as model_count FROM provider_models GROUP BY provider_name; ​ # 如果 tongyi/deepseek 的 model_count 0确认是本问题1.4 检查当前 Plugin Daemon 版本# 查看镜像标签 docker inspect docker-plugin_daemon-1 --format {{.Config.Image}} # 如果显示 0.5.3-local 或更旧的版本需要升级 ​ # 查看容器内二进制信息 docker exec docker-plugin_daemon-1 ls -la /app/main | awk {print $5, $6, $7, $8, $9}二、修复步骤Step 1: 下载最新版 Plugin Daemon# 进入临时目录 cd /tmp ​ # 清理旧文件如果有 rm -f plugin-daemon* ​ # 从 GitHub Releases 下载最新 Linux amd64 版本 curl -L --connect-timeout 30 -o plugin-daemon \ https://github.com/langgenius/dify-plugin-daemon/releases/download/0.6.5/dify-plugin-linux-amd64 ​ # 验证下载结果应该 50MB ls -la /tmp/plugin-daemon file /tmp/plugin-daemon chmod x /tmp/plugin-daemon ​ # 验证版本 /tmp/plugin-daemon version # 预期输出: v0.6.5 (或更高版本)注意: 如果 GitHub 下载超时可尝试以下镜像源https://ghfast.top/https://github.com/langgenius/dify-plugin-daemon/releases/download/0.6.5/dify-plugin-linux-amd64https://mirror.ghproxy.com/https://github.com/langgenius/dify-plugin-daemon/releases/download/0.6.5/dify-plugin-linux-amd64Step 2: 停止 Plugin Daemon 容器cd /dify/docker/dify/docker ​ # 停止容器 docker compose stop plugin_daemon ​ # 等待 3 秒确保完全停止 sleep 3Step 3: 备份旧版本并替换二进制文件# 备份旧版本可选但推荐 docker cp docker-plugin_daemon-1:/app/main /tmp/plugin-daemon-old.backup ls -la /tmp/plugin-daemon-old.backup ​ # 复制新版本到容器 docker cp /tmp/plugin-daemon docker-plugin_daemon-1:/app/main.new ​ # 在容器内执行替换 docker exec docker-plugin_daemon-1 bash -c mv /app/main /app/main.old mv /app/main.new /app/main chmod x /app/main ls -la /app/main Step 4: 彻底重启容器cd /dify/docker/dify/docker ​ # 彻底删除旧容器并重新创建推荐方式 docker compose down plugin_daemon sleep 2 docker compose up -d plugin_daemon ​ # 等待启动完成 sleep 5 ​ # 检查容器状态 docker ps | grep plugin_daemon为什么用downup -d而不是restart?因为替换了容器内的二进制文件后restart可能会因端口占用导致启动失败。down会完全删除旧容器up -d会用新镜像创建全新容器。Step 5: 验证修复结果# 5.1 查看启动日志确认无 ERROR docker logs docker-plugin_daemon-1 --tail 30 # 应该能看到类似成功的日志 # local runtime ready pluginlanggenius/tongyi:x.xxxxx # messageInstalled model: tongyi # 5.2 确认 ValidationError 已消除 docker logs docker-api-1 --tail 50 21 | grep -i ValidationError # 预期: 无输出表示错误已消除 # 5.3 检查 API 是否正常响应 curl -s http://plugin_daemon:5002/plugin/tenant_id/management/models?page1page_size10 # 预期: 返回 JSON 数据非空 # 5.4 确认插件加载状态 docker logs docker-plugin_daemon-1 21 | grep -E local runtime ready|Installed model # 应该包含 tongyi、deepseek 等三、最终同步模型在 Dify UI 操作修复完成后还需要在 Dify 控制台触发一次模型同步打开浏览器访问http:// 1111111登录 Dify 控制台账号:xxxx点击设置→模型供应商找到通义千问 (Tongyi)点击编辑→保存或点击重新获取按钮此时应该能看到完整的 Qwen 模型列表qwen-turbo、qwen-plus、qwen-max 等四、常见问题排查Q1: 下载 plugin-daemon 时超时原因: Docker Hub 或 GitHub 在国内访问不稳定解决方案:# 方案 A: 使用代理 export https_proxyhttp://your-proxy:port curl -L -o plugin-daemon https://github.com/.../dify-plugin-linux-amd64 # 方案 B: 使用加速镜像 curl -L -o plugin-daemon https://ghfast.top/https://github.com/.../dify-plugin-linux-amd64 # 方案 C: 从本地电脑下载后 SCP 上传 # 本地: wget https://github.com/.../dify-plugin-linux-amd64 # 上传: scp plugin-daemon 22222xxxxx:/tmp/Q2: 替换后容器启动失败报 address already in use原因: 旧进程未完全退出解决方案:# 必须使用 down up-d 而不是 restart cd /dify/docker/dify/docker docker compose down plugin_daemon sleep 3 docker compose up -d plugin_daemonQ3: 升级后模型列表仍然为空原因: Dify API 缓存或需要手动触发同步解决方案:# 方案 A: 重启 Dify API 容器清除缓存 cd /dify/docker/dify/docker docker compose restart api worker # 方案 B: 在 Dify UI 手动保存 Provider 配置见第三节Q4: 如何回滚到旧版本# 如果新版本有问题可以恢复备份 cd /dify/docker/dify/docker docker compose stop plugin_daemon docker cp /tmp/plugin-daemon-old.backup docker-plugin_daemon-1:/app/main docker exec docker-plugin_daemon-1 chmod x /app/main docker compose down plugin_daemon docker compose up -d plugin_daemon五、版本参考表组件修复前修复后Dify API1.13.01.13.0 (不变)Plugin Daemon0.5.3-local ❌0.6.5✅Tongyi 插件加载失败langgenius/tongyi:0.1.32 ✅DeepSeek 插件加载失败langgenius/deepseek:0.0.19 ✅六、一键修复脚本高级用法如果需要频繁执行可以将以上步骤整合为脚本#!/bin/bash # fix_plugin_daemon.sh - Dify Plugin Daemon 一键修复脚本 set -e echo Dify Plugin Daemon 修复脚本 # 配置 VERSION0.6.5 DOWNLOAD_URLhttps://github.com/langgenius/dify-plugin-daemon/releases/download/${VERSION}/dify-plugin-linux-amd64 DOCKER_DIR/dify/docker/dify/docker # Step 1: 下载 echo [1/4] 下载 Plugin Daemon v${VERSION}... cd /tmp rm -f plugin-daemon* curl -L --connect-timeout 60 -o plugin-daemon $DOWNLOAD_URL chmod x /tmp/plugin-daemon echo 版本: $(/tmp/plugin-daemon version 2/dev/null | head -1 || echo unknown) # Step 2: 停止 echo [2/4] 停止 Plugin Daemon... cd $DOCKER_DIR docker compose stop plugin_daemon sleep 3 # Step 3: 替换 echo [3/4] 替换二进制文件... docker cp /tmp/plugin-daemon docker-plugin_daemon-1:/app/main.new 2/dev/null || true docker exec docker-plugin_daemon-1 bash -c mv /app/main /app/main.old 2/dev/null; mv /app/main.new /app/main 2/dev/null; chmod x /app/main 2/dev/null || true # Step 4: 重启 echo [4/4] 重启容器... docker compose down plugin_daemon 2/dev/null sleep 2 docker compose up -d plugin_daemon sleep 5 # 验证 echo echo 验证 docker ps | grep plugin_daemon echo ✅ 容器运行中 || echo ❌ 容器未运行 docker logs docker-plugin_daemon-1 --tail 10 21 | grep -q ERROR echo ⚠️ 有错误日志 || echo ✅ 无明显错误 echo echo 完成! 请到 Dify UI 同步模型 使用方法# 将脚本保存到服务器 scp fix_plugin_daemon.sh 2222txxxxxxx:/tmp/ # SSH 登录后执行 ssh 2222xxxxxx chmod x /tmp/fix_plugin_daemon.sh /tmp/fix_plugin_daemon.sh七、相关文件路径用途路径Dify Docker 目录/dify/docker/dify/docker/Docker Compose 文件/dify/docker/dify/docker/docker-compose.yamlPlugin Daemon 数据卷/dify/docker/dify/docker/volumes/plugin_daemonPlugin Daemon 二进制容器内/app/mainDify 数据库docker-db_postgres-1(PostgreSQL, 库名: dify)文档创建时间: 2026-07-22适用环境: Dify 1.13.0 Plugin Daemon 0.5.x → 0.6.5

本月热点