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

138 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 工作日志 — 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 密钥