4.6 KiB
4.6 KiB
工作日志 — 2026-05-19
今天完成的工作
🖥️ 服务器部署(8核32G 蜂驰云 120.53.227.155)
基础环境:
- 数据盘挂载 /data,9 个子目录
- 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:3306(innodb_buffer_pool_size=8G)
- Redis 7 → 127.0.0.1:6379(noeviction)
- Qdrant → 127.0.0.1:6333(zhixi_chunks, 1024d Cosine)
后端部署:
- NestJS 部署到 /opt/zhixi/backend,systemd 自启
- 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 + 自动生成 DocumentImportsrc/modules/import-candidate/— 候选知识点管理 + 接受时自动生成 KnowledgeItemsrc/modules/rag/— 内部 RAG API(7 个端点,@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.pem 和 zhixi.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/— NestJS(git 仓库)/opt/zhixi/rag-worker/— Python Worker(待部署)/opt/zhixi/env/.env.production— 环境变量/opt/zhixi/runner/— Gitea Runner
明天继续
-
Python Worker 部署到 8核32G(最高优先)
ssh -i zhixi.pem ubuntu@120.53.227.155 cd /opt/zhixi/backend git pull cd rag-worker pip3.11 install -r requirements.txt # 创建 systemd service 启动 main.py -
COS Bucket 创建(腾讯云控制台)
-
百度 OCR 开通
-
4核4G 安装 gitea-runner-web
-
编写 CI/CD workflow 文件
5月20日继续工作的准备
换电脑后需要:
- 将
startup-plan/凭据配置/目录下的zhixi.pem和WangDL.pem复制到新电脑 - 将
api-server/仓库 clone 到新电脑(或直接通过 VS Code Remote SSH 在服务器上开发) - 所有设计文档在
startup-plan/技术设计/下,已推送到 Gitea - Gitea 地址:
https://git.longde.cloud,账号 wangdl
关键凭据文件(已在 .gitignore,不会推送):
凭据配置/蜂驰云服务器凭据.md— 所有 8核32G 密码/密钥凭据配置/轻量云服务器凭据.md— 4核4G + Gitea 账号凭据配置/zhixi.pem/WangDL.pem— SSH 密钥