3.3 KiB
3.3 KiB
知识中心部署记录
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。