chore: 初始版本提交 - 简化架构 + 轮询改造

- 移除 Motia Streams 实时通信,改用 3 秒轮询
- 简化前端代码,移除冗余组件
- 简化后端架构,准备 FastAPI 重构
- 更新 pixi.toml 环境配置
- 保留 bttoxin_digger_v5_repro 作为参考文档

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zly
2026-01-13 16:50:09 +08:00
parent 4c9a7d0978
commit fe353fc0bc
134 changed files with 1237947 additions and 2518 deletions

View File

@@ -270,43 +270,61 @@ ACTGCCAATATGCATCTTCTAGCCAAGGGTGTAAAACTTTCAACGTGTCTTTTCTATCCCACAAATATGAAATATATGCA
- **Hemiptera半翅目**:真正的蝽类
- **Nematoda线虫纲**:蛔虫
## 开发
## Web 界面(可选)
### 前端开发
BtToxin Pipeline 提供可选的 Web 界面,方便任务提交和监控。
前端是位于 `frontend/` 的 Vue 3 + Vite + Element Plus 应用程序。
### 快速启动
```bash
# 安装依赖
pixi run fe-install
# 同时启动前端和后端服务(推荐)
pixi run web-start
# 启动开发服务器(http://localhost:5173
pixi run fe-dev
# 构建生产版本
pixi run fe-build
# 运行单元测试
pixi run fe-test
# 代码检查和修复
pixi run fe-lint
# 前端:http://localhost:5173
# 后端http://localhost:8000
```
### Web 后端开发
Web 后端是位于 `web/backend/` 的 FastAPI 应用程序。
或者分别启动服务:
```bash
# 启动开发服务器支持热重载http://localhost:8000
# 终端 1启动后端
pixi run api-dev
# 运行测试
pixi run api-test
# API 文档位于 http://localhost:8000/api/docsDEBUG=true 时)
# 终端 2启动前端
pixi run fe-dev
```
### 使用 Web 界面
1. 在浏览器中打开 http://localhost:5173
2. 上传 .fna 基因组文件
3. 配置分析参数(可选)
4. 点击"提交任务"
5. 页面将跳转到 `/<task_id>` 页面
6. 页面每 3 秒轮询一次状态
7. 完成后下载结果文件(.tar.gz
### 任务链接
提交后,您的任务链接为:
```
http://localhost:5173/<task_id>
```
请保存此链接以便后续查看结果。结果保留 **30 天**
### 结果存储
任务结果存储在 `/data/jobs/{task_id}/` 目录下:
- `input.fna` - 您上传的文件
- `params.json` - 任务参数
- `output/` - 管道输出文件
- `pipeline_results.tar.gz` - 可下载的结果包
### 结果保留期限
结果将在 **30 天**后自动删除以释放存储空间。请在过期前下载重要结果。
### Python 开发环境
对于 pixi 之外的开发工作:
@@ -359,6 +377,33 @@ bttoxin-pipeline/
└── frontend/ # Vue.js 前端(可选的 Web UI
```
## Docker 部署
适用于生产环境部署或无需安装 pixi/conda 的快速启动:
```bash
# 1. 构建并启动服务
docker compose -f docker/compose/docker-compose.simple.yml up -d
# 2. 访问服务
# 前端页面: http://localhost
# 后端 API: http://localhost/api/docs
```
Docker 部署采用单容器模式,使用 Nginx 同时托管前端静态资源和反向代理后端 API。
**可用的 Docker 配置文件:**
- `docker/compose/docker-compose.yml` - 完整配置,包含多种部署选项
- `docker/compose/docker-compose.simple.yml` - 简单单容器部署(推荐用于快速启动)
- `docker/compose/docker-compose.traefik.yml` - 基于 Traefik 的生产环境部署
- `docker/compose/docker-compose.test.yml` - 测试配置
**数据挂载:**
- `./jobs`: 持久化任务数据
- `./Data`: 参考数据库
详细的 Docker 部署信息请参阅 [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md)
## 故障排除
### 找不到 pixi