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 镜像启动容器。

相关推荐
weixin_ab几秒前
【HTML分离术】
前端·html
文心快码BaiduComate15 分钟前
新手该如何选择AI编程工具?文心快码Comate全方位体验
前端·后端·程序员
夫唯不争,故无尤也19 分钟前
Tomcat 内嵌启动时找不到 Web 应用的路径
java·前端·tomcat
lichong95122 分钟前
【Xcode】Macos p12 证书过期时间查看
前端·ide·macos·证书·xcode·大前端·大前端++
oh,huoyuyan23 分钟前
如何在火语言中指定启动 Chrome 特定用户配置文件
前端·javascript·chrome
前端大聪明200225 分钟前
single-spa原理解析
前端·javascript
一枚前端小能手29 分钟前
📦 从npm到yarn到pnpm的演进之路 - 包管理器实现原理深度解析
前端·javascript·npm
影i1 小时前
CSS Transform 和父元素撑开问题
前端
@大迁世界1 小时前
Promise.all 与 Promise.allSettled:一次取数的小差别,救了我的接口
开发语言·前端·javascript·ecmascript
知识分享小能手1 小时前
微信小程序入门学习教程,从入门到精通,项目实战:美妆商城小程序 —— 知识点详解与案例代码 (18)
前端·学习·react.js·微信小程序·小程序·vue·前端技术