WangDL 23a6999b56 docs: 推送所有未提交的文档更新
- 5/19-5/20 工作日志
- 后端实现状态更新
- 服务器部署方案更新
- 知识库设计更新
- 进行中文档更新
- 执行计划与任务清单更新

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 18:10:44 +08:00

5.3 KiB
Raw Permalink Blame History

工作日志 — 2026-05-19


今天完成的工作

🖥️ 服务器部署8核32G 蜂驰云 120.53.227.155

基础环境:

  • 数据盘挂载 /data9 个子目录
  • Docker 29.1.3镜像源tencentyun + daocloud
  • Node.js 22.22.2 / pnpm 11.1.3 / Python 3.11.15 / Git
  • deploy 用户创建

核心服务Docker 自启):

  • MySQL 8.0.46 → 127.0.0.1:3306innodb_buffer_pool_size=8G
  • Redis 7 → 127.0.0.1:6379noeviction
  • Qdrant → 127.0.0.1:6333zhixi_chunks, 1024d Cosine

后端部署:

  • NestJS 部署到 /opt/zhixi/backendsystemd 自启
  • Nginx + Let's Encrypt → https://api.longde.cloud
  • DNS 从 4核4G 切换到 8核32G
  • Gitea Runner 安装注册systemd 自启)

🗄️ 数据库

  • 33 张表全部就位3 个 migration 执行完成)
  • ID 类型已是 String(cuid),无需迁移
  • 新增KnowledgeSource / KnowledgeChunk / ImportCandidate / BackupJob / MembershipPlan

🔧 后端开发

新增 NestJS 模块:

  • src/modules/knowledge-source/ — 资料来源 CRUD + 自动生成 DocumentImport
  • src/modules/import-candidate/ — 候选知识点管理 + 接受时自动生成 KnowledgeItem
  • src/modules/rag/ — 内部 RAG API7 个端点,@Public 绕过 JWT

增强模块:

  • DocumentImport — 支持 claim/heartbeat/stale recovery
  • UploadedFile — sha256 去重

🐍 Python RAG Worker

rag-worker/ 目录10 个文件):

  • main.py — 主循环(轮询→认领→执行→心跳)
  • parser.py — 文档解析PDF/DOCX/TXT/MD/CSV/XLSX + OCR
  • chunker.py — 512 token + 64 overlap + 中文分句保护
  • embedder.py — bge-m3 via 硅基流动batch 50
  • indexer.py — Qdrant upsert + 检索 + 软删除
  • candidate_generator.py — DeepSeek 生成候选知识点
  • pipelines/import_pipeline.py — 完整导入流程编排
  • api_client.py — 与 NestJS 内部 API 通信
  • config.py / requirements.txt

🔑 AI Provider

  • DeepSeek 官方 Key
  • 硅基流动 Key bge-m3 / bge-reranker-v2-m3 / Qwen3-VL-32B-Instruct / Qwen3-VL-32B-Thinking
  • 百度 OCR 待开通

📄 文档更新

  • 知识库设计.MD — 完善版25 节32 项决策)
  • 服务器与数据库部署方案.MD — 完整版13 节)
  • 执行计划与任务清单.MD — 更新进度标记
  • 凭据配置/蜂驰云服务器凭据.md — 填入实际密钥
  • 凭据配置/轻量云服务器凭据.md — 更新角色 + HTTPS 状态

服务器连接信息

服务器 IP SSH
4核4G 轻量云 81.70.187.179 ssh -i WangDL.pem ubuntu@81.70.187.179
8核32G 蜂驰云 120.53.227.155 ssh -i zhixi.pem ubuntu@120.53.227.155

SSH 密钥位置:startup-plan/凭据配置/WangDL.pemzhixi.pem


8核32G 上运行的服务

服务 管理方式 命令
NestJS API systemd sudo systemctl restart zhixi-api
Gitea Runner systemd sudo systemctl restart gitea-runner
MySQL Docker docker restart mysql
Redis Docker docker restart redis
Qdrant Docker docker restart qdrant
Nginx systemd sudo systemctl restart nginx

日志位置:

  • NestJS: /data/logs/nestjs.log / nestjs-error.log
  • Nginx: /var/log/nginx/
  • Docker: docker logs <container>

代码位置:

  • /opt/zhixi/backend/ — NestJSgit 仓库)
  • /opt/zhixi/rag-worker/ — Python Worker待部署
  • /opt/zhixi/env/.env.production — 环境变量
  • /opt/zhixi/runner/ — Gitea Runner

明天继续(截至 5/20 14:00 状态)

  1. 🔶 Python Worker 部署到 8核32G(最高优先)— 代码已部署,依赖+systemd 待补

    • 代码已推送到 /opt/zhixi/backend/rag-worker/10 个文件 + .env
    • .env 配置完整
    • Python 依赖不全(缺 pydantic/python-docx/markdown/pandas/Pillow且 requirements.txt 缺 qdrant-client/python-dotenv
    • systemd zhixi-worker 服务未创建
    • ⚠️ 默认 python3 为 3.10.12(日志记了 3.11.15
  2. ⚠️ COS Bucket 创建(腾讯云控制台)— 未验证,环境变量中已有 COS 凭据

  3. 百度 OCR 开通 — 未处理

  4. 4核4G 安装 gitea-runner-web — 单一 gitea-runner 服务同时处理 api-server + web-projects 的 CI/CD

    • act_runner 已安装systemd 自启
    • web-projects deploy.yml 已配置并通过验证
  5. 编写 CI/CD workflow 文件 — 两端均已配置并运行

    • /home/ubuntu/api-server/.gitea/workflows/deploy.yml
    • /tmp/web-projects/.gitea/workflows/deploy.ymlweb 今日 13:38 部署成功)

5月20日继续工作的准备

换电脑后需要:

  1. startup-plan/凭据配置/ 目录下的 zhixi.pemWangDL.pem 复制到新电脑
  2. api-server/ 仓库 clone 到新电脑(或直接通过 VS Code Remote SSH 在服务器上开发)
  3. 所有设计文档在 startup-plan/技术设计/ 下,已推送到 Gitea
  4. Gitea 地址:https://git.longde.cloud,账号 wangdl

关键凭据文件(已在 .gitignore不会推送

  • 凭据配置/蜂驰云服务器凭据.md — 所有 8核32G 密码/密钥
  • 凭据配置/轻量云服务器凭据.md — 4核4G + Gitea 账号
  • 凭据配置/zhixi.pem / WangDL.pem — SSH 密钥