Files
kefu/deploy/knowledge-deployed.md
T
2026-09-21 10:34:06 +08:00

3.3 KiB
Raw Blame History

知识中心部署记录

2026-09-16 已部署至内网服务器 192.168.110.111,服务目录 /opt/im-admin/deploy/im-admin。

管理入口:http://192.168.110.111:8369/ ,刷新后进入「知识中心 → 知识加工与检索」。

当前状态

  • 管理 API、模型网关健康;独立 knowledge-worker 正常运行,三个容器重启计数均为 0。
  • 管理员已获得 5 个知识权限;其他角色按需要授权。
  • 知识检索默认关闭,知识条目、加工任务、增量监控均为 0。未自动处理历史聊天或调用模型。
  • 使用时先选择具体账号,规则方式小批量整理,审核并发布,检索测试通过后再开启客服使用知识。

验证结果

  • 候选生产镜像内 test_knowledge test_model_gateway:56 项测试通过。
  • 238 个安装文件与发布清单一致,233 个运行镜像内代码及前端文件哈希一致。
  • API 健康、知识页面和页面 JS 返回 200;知识接口未登录返回 401。
  • 开发机使用有线内网验证 192.168.110.111:8369,页面与 JS 返回 200,接口鉴权返回 401。
  • 生产数据库 PRAGMA quick_check = ok;新增归档扫描索引和 4 个知识来源触发器。
  • 验收时归档消息 414003、会话 12175、人员 30610、来源账号 15、桌面账号 16、模型配置 3、管理用户 1;既有数量未减少。

镜像与备份

  • 发布目录:/home/ps/knowledge-20260916-100045
  • 当前镜像:zyt/wecom-admin:knowledge-20260916-100045,同时标记为 zyt/wecom-admin:current。
  • 当前镜像 ID:sha256:061e8735ca4cc37fe09143f06095149ec7475a159fa0f1923d0410b50bfd9b22
  • 原镜像:zyt/wecom-admin:before-knowledge-20260916-100045
  • 源码及前端备份:发布目录的 source-before.tar.gz。
  • 数据库及密钥备份:/opt/im-admin/deploy/im-admin/data/backups/knowledge-20260916-100045。
  • 使用 SQLite backup API 一致性备份,3483766784 字节,备份完整性检查为 ok;密钥保存在服务器备份目录,未下载。
  • 发布包 SHA-256:e46cfb88916b516b4bc3c458769a8fe5f5fd3b31eedd615409197754b43c56fb。

首次大库索引注意事项

容器 /tmp 上限为 64 MB,首次为 41 万条消息构建扫描索引时空间不足,首次切换已自动回退,旧服务恢复后完成排查。

最终在一次性迁移容器启动前设置 SQLITE_TMPDIR=/data/.knowledge-migration-20260916-100045,使用已创建、仅应用用户可访问的磁盘临时目录。初始化成功后删除空临时目录,再重新部署成功。运行服务继续使用原有 64 MB 临时卷。

后续对尚未建立该索引的大库首次部署,应先使用磁盘临时目录执行初始化。必须在 Python/SQLite 进程启动前设置 SQLITE_TMPDIR,运行中才设置环境变量不能保证生效。

生产源码有 root 属主文件,因此安装及回退只复制文件内容,保留原属主和权限。

回退

发布目录的 rollback.sh 可停止并移除知识 Worker,恢复旧源码、静态资源、compose 与镜像,再启动 API、网关。

不恢复旧数据库。新增知识表和索引保留,避免丢失发布后新增的聊天。回退后再部署新版本时会补齐知识权限。

本地验收结果:deploy/knowledge-20260916-100045/verification.json、after.json、backup-verification.json。