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

142 lines
5.3 KiB
Markdown
Raw Permalink 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
---
## 明天继续(截至 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.yml`web 今日 13:38 部署成功)
---
## 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 密钥