# SVN 日志 Web 工作台 ## 功能概览 Web 工作台将现有 CLI 能力封装为可视化页面与 REST API,支持以下流程: 1. SVN 参数录入与连接测试 2. 异步抓取日志并导出 Markdown 3. 使用 DeepSeek 分析 Markdown 并生成 Excel 4. 查看任务历史(状态、进度、错误、产物) 5. 下载输出文件、配置 API Key 与输出目录 ## 启动方式 在仓库根目录执行: ```bash mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.WebApplication ``` 启动后访问: ```text http://localhost:8080 ``` ## 页面说明 - 工作台:最近任务统计与最近产物 - SVN 日志抓取:SVN 地址、账号密码、版本区间、过滤用户 - SVN 日志抓取:支持预置项目下拉(3 个默认项目)与自定义地址 - AI 工作量分析:选择 Markdown 文件、工作周期、输出文件名 - 任务历史:异步任务状态与产物列表 - 系统设置:DeepSeek API Key、输出目录 - 系统设置:DeepSeek API Key、输出目录、默认 SVN 预置项目 ## 输出目录 - 默认输出目录:`outputs/` - Markdown 输出:`outputs/md/*.md` - Excel 输出:`outputs/excel/*.xlsx` ## API Key 读取优先级 1. AI 分析请求中的临时 `apiKey` 2. 设置页保存的运行时 `apiKey` 3. 环境变量 `DEEPSEEK_API_KEY` 建议在生产环境优先使用环境变量,避免敏感信息暴露。 ## 主要 API - `POST /api/svn/test-connection` - `POST /api/svn/fetch` - `GET /api/svn/presets` - `POST /api/ai/analyze` - `GET /api/tasks` - `GET /api/tasks/{taskId}` - `GET /api/files` - `GET /api/files/download?path=...` - `GET /api/settings` - `PUT /api/settings` ## 验证建议 至少执行: ```bash mvn clean compile ``` 如需验证完整流程: 1. 启动 Web 服务 2. 在「SVN 日志抓取」创建任务并生成 `.md` 3. 在「AI 工作量分析」选择 `.md` 并生成 `.xlsx` 4. 在「任务历史」中下载产物并核验内容