Dify客户端异常: a client-side exception has occurred;getPrevChatList错误

2025/03/04 更新:建议拉取官方最新的 1.0.0 版本的镜像 GitHub

问题描述

Dify 将聊天应用程序嵌入 Web 时,第一次可以正常使用。刷新 Web 后,聊天程序报告错误:应用程序错误:发生客户端异常(有关详细信息,请参阅浏览器控制台)。

go 复制代码
Application error: a client-side exception has occurred (see the browser console for more information.

控制台报错信息

php 复制代码
TypeError: (0 , g.getPrevChatList) is not a function
    at page-98fe2eb27f70b868.js:1:1871
    at Object.lt [as useMemo] (fd9d1056-014bed05f3bb9932.js:1:46775)
    at t.useMemo (2117-facb83e7cbe5e185.js:2:31810)
    at y (page-98fe2eb27f70b868.js:1:1811)
    at J (page-98fe2eb27f70b868.js:1:18317)
    at rE (fd9d1056-014bed05f3bb9932.js:1:40344)
    at l$ (fd9d1056-014bed05f3bb9932.js:1:59319)
    at iZ (fd9d1056-014bed05f3bb9932.js:1:117926)
    at ia (fd9d1056-014bed05f3bb9932.js:1:95165)
    at fd9d1056-014bed05f3bb9932.js:1:94987
window.console.error @ 2117-facb83e7cbe5e185.js:1
l_ @ fd9d1056-014bed05f3bb9932.js:1
n.callback @ fd9d1056-014bed05f3bb9932.js:1
nB @ fd9d1056-014bed05f3bb9932.js:1
nV @ fd9d1056-014bed05f3bb9932.js:1
aq @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
a9 @ fd9d1056-014bed05f3bb9932.js:1
aY @ fd9d1056-014bed05f3bb9932.js:1
(anonymous) @ fd9d1056-014bed05f3bb9932.js:1
is @ fd9d1056-014bed05f3bb9932.js:1
nb @ fd9d1056-014bed05f3bb9932.js:1
nw @ fd9d1056-014bed05f3bb9932.js:1
(anonymous) @ fd9d1056-014bed05f3bb9932.js:1Understand this errorAI

解决方案

参考 fix: build failed due to getPrevChatList no longer exists by xuzuodong · Pull Request #13383 · langgenius/dify · GitHub
github.com/langgenius/...

建议使用方案一

方案一

参考 github.com/langgenius/...

1. 停止当前运行的 Docker 容器

首先,停止当前运行的 Dify 容器:

bash 复制代码
cd dify/docker
docker compose down

这将停止所有与 Dify 相关的容器。

2. 更新 docker-compose.yaml 文件

确保 docker-compose.yaml 文件中引用了你刚刚构建的镜像。打开 dify/docker/docker-compose.yaml,找到 web 服务的配置部分,修改为:

yaml 复制代码
web:
  image: langgenius/dify-web:main  # 确保镜像名称和标签与构建时一致

如果镜像标签有变化(如 dify-web:main),请同步更新。

3. 启动更新后的容器

重新启动 Docker 容器:

bash 复制代码
cd dify/docker
docker compose -p dify up -d

这将使用更新后的 web 镜像启动容器。

方案二

官方已经更新了 Dify 的 web 部分的源代码,但并未上传到官方 Docker 中,因此我们可以重新构建 Docker 镜像使其生效,可以按照以下步骤操作:

1. 停止当前运行的 Docker 容器

首先,停止当前运行的 Dify 容器:

bash 复制代码
cd dify/docker
docker compose down

我们需要删除已有的 web 镜像:

bash 复制代码
docker stop langgenius/dify-web
docker rm langgenius/dify-web
docker rmi langgenius/dify-web:0.15.3
2. 重新构建修改后的镜像

进入 web 目录,重新构建修改后的镜像:

bash 复制代码
cd dify/web
docker build -t langgenius/dify-web:0.15.3-custom .
  • -t langgenius/dify-web:latest:指定镜像名称和标签。你可以根据需要修改标签(如 v1.0-custom)。

  • .:表示使用当前目录下的 Dockerfile 进行构建。

3. 更新 docker-compose.yaml 文件

确保 docker-compose.yaml 文件中引用了你刚刚构建的镜像。打开 dify/docker/docker-compose.yaml,找到 web 服务的配置部分,修改为:

yaml 复制代码
web:
  image: langgenius/dify-web:0.15.3-custom  # 确保镜像名称和标签与构建时一致

如果镜像标签有变化(如 v1.0-custom),请同步更新。

4. 启动更新后的容器

重新启动 Docker 容器:

bash 复制代码
cd dify/docker
docker compose -p dify up -d

这将使用更新后的 web 镜像启动容器。

5. 验证更新

访问 Dify 的 Web 界面(通常是 http://localhosthttp://127.0.0.1),检查修改是否生效。如果需要调试,可以查看日志:

复制代码
docker logs -f dify-web-1

方案三

你也可以直接修改docker-compose.yaml文件内容,因为我已经将 docker 镜像推送到 Docker Hub 中了langgenius/dify-web:0.15.3-custom

1. 更新 docker-compose.yaml 文件

确保 docker-compose.yaml 文件中引用了你刚刚构建的镜像。打开 dify/docker/docker-compose.yaml,找到 web 服务的配置部分,修改为:

yaml 复制代码
web:
  image: yuzhouz/dify-web:0.15.3-custom  # 确保镜像名称和标签与构建时一致

如果镜像标签有变化(如 v1.0-custom),请同步更新。

2. 启动更新后的容器

重新启动 Docker 容器:

bash 复制代码
cd dify/docker
docker compose -p dify up -d

这将使用更新后的 web 镜像启动容器。

相关推荐
gnip2 小时前
Jst执行上下文栈和变量对象
前端·javascript
excel2 小时前
🐣 最简单的卷积与激活函数指南(带示例)
前端
醉方休3 小时前
npm/pnpm软链接的优点和使用场景
前端·npm·node.js
拉不动的猪3 小时前
简单回顾下Weakmap在vue中为何不能去作为循环数据源,以及替代方案
前端·javascript·vue.js
How_doyou_do3 小时前
数据传输优化-异步不阻塞处理增强首屏体验
开发语言·前端·javascript
奇舞精选3 小时前
超越Siri的耳朵:ASR与Whisper零代码部署实战指南
前端·人工智能·aigc
奇舞精选3 小时前
Nano Banana 如何为前端注入 AI 控制力
前端·aigc
一支鱼3 小时前
基于 Node.js 的短视频制作神器 ——FFCreator
前端·node.js·音视频开发
DT——3 小时前
前端登录鉴权详解
前端·javascript
李姆斯4 小时前
复盘上瘾症:到底什么时候该“复盘”,什么时候不需要“复盘”
前端·后端·团队管理