feat(web): 增强任务治理与系统诊断能力

新增任务持久化、筛选分页、取消任务、健康检查与 AI 输入校验,并完善前端历史管理交互与容错重试机制。补充对应单元测试,提升系统稳定性和可运维性。
This commit is contained in:
2026-03-08 23:35:36 +08:00
parent e26fb9cebb
commit bdf6367404
21 changed files with 1049 additions and 34 deletions

View File

@@ -7,8 +7,9 @@ Web 工作台将现有 CLI 能力封装为可视化页面与 REST API支持
1. SVN 参数录入与连接测试
2. 异步抓取日志并导出 Markdown
3. 使用 DeepSeek 分析 Markdown 并生成 Excel
4. 查看任务历史(状态、进度、错误、产物)
4. 查看任务历史(状态、进度、错误、产物),支持筛选、分页与取消运行中任务
5. 下载输出文件、配置 API Key 与输出目录
6. 工作台展示系统健康状态输出目录可写性、API Key 配置、任务统计)
## 启动方式
@@ -27,11 +28,9 @@ http://localhost:8080
## 页面说明
- 工作台:最近任务统计与最近产物
- SVN 日志抓取SVN 地址、账号密码、版本区间、过滤用户
- SVN 日志抓取支持预置项目下拉3 个默认项目)与自定义地址
- SVN 日志抓取SVN 地址、账号密码、版本区间、过滤用户(支持预置项目下拉与自定义地址)
- AI 工作量分析:选择 Markdown 文件、工作周期、输出文件名
- 任务历史:异步任务状态与产物列表
- 系统设置DeepSeek API Key、输出目录
- 任务历史:异步任务状态与产物列表,支持筛选、分页、取消任务
- 系统设置DeepSeek API Key、输出目录、默认 SVN 预置项目
## 输出目录
@@ -39,6 +38,7 @@ http://localhost:8080
- 默认输出目录:`outputs/`
- Markdown 输出:`outputs/md/*.md`
- Excel 输出:`outputs/excel/*.xlsx`
- 任务持久化:`outputs/task-history.json`(重启后可恢复历史)
## API Key 读取优先级
@@ -55,7 +55,11 @@ http://localhost:8080
- `GET /api/svn/presets`
- `POST /api/ai/analyze`
- `GET /api/tasks`
- `GET /api/tasks/query?status=&type=&keyword=&page=1&size=10`
- `GET /api/tasks/{taskId}`
- `POST /api/tasks/{taskId}/cancel`
- `GET /api/health`
- `GET /api/health/details`
- `GET /api/files`
- `GET /api/files/download?path=...`
- `GET /api/settings`
@@ -75,3 +79,11 @@ mvn clean compile
2. 在「SVN 日志抓取」创建任务并生成 `.md`
3. 在「AI 工作量分析」选择 `.md` 并生成 `.xlsx`
4. 在「任务历史」中下载产物并核验内容
## AI 输入校验
为避免误操作和资源滥用AI 分析接口增加输入约束:
- 一次最多分析 20 个文件
- 仅允许 `.md` 文件
- 单文件大小不超过 2MB