# 检索报错修复已上线 2026-09-16,服务器 192.168.110.111;入口 http://192.168.110.111:8369/#/knowledge/center。 ## 原因及修复 旧构建在检索问题为空或不足 2 个字符时直接提交请求,FastAPI 返回 detail 校验数组,通用错误处理把对象传入消息组件,显示 `[object Object]`。本地使用旧构建和模拟账号完整复现了截图中的提示;线上日志未提供可匹配的检索访问记录,因此没有声称捕获了用户当次具体请求。 - 前端先去除首尾空白,按 Unicode 字符校验 2–2000 字符,非法输入直接展示中文说明,不发送无效请求;后端同步先去除空白再校验。 - 公共错误提示支持字符串、FastAPI 校验数组和嵌套消息,避免直接展示对象及校验响应中的 input。 - 兼容请求客户端先解包 response.data 再抛错的行为,检索区域持续显示具体错误;失败后清除旧命中结果,捕获请求异常。 - 没有已发布知识的账号展示先审核并发布的说明;合法检索仍正常返回空结果。草稿、待发布知识仍不参与检索。 ## 验证 - 本地及服务器候选容器各通过 96 项后端回归测试。 - 10 项前端错误格式与批量操作测试、类型检查、生产构建通过。 - 隔离浏览器验证空白、单字、超长问题拦截;正常问题回车检索及首尾空白处理;模拟 422 数组中文错误;清除旧结果;空知识库提示,无页面脚本错误。 - 模拟账号的 3 条知识分别为已发布、待发布、草稿,正常检索仅命中已发布的 1 条。线上测试没有发布或审核真实知识,没有发送真实聊天至模型。 - 241 个部署文件、236 个运行镜像文件哈希一致;实际内网入口与新页面资源正常;未登录检索请求返回 401。 - API、网关健康,Worker 运行;三个容器重启计数均为 0。数据库 quick_check=ok,校验时归档消息 545095 条、知识 259 条,原有数据保留。 ## 版本及回滚 - 发布目录:/home/ps/knowledge-v5-search-20260916。 - 镜像:zyt/wecom-admin:knowledge-v5-search-20260916(current)。 - 镜像 ID:sha256:1d6df0547b32c29ab28c6d96c0a434f5587cb1b62e97c7aaa0a454c4932c1976。 - 旧镜像:zyt/wecom-admin:before-knowledge-v5-search-20260916。 - 源码备份:发布目录 source-before.tar.gz。 - 数据库与密钥备份:/opt/im-admin/deploy/im-admin/data/backups/knowledge-v5-search-20260916。固定读快照耗时 10.5 秒、文件 4505079808 字节,重新只读打开检查正常。 - 回滚:bash /home/ps/knowledge-v5-search-20260916/rollback.sh。恢复代码和镜像,保留线上数据库与新增聊天。 部署记录:deploy/knowledge-v5-search-20260916。浏览器验证:deploy/knowledge-v5-search/qa/result.json 及前后截图。