The icons for built-in tools cannot be displayed

该报错通常出现在自托管 Dify 中访问内置工具页面时,图标请求被发往浏览器本机的 127.0.0.1 ,而不是 Dify 服务器的可达地址,因此图标加载失败。优先排查 API 容器的 CONSOLE_API_URL 配置,而不是 FILES_URL 。

快速结论:该报错通常出现在自托管 Dify 中访问内置工具页面时,图标请求被发往浏览器本机的 127.0.0.1,而不是 Dify 服务器的可达地址,因此图标加载失败。优先排查 API 容器的 CONSOLE_API_URL 配置,而不是 FILES_URL。

适用环境:Dify 1.19.0,Self Hosted(Docker)部署;Issue 中未提供操作系统、Python、CUDA、显卡等信息。

最快修复方案:在 docker/.env 中把 CONSOLE_API_URL 设置为浏览器可访问的 Dify 源地址(不含 /console/api),例如通过标准反向代理 80 端口访问时设为 CONSOLE_API_URL=http://172.16.8.20,然后执行 docker compose up -d 使环境变量生效,再刷新页面。

注意事项:必须使用浏览器实际能访问的地址,若使用自定义端口或 HTTPS,应连同协议和端口一起写入;该结论来自 Issue 评论中的排查建议,Issue 讨论链中未明确记录修复后的验证结果。

问题场景

用户以 Self Hosted(Docker)方式部署 Dify 1.19.0,并通过 172.16.8.20 打开 Dify 页面。进入内置工具相关页面时,内置工具图标无法加载,浏览器实际请求的图标地址是 http://127.0.0.1:5001/console/api/.../webscraper/icon。

报错原文

The icons for built-in tools cannot be displayed

原因分析

Dify 使用 API 容器的 CONSOLE_API_URL 拼接内置工具图标 URL,并在其后追加 /console/api/...。当 CONSOLE_API_URL 被配置为 127.0.0.1(或默认值指向本机)时,浏览器会向访问者自己的电脑发起图标请求,而不是向 Dify 服务器发起请求,因此图标无法显示。这与 FILES_URL 无关。

环境排查

  • 确认 Dify 版本是否为 1.19.0。
  • 确认部署方式是否为 Docker 自托管,以及是否通过反向代理访问。
  • 检查 docker/.env 中 API 容器的 CONSOLE_API_URL 取值。
  • 在浏览器开发者工具 Network 面板查看图标请求的完整 URL、目标主机和状态码。
  • Issue 未涉及 Python、CUDA、PyTorch、显卡或节点依赖版本,无需据此排查。

解决步骤

  1. 打开 docker/.env,定位 CONSOLE_API_URL。
  2. 将其改为浏览器可访问的 Dify 源地址,不包含 /console/api 路径。若通过标准反向代理 80 端口访问,可设为 CONSOLE_API_URL=http://172.16.8.20;如使用 HTTPS 或自定义端口,按实际访问地址填写协议和端口。
  3. 保存文件后,在 Docker 部署目录执行 docker compose up -d,使环境变量变更生效。
  4. 刷新 Dify 页面,重新进入内置工具页面。
  5. 若仍然失败,在开发者工具中记录新的图标请求 URL 及其状态码或浏览器错误,去掉敏感查询参数后再反馈。

验证方法

刷新页面后,内置工具图标应正常显示;同时在开发者工具 Network 面板确认图标请求的目标主机已变为 Dify 服务器地址,而不是 127.0.0.1,且请求返回正常状态码。

参考来源

langgenius/dify #46449

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 35203

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注