docs: 移除项目文档和配置文件

- 从 .gitignore 中移除 target/ 目录忽略规则
- 添加 backend/target/ 和 frontend 相关目录到忽略列表
- 添加发布包相关文件到忽略列表
- 移除 CLAUDE.md 项目指导文件
- 移除多个 README 和使用说明文档
- 移除 docs 目录下的用户手册、快速开始等文档
- 移除样例报表文件
- 移除 Docker compose 配置文件
- 移除启动脚本文件
This commit is contained in:
liumangmang
2026-04-22 15:10:37 +08:00
parent e9a75c14dd
commit 6d32c71934
17 changed files with 12 additions and 1293 deletions
+12 -1
View File
@@ -1,5 +1,4 @@
# Maven # Maven
target/
pom.xml.tag pom.xml.tag
pom.xml.releaseBackup pom.xml.releaseBackup
pom.xml.versionsBackup pom.xml.versionsBackup
@@ -9,6 +8,12 @@ dependency-reduced-pom.xml
buildNumber.properties buildNumber.properties
.mvn/timing.properties .mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar .mvn/wrapper/maven-wrapper.jar
backend/target/
target/
# Frontend
frontend/node_modules/
frontend/dist/
# IntelliJ IDEA # IntelliJ IDEA
.idea/ .idea/
@@ -40,6 +45,12 @@ md/
*.xlsx *.xlsx
outputs/ outputs/
# Release artifacts
release/windows/*.jar
release/unix/*.jar
release/*.zip
release/*.tar.gz
# OS generated files # OS generated files
.DS_Store .DS_Store
.DS_Store? .DS_Store?
-154
View File
@@ -1,154 +0,0 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
SVN Log Tool is a Java-based application that fetches SVN logs, exports them to Markdown, and uses DeepSeek AI to analyze logs and generate Excel workload reports.
**Tech Stack**: Java 8, Maven, Spring Boot 2.7.18, SVNKit, Apache POI, OkHttp
**Entry Points**:
- CLI: `com.svnlog.Main` - Interactive SVN log fetcher
- Web: `com.svnlog.WebApplication` - Web workbench with REST API (port 8080)
- AI Processor: `com.svnlog.DeepSeekLogProcessor` - Standalone AI analysis tool
## Build & Run Commands
### Build
```bash
# Compile only (fastest validation)
mvn clean compile
# Package with tests
mvn clean package
# Package without tests
mvn clean package -DskipTests
```
### Run
```bash
# Web workbench (recommended)
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.WebApplication
# Access at http://localhost:8080
# CLI tool
java -jar target/svn-log-tool-1.0.0-jar-with-dependencies.jar
# AI processor
java -cp target/svn-log-tool-1.0.0-jar-with-dependencies.jar com.svnlog.DeepSeekLogProcessor
```
### Test
```bash
# Run all tests
mvn test
# Run single test class
mvn -Dtest=ClassName test
# Run single test method
mvn -Dtest=ClassName#methodName test
```
## Architecture
### Core Components
**SVN Layer** (`com.svnlog`):
- `SVNLogFetcher` - SVN connection, log fetching, user filtering
- `LogEntry` - Log data model
- `Main` - CLI interaction and Markdown generation
**AI Layer** (`com.svnlog`):
- `DeepSeekLogProcessor` - Calls DeepSeek API, generates Excel workload reports
**Web Layer** (`com.svnlog.web`):
- `controller/AppController` - REST API endpoints
- `controller/GlobalExceptionHandler` - Centralized error handling
- `service/TaskService` - Async task orchestration
- `service/SvnWorkflowService` - SVN fetch workflow
- `service/AiWorkflowService` - AI analysis workflow
- `service/TaskPersistenceService` - Task history persistence
- `service/HealthService` - System health checks
- `service/SettingsService` - API key and output directory management
- `service/SvnPresetService` - Preset SVN projects
- `service/OutputFileService` - File listing and downloads
- `service/AiInputValidator` - Input validation (max 20 files, 2MB each)
- `service/RetrySupport` - Retry logic for external calls
**Frontend** (`src/main/resources/static`):
- `index.html` - Main web interface
- `app.js` - Frontend logic
- `styles.css` - Styling
### Data Flow
1. **SVN Fetch**: User input → `SVNLogFetcher` → Markdown file (`outputs/md/*.md`)
2. **AI Analysis**: Markdown → `DeepSeekLogProcessor` → Excel file (`outputs/excel/*.xlsx`)
3. **Web Mode**: REST API → Async tasks → Task history (`outputs/task-history.json`)
### Output Directory Structure
```
outputs/
├── md/ # SVN log Markdown files
├── excel/ # AI-generated Excel reports
└── task-history.json # Task persistence (survives restarts)
```
## Key REST API Endpoints
- `POST /api/svn/test-connection` - Test SVN connection
- `POST /api/svn/fetch` - Async SVN log fetch
- `GET /api/svn/presets` - List preset SVN projects
- `POST /api/ai/analyze` - Async AI analysis
- `GET /api/tasks` - List all tasks
- `GET /api/tasks/query?status=&type=&keyword=&page=1&size=10` - Query tasks
- `POST /api/tasks/{taskId}/cancel` - Cancel running task
- `GET /api/health` - System health status
- `GET /api/files` - List output files
- `GET /api/files/download?path=...` - Download file
- `GET /api/settings` - Get settings
- `PUT /api/settings` - Update settings
## DeepSeek API Configuration
**API Key Priority** (highest to lowest):
1. Request-level `apiKey` parameter
2. Runtime settings (via `/api/settings`)
3. Environment variable `DEEPSEEK_API_KEY`
**Security**: Never commit real API keys. Use environment variables in production.
## Code Style Requirements
- **Java 8 compatibility**: No Java 9+ APIs
- **Imports**: No wildcards, explicit imports only, grouped by: `java.*` / third-party / `com.svnlog.*`
- **Formatting**: 4 spaces, max 120 chars/line, always use braces for `if/for/while`
- **Naming**: `UpperCamelCase` for classes, `lowerCamelCase` for methods/variables, `UPPER_SNAKE_CASE` for constants
- **Resources**: Use try-with-resources for I/O, explicit UTF-8 encoding
- **Error handling**: Never swallow exceptions, provide actionable error messages
## Testing Strategy
- Test directory: `src/test/java/com/svnlog/`
- Naming: `<ClassName>Test`, methods: `should<Behavior>When<Condition>`
- Minimal validation: `mvn clean compile` must pass
## Important Notes
- **Preset SVN projects** are hardcoded in `Main.java` (lines 14-18)
- **Task persistence** enables history recovery after restart
- **AI input limits**: Max 20 files, 2MB each, `.md` only
- **Async tasks** run in background, tracked via `TaskService`
- **Web frontend** is a single-page app with vanilla JS
## When Modifying Code
- SVN logic → `SVNLogFetcher`
- CLI interaction → `Main`
- AI/Excel logic → `DeepSeekLogProcessor`
- Web API → `AppController` + services
- Always update `docs/` if behavior changes
- Run `mvn clean compile` before committing
-78
View File
@@ -1,78 +0,0 @@
# SVN/Git 日报周报月报一键生成
本地离线运行的代码仓库报表生成工具,支持 SVN 和 Git 仓库,一键生成日报、周报、月报。当前仓库仅保留 `Spring Boot` 后端与打包链路。
## 核心能力
- SVN(远程)+ Git(本地路径)双仓库支持
- 日报 / 周报 / 月报自动换算日期区间
- Markdown + Excel 双产物导出
- DeepSeek AI 摘要增强,可选开启
- 异步任务管理、历史查询、文件下载
- 单 jar、Docker、源码三种交付方式
## 项目结构
```text
backend/ Spring Boot API 与打包入口
docs/ 用户文档、销售文案、打包说明
release/ 发行包模板目录
```
## 开发命令
### 后端开发
```bash
cd backend
mvn clean compile
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication
```
### 整体构建
```bash
make build
```
或:
```bash
cd backend
mvn clean package -DskipTests
```
说明:仓库已移除前端代码,`backend/pom.xml` 现在只负责后端构建与打包。
仓库内置 `backend/.mvn/settings.xml`,默认使用国内镜像源完成 `maven` 依赖下载。
## 运行方式
### Docker 方式
```bash
make up
```
访问:`http://localhost:18088`
### 本机运行
```bash
cd backend
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication
```
## 文档
- [发行版打包指南](docs/发行版打包指南.md)
- [用户手册](docs/用户手册.md)
- [快速开始](docs/快速开始.md)
- [销售文案](docs/销售文案.md)
## 技术栈
- 后端:Java 8、Spring Boot 2.7.18
- SVNSVNKit
- GitJGit
- ExcelApache POI
- AIDeepSeek API、OkHttp、Gson
-39
View File
@@ -1,39 +0,0 @@
# SVN 日志 AI 分析(Web
## 功能说明
通过 Web 工作台上传/选择 Markdown 日志,调用 DeepSeek API 分析并生成 Excel 工作量统计文件。
## 启动
```bash
# Docker 一键启动(推荐)
make up
```
备用方式(本机 Java + Maven):
```bash
mvn spring-boot:run -Dspring-boot.run.mainClass=com.svnlog.web.WebApplication
```
访问:`http://localhost:18088`
## 使用步骤
1. 在「SVN 日志抓取」先生成 `.md` 文件
2. 在「系统设置」配置 DeepSeek API Key(或使用环境变量 `DEEPSEEK_API_KEY`
3. 在「AI 工作量分析」选择 `.md` 文件并发起分析
4. 在「任务历史」或「产物列表」下载 `.xlsx`
## API Key 读取优先级
1. 请求中的 `apiKey`
2. 设置页保存的运行时 `apiKey`
3. 环境变量 `DEEPSEEK_API_KEY`
## 注意事项
- 不要在源码和日志中写入真实密钥
- 需要可访问 DeepSeek API 的网络环境
- 接口调用可能产生费用,建议控制调用频率
-16
View File
@@ -1,16 +0,0 @@
# 包结构迁移说明
## 入口调整
- 当前只保留 `com.svnlog.web.WebApplication` 作为唯一入口。
- 已移除 CLI/AI 独立入口类。
## 核心类迁移
- `com.svnlog.SVNLogFetcher` -> `com.svnlog.core.svn.SVNLogFetcher`
- `com.svnlog.LogEntry` -> `com.svnlog.core.svn.LogEntry`
- `com.svnlog.TrustAllSSLContext` -> `com.svnlog.core.svn.TrustAllSSLContext`
## 公共能力
- `com.svnlog.core.report.MarkdownReportWriter`:统一 Markdown 输出逻辑。
-99
View File
@@ -1,99 +0,0 @@
# SVN 月报
## 报告信息
- **仓库**: `ERP-Backend`
- **周期**: 2025年05月 月报
- **来源**: SVN 远程仓库
- **生成时间**: 2025-06-01 09:00:00
## 统计信息
- **总提交数**: 45
- **涉及文件数**: 128
- **活跃作者数**: 4
- **作者提交分布**:
- `lisi`: 18 次
- `wangwu`: 12 次
- `zhangsan`: 10 次
- `zhaoliu`: 5 次
- **涉及模块**:
- `src`: 89 个文件
- `webapp`: 24 个文件
- `config`: 10 个文件
- `docs`: 5 个文件
## 工作摘要
- 完成采购审批流程模块开发,支持三级审批链路
- 库存预警功能上线,支持邮件和站内信双通道通知
- 报表导出模块重构,统一使用 Apache POI 模板引擎
- 修复财务对账模块金额精度丢失问题(BigDecimal 替换 double
- 前端表单校验增强,新增 15 个字段级校验规则
- 数据库慢查询优化 8 处,平均响应时间降低 40%
## 风险与说明
- 采购审批流程尚未覆盖退货场景,计划 6 月迭代补充
- 库存预警阈值目前为全局配置,后续需支持按品类自定义
## 提交明细
### r15230
**作者**: `lisi`
**时间**: 2025-05-30 16:45:00
**仓库**: `ERP-Backend`
**提交信息**:
```
feat: 采购审批流程 - 三级审批链路完整实现
```
**变更路径**:
- `src/main/java/com/erp/approval/ApprovalChainService.java`
- `src/main/java/com/erp/approval/ApprovalController.java`
- `src/main/java/com/erp/model/ApprovalRecord.java`
- `webapp/views/approval/list.jsp`
---
### r15218
**作者**: `wangwu`
**时间**: 2025-05-28 14:20:00
**仓库**: `ERP-Backend`
**提交信息**:
```
feat: 库存预警功能 - 支持邮件和站内信通知
```
**变更路径**:
- `src/main/java/com/erp/inventory/AlertService.java`
- `src/main/java/com/erp/notification/EmailSender.java`
- `src/main/java/com/erp/notification/InboxSender.java`
- `config/alert-rules.xml`
---
### r15205
**作者**: `zhangsan`
**时间**: 2025-05-25 10:30:00
**仓库**: `ERP-Backend`
**提交信息**:
```
fix: 修复财务对账金额精度丢失,double 替换为 BigDecimal
```
**变更路径**:
- `src/main/java/com/erp/finance/ReconciliationService.java`
- `src/main/java/com/erp/model/FinanceRecord.java`
- `src/test/java/com/erp/finance/ReconciliationServiceTest.java`
---
-115
View File
@@ -1,115 +0,0 @@
# Git 周报
## 报告信息
- **仓库**: `demo-web-app`
- **周期**: 2025-05-19 至 2025-05-25 周报
- **来源**: Git 本地仓库
- **作者过滤**: `zhangsan`
- **生成时间**: 2025-05-25 18:30:00
## 统计信息
- **总提交数**: 12
- **涉及文件数**: 37
- **活跃作者数**: 1
- **作者提交分布**:
- `zhangsan`: 12 次
- **涉及模块**:
- `src`: 28 个文件
- `docs`: 5 个文件
- `config`: 4 个文件
## 工作摘要
- 完成用户登录模块重构,统一使用 JWT 认证方案
- 优化首页加载性能,接口响应时间从 800ms 降至 200ms
- 修复订单列表分页查询在大数据量下的 SQL 慢查询问题
- 新增导出功能,支持 CSV 和 Excel 两种格式
- 补充单元测试 15 个,覆盖率从 62% 提升至 78%
## 风险与说明
- JWT 密钥目前硬编码在配置文件中,后续需迁移至密钥管理服务
## 提交明细
### abc1234
**作者**: `zhangsan`
**时间**: 2025-05-25 17:20:00
**仓库**: `demo-web-app`
**引用**: `develop`
**提交信息**:
```
feat: 新增订单导出 Excel 功能
```
**变更路径**:
- `src/main/java/com/demo/service/ExportService.java`
- `src/main/java/com/demo/controller/OrderController.java`
- `src/test/java/com/demo/service/ExportServiceTest.java`
---
### bcd2345
**作者**: `zhangsan`
**时间**: 2025-05-24 15:40:00
**仓库**: `demo-web-app`
**引用**: `develop`
**提交信息**:
```
perf: 优化首页接口查询,添加缓存层
```
**变更路径**:
- `src/main/java/com/demo/service/DashboardService.java`
- `src/main/java/com/demo/config/CacheConfig.java`
---
### cde3456
**作者**: `zhangsan`
**时间**: 2025-05-23 11:15:00
**仓库**: `demo-web-app`
**引用**: `develop`
**提交信息**:
```
fix: 修复订单分页查询慢查询问题,添加复合索引
```
**变更路径**:
- `src/main/resources/db/migration/V20250523__add_order_index.sql`
- `src/main/java/com/demo/mapper/OrderMapper.java`
---
### def4567
**作者**: `zhangsan`
**时间**: 2025-05-22 09:30:00
**仓库**: `demo-web-app`
**引用**: `develop`
**提交信息**:
```
refactor: 重构登录模块,统一使用 JWT 认证
```
**变更路径**:
- `src/main/java/com/demo/security/JwtTokenProvider.java`
- `src/main/java/com/demo/security/JwtAuthFilter.java`
- `src/main/java/com/demo/controller/AuthController.java`
- `src/main/java/com/demo/config/SecurityConfig.java`
- `docs/auth-design.md`
---
-78
View File
@@ -1,78 +0,0 @@
# 发行版打包指南
本文档说明当前纯 `backend/` 结构下的发行版打包方式。
## 一键打包
在项目根目录执行:
```bash
make release
```
该命令会自动:
1.`backend/` 执行 `mvn clean package -DskipTests`
2. 生成 `backend/target/svn-log-tool-1.0.0-jar-with-dependencies.jar`
3. 将 jar 复制到 `release/windows/``release/unix/`
4. 打包 Windows、Unix、Docker 三类发行包
## 手动打包步骤
### 1. 构建后端产物
```bash
cd backend
mvn clean package -DskipTests
```
### 2. 复制 jar 到发行目录
```bash
cp backend/target/svn-log-tool-1.0.0-jar-with-dependencies.jar release/windows/
cp backend/target/svn-log-tool-1.0.0-jar-with-dependencies.jar release/unix/
```
### 3. 打包 Windows 版本
```bash
cd release/windows
zip -r ../svn-log-tool-1.0.0-windows.zip *
cd ../..
```
### 4. 打包 Unix 版本
```bash
cd release/unix
tar czf ../svn-log-tool-1.0.0-unix.tar.gz *
cd ../..
```
### 5. 打包 Docker 版本
```bash
cd release/docker
cp ../../Dockerfile .
tar czf ../svn-log-tool-1.0.0-docker.tar.gz *
rm Dockerfile
cd ../..
```
## Docker 构建说明
根目录 `Dockerfile` 采用多阶段构建:
1. `maven:3.9.6-eclipse-temurin-8` 打包 `backend/`
2. `eclipse-temurin:8-jre` 作为最终运行镜像
## 发布清单
- [ ] Windows 发行包(.zip
- [ ] Unix 发行包(.tar.gz
- [ ] Docker 发行包(.tar.gz
- [ ] 用户手册
- [ ] 快速开始指南
- [ ] 样例报表
- [ ] 产品截图
- [ ] 演示视频(可选)
-90
View File
@@ -1,90 +0,0 @@
# 快速开始指南
3 步快速上手「SVN/Git 日报周报月报一键生成」
---
## 方式一:Docker(推荐)
### 第 1 步:启动服务
```bash
cd release/docker
docker compose up -d
```
### 第 2 步:打开浏览器
访问:http://localhost:18088
### 第 3 步:生成报表
1. 点击左侧「报表生成」
2. 选择仓库类型(SVN 或 Git
3. 填写仓库信息
4. 选择报表周期(日报/周报/月报)
5. 点击「生成 Markdown + Excel」
完成!报表在 `outputs/` 目录下。
---
## 方式二:Windows
### 第 1 步:安装 Java
如果尚未安装,访问 https://adoptium.net/ 下载 JRE 8 (LTS)。
### 第 2 步:启动服务
双击 `start.bat`
### 第 3 步:生成报表
浏览器打开 http://localhost:18088,按照界面提示操作。
---
## 方式三:macOS / Linux
### 第 1 步:启动服务
```bash
cd release/unix
./start.sh
```
### 第 2 步:生成报表
浏览器打开 http://localhost:18088,按照界面提示操作。
---
## 示例:生成本周周报
1. 打开 http://localhost:18088
2. 左侧点击「报表生成」
3. 选择「Git」仓库类型
4. 填写 Git 仓库路径:`/home/user/my-project`
5. 报表周期选择「周报」
6. 基准日期选择本周任意一天(默认今天)
7. 点击「生成 Markdown + Excel」
8. 等待完成,自动下载 Excel
---
## 可选:配置 AI 分析
如需 AI 自动生成工作摘要:
1. 访问 https://platform.deepseek.com 获取 API Key
2. 在 Web 工作台 → 系统设置 → 填入 API Key
3. 生成报表时勾选「启用 AI 摘要」
不配置也可正常使用基础功能。
---
## 需要帮助?
查看完整文档:`docs/用户手册.md`
-253
View File
@@ -1,253 +0,0 @@
# SVN/Git 日报周报月报一键生成 - 用户手册
## 目录
1. [产品简介](#1-产品简介)
2. [环境要求](#2-环境要求)
3. [安装与启动](#3-安装与启动)
4. [功能说明](#4-功能说明)
5. [AI 工作量分析](#5-ai-工作量分析)
6. [常见问题](#6-常见问题)
---
## 1. 产品简介
「SVN/Git 日报周报月报一键生成」是一款本地离线运行的代码仓库报表生成工具。
**核心能力:**
- 连接 SVN 远程仓库或 Git 本地仓库,自动抓取提交日志
- 支持日报、周报、月报三种统计周期
- 自动生成 Markdown 格式提交报表
- 可选集成 DeepSeek AI,自动分析工作量并导出 Excel
- Web 工作台操作,无需命令行
**适用场景:**
- 团队周报/月报编写,快速汇总代码提交记录
- 项目经理查看团队成员工作量
- 个人开发者整理工作日志
- 外包项目交付工作量证明
**数据安全:**
- 所有数据本地处理,不上传任何服务器
- AI 分析仅发送提交摘要(非源码),且可选关闭
---
## 2. 环境要求
### 方式一:Docker 部署(推荐)
- Docker 20.10+
- Docker Compose v2+
- 无需安装 Java
### 方式二:本机 Java 运行
- Java 8 或更高版本(JRE 即可)
- Windows 7+ / macOS 10.12+ / Linux
**Java 安装指引:**
| 系统 | 安装方式 |
|------|----------|
| Windows | 访问 https://adoptium.net/ 下载 JRE 8 (LTS) |
| macOS | `brew install openjdk@8` |
| Ubuntu/Debian | `sudo apt install openjdk-8-jre` |
| CentOS/RHEL | `sudo yum install java-1.8.0-openjdk` |
---
## 3. 安装与启动
### 3.1 Docker 方式
```bash
# 进入 docker 发行包目录
cd release/docker
# 一键启动
docker compose up -d
# 查看状态
docker compose ps
# 停止服务
docker compose down
```
启动后浏览器访问:**http://localhost:18088**
### 3.2 Windows 方式
1. 解压发行包到任意目录
2. 双击 `start.bat`
3. 等待控制台显示启动成功
4. 浏览器访问:**http://localhost:18088**
### 3.3 macOS / Linux 方式
```bash
# 进入 unix 发行包目录
cd release/unix
# 启动
./start.sh
```
浏览器访问:**http://localhost:18088**
---
## 4. 功能说明
### 4.1 工作台
首页展示系统概览:
- **任务统计**:总任务数、执行中、失败数
- **系统状态**:输出目录可写性、API Key 配置状态
- **报表模板**:可用的报表模板列表
- **最近文件**:最新生成的报表文件,可直接下载
### 4.2 报表生成
这是核心功能页面,操作步骤:
**第一步:选择仓库类型**
- **SVN**:需要填写 SVN 预设项目、用户名、密码
- **Git**:需要填写本地 Git 仓库路径(如 `/home/user/my-project`
**第二步:选择报表周期**
- **日报**:统计指定日期当天的提交
- **周报**:统计指定日期所在周(周一至周日)的提交
- **月报**:统计指定日期所在月的全部提交
**第三步:填写参数**
- **基准日期**:报表统计的参考日期(默认今天)
- **周期标签**:报表标题中的周期描述(自动生成,可修改)
- **作者过滤**:只统计包含指定关键词的作者(留空不过滤)
- **输出名称**:生成文件的名称前缀(自动生成,可修改)
**第四步:可选 AI 增强**
- 勾选「启用 AI 摘要」可让 DeepSeek 自动生成工作摘要
- 需要先在系统设置中配置 API Key
**第五步:点击生成**
- 点击「测试连接」验证仓库可访问
- 点击「生成 Markdown + Excel」开始生成
- 执行日志区域会实时显示进度
- 完成后自动下载 Excel 文件
### 4.3 任务历史
查看所有历史任务:
- 支持按状态(PENDING/RUNNING/SUCCESS/FAILED/CANCELLED)筛选
- 支持按类型筛选
- 支持关键词搜索
- 分页浏览
- 可直接下载任务产物
### 4.4 系统设置
- **DeepSeek API Key**:配置 AI 分析所需的密钥
- **默认 SVN 项目**:设置默认选中的 SVN 预设
- **输出目录**:自定义报表输出路径(默认 `outputs`
---
## 5. AI 工作量分析
### 5.1 获取 API Key
1. 访问 https://platform.deepseek.com
2. 注册账号并登录
3. 进入「API Keys」页面
4. 创建新的 API Key
5. 复制 Key(格式为 `sk-...`
### 5.2 配置 API Key
**方式一:Web 设置页**
在「系统设置」页面填入 API Key 并保存。
**方式二:环境变量**
```bash
export DEEPSEEK_API_KEY=sk-your-key-here
```
Docker 方式可在 `docker-compose.yml` 中配置:
```yaml
environment:
- DEEPSEEK_API_KEY=sk-your-key-here
```
### 5.3 使用说明
- AI 分析会将提交记录摘要发送给 DeepSeek API
- 不会发送源代码内容,仅发送提交信息
- 每次分析消耗少量 Token(通常 < 0.01 元)
- 不配置 API Key 也可正常使用基础报表功能
---
## 6. 常见问题
### Q: 启动后无法访问 http://localhost:18088
- 确认服务已启动(控制台无报错)
- 检查端口 18088 是否被其他程序占用
- 尝试使用 http://127.0.0.1:18088
### Q: SVN 连接失败?
- 检查 SVN 地址格式是否正确(以 `http://``https://` 开头)
- 确认用户名和密码正确
- 确认网络可以访问 SVN 服务器
- 如果是 HTTPS,可能存在证书问题
### Q: Git 仓库路径无效?
- 确认路径指向 `.git` 所在的目录(不是 `.git` 本身)
- 路径必须是本地绝对路径
- Docker 模式下需要将 Git 仓库目录挂载到容器中
### Q: AI 分析报错?
- 检查 API Key 是否正确
- 确认网络可以访问 api.deepseek.com
- 检查 DeepSeek 账户余额是否充足
### Q: 生成的报表在哪里?
- 默认在程序目录下的 `outputs/` 文件夹
- `outputs/md/` 存放 Markdown 报表
- `outputs/excel/` 存放 Excel 工作量统计
- 也可在 Web 工作台的「任务历史」页面直接下载
### Q: 如何修改端口?
在 jar 同目录下创建 `application.properties` 文件:
```properties
server.port=8080
```
Docker 方式修改 `docker-compose.yml` 中的端口映射:
```yaml
ports:
- "8080:18088"
```
-96
View File
@@ -1,96 +0,0 @@
# 闲鱼商品文案
## 商品标题(30字以内)
SVN/Git日报周报月报一键生成工具 本地离线 AI分析
---
## 商品描述
### 一句话介绍
程序员必备效率工具!连接 SVN 或 Git 仓库,一键生成日报、周报、月报,支持 AI 自动分析工作量,导出 Markdown + Excel。
### 痛点场景
- 每周写周报要翻半天 Git 提交记录?
- 项目经理要月度工作量统计,手动整理到崩溃?
- 外包项目交付,需要提供工作量证明?
- 团队成员多,汇总每个人的提交记录费时费力?
### 产品亮点
1. **一键生成**:选择仓库、选择周期、点击生成,3 步搞定
2. **双仓库支持**:SVN 远程仓库 + Git 本地仓库都能用
3. **三种周期**:日报 / 周报 / 月报,自动计算日期范围
4. **AI 智能分析**:接入 DeepSeek AI,自动提炼工作摘要(可选)
5. **Excel 导出**:直接生成工作量统计表,拿来就能用
6. **Web 操作界面**:浏览器打开就能用,不需要命令行
7. **本地离线运行**:数据不出你的电脑,安全放心
8. **Docker 一键部署**`make up` 一条命令启动
### 你会得到什么
- 完整源码(Java 8 + Spring Boot
- Windows 一键启动包(双击 start.bat 即可运行)
- macOS / Linux 启动脚本
- Docker 部署包
- 详细用户手册 + 快速开始指南
- 样例报表(周报 + 月报示例)
- 售后技术支持
### 技术栈
Java 8 / Spring Boot 2.7 / SVNKit / JGit / Apache POI / DeepSeek API
### 适合谁
- 需要写日报周报月报的开发者
- 需要统计团队工作量的项目经理
- 需要提供工作量证明的外包团队
- 想学习 Spring Boot + 前后端一体化项目的同学
### 运行环境
- Windows / macOS / Linux 均可
- 需要 Java 8+(或 Docker
- AI 功能需要 DeepSeek API Key(免费额度够用很久)
---
## 定价建议
- 基础版(源码 + 文档):¥149
- 标准版(+ 启动包 + 视频教程):¥299
- 专业版(+ 一对一部署支持 + 定制需求沟通):¥599
---
## 商品标签(搜索关键词)
SVN, Git, 日报, 周报, 月报, 工作量统计, 报表工具, 程序员工具,
AI分析, DeepSeek, Spring Boot, Java, 代码日志, 提交记录,
工作量证明, 项目管理, 效率工具
---
## 买家常见问题(FAQ
**Q: 需要什么技术基础?**
A: 不需要编程基础。Windows 用户双击 start.bat 即可启动,打开浏览器操作。
**Q: AI 功能收费吗?**
A: 工具本身不收费。AI 功能使用 DeepSeek API,新用户有免费额度,日常使用每月花费不到 1 元。不用 AI 也能正常生成报表。
**Q: 支持哪些 SVN/Git 服务器?**
A: SVN 支持所有标准 SVN 服务器(VisualSVN、CollabNet 等)。Git 支持本地仓库(GitHub、GitLab、Gitee 克隆到本地的都行)。
**Q: 数据安全吗?**
A: 完全本地运行,不上传任何数据。AI 分析只发送提交信息摘要(不含源码)。
**Q: 买了之后怎么获取更新?**
A: 提供售后群,有更新会在群里通知。
**Q: 可以定制功能吗?**
A: 专业版包含定制需求沟通,简单需求可免费实现。
-45
View File
@@ -1,45 +0,0 @@
SVN/Git 日报周报月报一键生成 - Docker 使用说明
================================================
一、环境要求
-----------
- Docker 20.10+
- Docker Compose v2+
二、一键启动
-----------
将本目录下的 docker-compose.yml 放到任意位置,执行:
docker compose up -d
启动后访问:http://localhost:18088
查看状态:
docker compose ps
停止服务:
docker compose down
三、数据持久化
-----------
生成的报表保存在宿主机的 ./outputs/ 目录下。
容器重启后任务历史和输出文件不会丢失。
四、AI 功能配置(可选)
--------------------
方式一:在 Web 工作台 → 系统设置中填入 API Key
方式二:通过环境变量传入(修改 docker-compose.yml):
services:
svn-log-tool:
environment:
- DEEPSEEK_API_KEY=sk-your-key-here
五、技术支持
-----------
如有问题,请联系卖家获取支持。
-15
View File
@@ -1,15 +0,0 @@
services:
svn-log-tool:
image: svn-log-tool:latest
build:
context: .
dockerfile: Dockerfile
container_name: svn-log-tool
ports:
- "18088:18088"
volumes:
- ./outputs:/app/outputs
restart: unless-stopped
# 如需配置 AI 功能,取消下方注释并填入 API Key
# environment:
# - DEEPSEEK_API_KEY=sk-your-key-here
-49
View File
@@ -1,49 +0,0 @@
SVN/Git 日报周报月报一键生成 - macOS / Linux 使用说明
====================================================
一、环境要求
-----------
- macOS 10.12+ 或 LinuxUbuntu/CentOS/Debian 等)
- Java 8 或更高版本(JRE 即可)
安装 Java
macOS (Homebrew): brew install openjdk@8
Ubuntu / Debian: sudo apt install openjdk-8-jre
CentOS / RHEL: sudo yum install java-1.8.0-openjdk
二、使用方法
-----------
1. 打开终端,进入本目录
2. 执行启动脚本:
./start.sh
3. 浏览器打开 http://localhost:18088
4. 在 Web 工作台中操作
三、AI 工作量分析(可选)
-----------------------
如需使用 AI 自动分析功能:
1. 访问 https://platform.deepseek.com 获取 API Key
2. 在 Web 工作台 → 系统设置 → 填入 API Key
3. 生成报表时勾选"启用 AI 摘要"
不配置 API Key 也可正常使用基础报表功能。
四、常见问题
-----------
Q: 提示 Permission denied
A: 执行 chmod +x start.sh 赋予执行权限。
Q: 端口 18088 被占用?
A: 关闭占用该端口的程序,或在 jar 同目录下创建
application.properties 文件,添加 server.port=8080
Q: 输出文件在哪里?
A: 在 start.sh 同目录的 outputs/ 文件夹下。
五、技术支持
-----------
如有问题,请联系卖家获取支持。
-53
View File
@@ -1,53 +0,0 @@
#!/bin/bash
# SVN/Git 日报周报月报一键生成 - 启动脚本
echo "============================================"
echo " SVN/Git 日报周报月报一键生成"
echo " 本地离线报表生成工具"
echo "============================================"
echo ""
# 检查 Java 环境
if ! command -v java &> /dev/null; then
echo "[错误] 未检测到 Java 环境。"
echo ""
echo "请安装 Java 8 或更高版本:"
echo ""
echo " macOS (Homebrew):"
echo " brew install openjdk@8"
echo ""
echo " Ubuntu / Debian:"
echo " sudo apt install openjdk-8-jre"
echo ""
echo " CentOS / RHEL:"
echo " sudo yum install java-1.8.0-openjdk"
echo ""
echo "安装完成后,请重新运行本脚本。"
exit 1
fi
# 显示 Java 版本
JAVA_VER=$(java -version 2>&1 | head -n 1)
echo "[信息] 检测到 Java: $JAVA_VER"
echo ""
# 检查 jar 文件
JAR_FILE="svn-log-tool-1.0.0-jar-with-dependencies.jar"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
if [ ! -f "$SCRIPT_DIR/$JAR_FILE" ]; then
echo "[错误] 未找到 $JAR_FILE"
echo "请确认 jar 文件与本脚本在同一目录下。"
exit 1
fi
# 创建输出目录
mkdir -p "$SCRIPT_DIR/outputs"
echo "[启动] 正在启动 Web 工作台..."
echo "[信息] 启动后请在浏览器中访问: http://localhost:18088"
echo "[信息] 按 Ctrl+C 可停止服务"
echo ""
cd "$SCRIPT_DIR"
java -jar "$JAR_FILE"
-59
View File
@@ -1,59 +0,0 @@
SVN/Git 日报周报月报一键生成 - Windows 使用说明
================================================
一、环境要求
-----------
- Windows 7 / 10 / 11
- Java 8 或更高版本(JRE 即可)
如果尚未安装 Java,请访问以下地址下载:
https://adoptium.net/
选择 "JRE 8 (LTS)" → Windows x64 → 下载安装
安装后在命令行输入 java -version 确认安装成功。
二、使用方法
-----------
1. 双击 start.bat 启动服务
2. 浏览器打开 http://localhost:18088
3. 在 Web 工作台中操作:
- 选择仓库类型(SVN 或 Git)
- 选择报表周期(日报/周报/月报)
- 填写仓库信息,点击"生成"
4. 生成的报表在 outputs/ 目录下
三、AI 工作量分析(可选)
-----------------------
如需使用 AI 自动分析功能:
1. 访问 https://platform.deepseek.com 注册并获取 API Key
2. 在 Web 工作台 → 系统设置 → 填入 API Key
3. 生成报表时勾选"启用 AI 摘要"
不配置 API Key 也可正常使用基础报表功能。
四、常见问题
-----------
Q: 双击 start.bat 闪退?
A: 右键 start.bat → 以管理员身份运行,查看错误信息。
通常是 Java 未安装或未加入 PATH。
Q: 端口 18088 被占用?
A: 关闭占用该端口的程序,或修改 jar 同目录下的
application.properties 中的 server.port。
Q: SVN 连接失败?
A: 检查 SVN 地址、用户名、密码是否正确。
确认网络可以访问 SVN 服务器。
Q: 输出文件在哪里?
A: 在 start.bat 同目录的 outputs/ 文件夹下。
- outputs/md/ Markdown 报表
- outputs/excel/ Excel 工作量统计
五、技术支持
-----------
如有问题,请联系卖家获取支持。
-53
View File
@@ -1,53 +0,0 @@
@echo off
chcp 65001 >nul 2>&1
title SVN/Git 日报周报月报一键生成
echo ============================================
echo SVN/Git 日报周报月报一键生成
echo 本地离线报表生成工具
echo ============================================
echo.
:: 检查 Java 环境
where java >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未检测到 Java 环境。
echo.
echo 请安装 Java 8 或更高版本:
echo 下载地址: https://adoptium.net/
echo 选择 JRE 8 (LTS) 下载安装即可。
echo.
echo 安装完成后,请重新运行本脚本。
echo.
pause
exit /b 1
)
:: 检查 Java 版本
for /f "tokens=3" %%v in ('java -version 2^>^&1 ^| findstr /i "version"') do (
set JAVA_VER=%%v
)
echo [信息] 检测到 Java 版本: %JAVA_VER%
echo.
:: 检查 jar 文件
set JAR_FILE=svn-log-tool-1.0.0-jar-with-dependencies.jar
if not exist "%JAR_FILE%" (
echo [错误] 未找到 %JAR_FILE%
echo 请确认 jar 文件与本脚本在同一目录下。
echo.
pause
exit /b 1
)
:: 创建输出目录
if not exist "outputs" mkdir outputs
echo [启动] 正在启动 Web 工作台...
echo [信息] 启动后请在浏览器中访问: http://localhost:18088
echo [信息] 按 Ctrl+C 可停止服务
echo.
java -jar "%JAR_FILE%"
pause