feat: 集成 DeepSeek AI 服务

- 新增 backend 服务 (Express + TypeScript)
- 前端表单提交改为调用后端 API
- DeepSeek 增强分析结果,本地规则作为 fallback
- Docker 双容器部署:web (Nginx) + backend
- Nginx 反向代理 /api 到后端服务
- 本地开发支持 Vite 代理 + backend:dev 脚本

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jowe
2026-03-28 01:37:52 +08:00
parent 7fe1586dc0
commit 3c0fbd5059
22 changed files with 909 additions and 352 deletions

View File

@@ -7,10 +7,14 @@
# 1. 拉取代码
git pull
# 2. 构建并启动容器
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env至少填入 DEEPSEEK_API_KEY
# 3. 构建并启动容器
docker-compose up -d --build
# 3. 查看日志
# 4. 查看日志
docker-compose logs -f
```
@@ -44,9 +48,15 @@ docker-compose logs -f
docker stats
```
## 服务结构
- `web`: Nginx 托管前端静态资源,并把 `/api/*` 转发到 backend
- `backend`: Node + Express 服务,负责调用 DeepSeek
## 端口配置
- 容器内80 (Nginx)
- web 容器内80 (Nginx)
- backend 容器内3000 (Node)
- 宿主机映射8801
## 1Panel 反向代理配置
@@ -55,6 +65,6 @@ docker stats
## 环境说明
- Node 版本:20-alpine (构建阶段)
- Nginx 版本:alpine (运行阶段)
- 构建产物直接打包进容器,无需在宿主机安装 Node.js
- 前端:Node 20-alpine 构建 + Nginx alpine 运行
- 后端Node 20-alpine 运行
- DeepSeek 密钥仅放在 `.env`,不要写入前端代码