|
1 | | -# codescan |
| 1 | +# CodeScan — AI Code Review Agent |
| 2 | + |
| 3 | +<div align="center"> |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +**多维度 AI 代码审查 Agent,支持所有主流编程语言** |
| 10 | + |
| 11 | +[🚀 在线 Demo](https://YOUR_USERNAME.github.io/codescan) · [📖 使用说明](#使用方法) · [🛠️ 本地运行](#本地运行) |
| 12 | + |
| 13 | +</div> |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +## ✨ 项目简介 |
| 18 | + |
| 19 | +CodeScan 是一个运行在浏览器中的 AI 代码审查工具,基于 **DeepSeek API** 构建。它采用两阶段 Agent 架构,自动识别代码语言,从**安全性**、**性能**、**可读性**三个维度进行深度分析,输出结构化评分报告,并支持多轮追问。 |
| 20 | + |
| 21 | +整个工具为**纯静态网页**,无需服务器,部署在 GitHub Pages 上即可使用。 |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +## 🎯 核心功能 |
| 26 | + |
| 27 | +| 功能 | 说明 | |
| 28 | +|---|---| |
| 29 | +| 🔍 **语言自动识别** | 自动检测 Python、Java、Kotlin、JS/TS、Go、C/C++、PHP、Rust 等 | |
| 30 | +| 🔒 **安全性分析** | SQL 注入、XSS、不安全加密算法、未校验输入等漏洞检测 | |
| 31 | +| ⚡ **性能分析** | N+1 查询、无效循环、内存泄漏、缺少超时等性能问题 | |
| 32 | +| 📖 **可读性分析** | 命名规范、注释质量、函数复杂度、代码结构评估 | |
| 33 | +| 💡 **优化建议** | 具体可操作的改进方案,不只是指出问题 | |
| 34 | +| 💬 **多轮追问** | 报告生成后可继续与 Agent 对话,例如要求重写某段代码 | |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## 🤖 Agent 工作流 |
| 39 | + |
| 40 | +``` |
| 41 | +用户粘入代码 |
| 42 | + │ |
| 43 | + ▼ |
| 44 | +┌─────────────────┐ |
| 45 | +│ Step 1: 语言识别 │ → 识别语言、代码类型、复杂度 |
| 46 | +└────────┬────────┘ |
| 47 | + │ |
| 48 | + ▼ |
| 49 | +┌─────────────────┐ |
| 50 | +│ Step 2: 多维分析 │ → 安全 / 性能 / 可读性三维同步分析 |
| 51 | +└────────┬────────┘ |
| 52 | + │ |
| 53 | + ▼ |
| 54 | +┌─────────────────┐ |
| 55 | +│ 生成结构化报告 │ → 评分 + 问题列表 + 优化建议 |
| 56 | +└────────┬────────┘ |
| 57 | + │ |
| 58 | + ▼ |
| 59 | +┌─────────────────┐ |
| 60 | +│ 追问模式 │ → 携带代码上下文的多轮对话 |
| 61 | +└─────────────────┘ |
| 62 | +``` |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## 🚀 在线使用 |
| 67 | + |
| 68 | +**直接打开 Demo 链接,填入你自己的 DeepSeek API Key 即可使用。** |
| 69 | + |
| 70 | +> API Key 仅在浏览器本地使用,不会发送到任何第三方服务器,完全私密。 |
| 71 | +
|
| 72 | +获取 DeepSeek API Key:[platform.deepseek.com](https://platform.deepseek.com)(新注册有免费额度,每次分析费用约 ¥0.01) |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## 🛠️ 本地运行 |
| 77 | + |
| 78 | +本项目为纯静态网页,无任何依赖。 |
| 79 | + |
| 80 | +```bash |
| 81 | +# 克隆仓库 |
| 82 | +git clone https://github.com/YOUR_USERNAME/codescan.git |
| 83 | +cd codescan |
| 84 | + |
| 85 | +# 直接用浏览器打开 |
| 86 | +open index.html # macOS |
| 87 | +start index.html # Windows |
| 88 | +xdg-open index.html # Linux |
| 89 | +``` |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## 📦 部署到 GitHub Pages |
| 94 | + |
| 95 | +```bash |
| 96 | +git clone https://github.com/YOUR_USERNAME/codescan.git |
| 97 | +cd codescan |
| 98 | +# 把 index.html 放入仓库根目录 |
| 99 | +git add . |
| 100 | +git commit -m "init: CodeScan AI Code Review Agent" |
| 101 | +git push |
| 102 | +``` |
| 103 | + |
| 104 | +然后在 GitHub 仓库 → **Settings** → **Pages** → Branch: `main` → **Save**,等约 1 分钟即可访问。 |
| 105 | + |
| 106 | +--- |
| 107 | + |
| 108 | +## 🖥️ 技术栈 |
| 109 | + |
| 110 | +- **纯 HTML / CSS / JavaScript**,零框架依赖,零构建步骤 |
| 111 | +- **DeepSeek Chat API**(`deepseek-chat` 模型) |
| 112 | +- 两阶段 Prompt 链:结构化 JSON 输出 + 对话上下文管理 |
| 113 | +- 完全运行于客户端浏览器,隐私安全 |
| 114 | + |
| 115 | +--- |
| 116 | + |
| 117 | +## 📊 评分说明 |
| 118 | + |
| 119 | +| 等级 | 分数 | 含义 | |
| 120 | +|---|---|---| |
| 121 | +| S | 90-100 | 优秀,无明显问题 | |
| 122 | +| A | 80-89 | 良好,有少量可优化点 | |
| 123 | +| B | 70-79 | 中等,有若干需注意的问题 | |
| 124 | +| C | 60-69 | 较差,存在明显问题 | |
| 125 | +| D | 0-59 | 需要大幅重构 | |
| 126 | + |
| 127 | +--- |
| 128 | + |
| 129 | +## 💬 追问示例 |
| 130 | + |
| 131 | +报告生成后,你可以这样追问 Agent: |
| 132 | + |
| 133 | +- `帮我修复所有安全漏洞,给出修改后的完整代码` |
| 134 | +- `把性能最差的函数重写一遍` |
| 135 | +- `这段代码有没有内存泄漏?` |
| 136 | +- `用更现代的写法重构这个类` |
| 137 | +- `解释一下你发现的 SQL 注入漏洞` |
| 138 | + |
| 139 | +--- |
| 140 | + |
| 141 | +## 👨💻 关于作者 |
| 142 | + |
| 143 | +这是我独立开发的一个 AI 工具项目,用于探索 LLM Agent 在开发者工具领域的落地应用。 |
| 144 | + |
| 145 | +--- |
| 146 | + |
| 147 | +## 📄 License |
| 148 | + |
| 149 | +MIT License — 欢迎 fork 和二次开发 |
0 commit comments