startup-plan/工作日志/2026-05-19.md

138 lines
4.6 KiB
Markdown
Raw Normal View 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.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/` — NestJSgit 仓库)
- `/opt/zhixi/rag-worker/` — Python Worker待部署
- `/opt/zhixi/env/.env.production` — 环境变量
- `/opt/zhixi/runner/` — Gitea Runner
---
## 明天继续
1. **Python Worker 部署到 8核32G**(最高优先)
```bash
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
```
2. **COS Bucket 创建**(腾讯云控制台)
3. **百度 OCR 开通**
4. **4核4G 安装 gitea-runner-web**
5. **编写 CI/CD workflow 文件**
---
## 5月20日继续工作的准备
**换电脑后需要:**
1.`startup-plan/凭据配置/` 目录下的 `zhixi.pem``WangDL.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 密钥