一句话: 一键扫描你的 Spring Boot 项目,找出安全隐患、性能坑、代码坏味道,输出结构化健康报告。
⚠️ 请在使用前阅读 PRIVACY.md
Code Health Scanner 是一个轻量单角色扫描器,专为 Java / Spring Boot 项目设计。不需要复杂的多角色协奏——读代码、找问题、出报告、给修复建议,四步完事。
角色ActorResponsibilityScannerMain AI (you)发现代码文件 → 按规则检测 → 分类定级 → 生成报告 → 提供修复建议
StackCoverageNotesJava 8-21✅ Full语法、异常处理、资源管理Spring Boot 2.x / 3.x✅ Full注解、事务、配置、安全MyBatis / MyBatis Plus✅ FullSQL 注入检测、Mapper 规范JPA / Hibernate✅ PartialN+1 查询、懒加载问题Maven (pom.xml)✅ Full依赖版本、已知 CVEGradle🟡 Partial基本依赖检测
text
用户指定项目路径 → Scanner 发现文件 → 逐文件检测 → 聚合分类 → 输出报告 → 可选自动修复
扫描指定目录,识别项目类型:
pom.xml (Maven) / build.gradle (Gradle)src/main/java/ 为主扫描区域src/main/resources/ (application.yml/properties)target/, node_modules/, .git/, test/(默认排除,可通过参数包含)按 4 大类逐文件扫描。详细规则见 references/rules/java-spring.md。
输出结构化 Markdown 报告,包含:
低风险 Info 级问题可自动修复(如命名规范、注解缺失)。Critical/Warning 级仅提供修复建议,需用户确认后执行。
LevelLabelMeaningExamples🔴Critical可能导致线上事故或安全漏洞SQL 注入、硬编码密码、资源泄漏🟡Warning代码坏味道,长期会累积为技术债N+1 查询、God Class、异常吞没🟢Info风格/规范问题命名不符规范、TODO 堆积
#{param} 替代 ${param}debug: true 在非 dev profile 中/actuator 敏感端点暴露+= 拼接字符串完整报告模板见 references/report-template.md。
markdown
# 🔍 Code Health Report — [项目名]
**扫描时间:** 2026-05-18 11:00
**项目路径:** /path/to/project
**扫描范围:** 42 文件, 8,500 LOC
**健康评分:** 72/100 (🔴 2 | 🟡 7 | 🟢 12)
---
## 📊 总览
| 类别 | 🔴 Critical | 🟡 Warning | 🟢 Info |
|------|:-----------:|:----------:|:-------:|
| Security | 2 | 0 | 0 |
| Reliability | 0 | 1 | 2 |
| Performance | 0 | 3 | 0 |
| Design | 0 | 2 | 3 |
| Error Handling | 0 | 1 | 2 |
| Convention | 0 | 0 | 5 |
## 🔴 Critical Issues
### C-1: SQL Injection in UserMapper.java:34
- **Risk:** 用户输入直接拼入 SQL,可能导致数据泄露
- **Code:** `@Select("SELECT * FROM user WHERE name = '${name}'")`
- **Fix:** 改用 `@Select("SELECT * FROM user WHERE name = #{name}")`
...
## 🟡 Warning Issues
...
## 🟢 Info Issues
...
## 💡 Quick Wins (Top 3)
1. 修复 2 个 SQL 注入 → +10 分
2. 迁移 3 个硬编码密钥到环境变量 → +5 分
3. 为 public API 添加 Javadoc → +3 分
text
Health Score = 100 - (Critical × 15) - (Warning × 5) - (Info × 1)
Bounded: 0-100
Score ≥ 85: ✅ Healthy
Score 70-84: 🟡 Needs Attention
Score < 70: 🔴 At Risk
IssueAuto-FixConfidence类名非 PascalCase重命名文件 + 更新引用高@Override 缺失添加注解极高未使用的 import删除 import 行极高new ArrayList<>() → new ArrayList<>(N)自动推断 N 后替换中(需确认 N)空 catch 块添加 log.error(...)低(需了解业务意图)
text
Scanner 提示可修复项 → 用户 review → 逐项执行修复 → 输出变更摘要
src/main/java/ 和 src/main/resources/text
用户说: "扫描这个项目" / "代码健康检查" / "check my code" / "code health scan"
+ 明确的项目路径(如 "E:\my-project" 或当前工作目录)
⚠️ 不再触发: "代码有没有问题" — 过于宽泛,可能匹配日常代码讨论
ModeRecommended ModelReasonQuick Scandeepseek-v4-flash速度快、成本低,适合日常使用Full Scandeepseek-v4-pro推理能力强,适合全面审查Large Project (>500 files)Sub-agent 分模块并发避免单次扫描超时
扫描报告默认输出到 {项目路径}/code-health-reports/,命名格式:
text
code-health-report-{YYYY-MM-DD_HHmm}.md
FileDescriptionreferences/rules/java-spring.md完整检测规则库(Java/Spring Boot 专项)references/report-template.md健康报告模板与评分标准
Skill 设计为 Java/Spring Boot 优先,但规则引擎设计为可扩展。要支持新语言/框架:
references/rules/ 新增对应规则文件(如 python-django.md)欢迎贡献额外语言规则。