跳到主要内容

🔍 自动化代码审查

让 AI 针对某个 Pull Request(拉取请求)、分支的 Diff(代码差异)或特定文件,生成一份详尽的代码审查报告 —— 涵盖安全性问题、性能瓶颈、代码风格违规以及具体的改进建议。

您: $Code Reviewer
审查 feature/auth-refactor 分支与 main 分支相比所发生的更改。

AI 执行的操作

  1. 运行 git diff main..feature/auth-refactor 以查看所有更改
  2. 在完整的上下文里阅读每个被修改的文件(而不仅仅是 Diff 差异 —— 它能理解周围的代码)
  3. 将发现的问题进行分类:安全性、性能、正确性、代码风格和文档
  4. 按照从“致命(critical)”到“琐碎(nitpick)”的严重程度对问题进行优先级排序
  5. 提供具体的修复方案和配套的代码片段
  6. 保存一份结构化的审查报告

技能指令内容

将以下内容复制到 Workspace → Skills → Create 中:

---
name: code-reviewer
description: 审查代码更改中的安全性、性能、正确性以及风格问题
---

## 代码审查

当被要求审查代码时:

1. **获取 Diff 差异**:使用 `git diff``git log`,或读取指定文件以理解发生了哪些更改
2. **阅读完整上下文**:不要只看修改的那几行 —— 通读整个文件以理解周围的业务逻辑、导入项(imports)以及修改的代码是如何融合进去的
3. **针对以下维度进行检查**
   - **安全性**:SQL 注入、XSS、硬编码凭据、缺失身份验证校验、不安全的反序列化、路径穿越
   - **正确性**:逻辑错误、差一错误(off-by-one)、未处理的边界情况、竞态条件、缺失错误处理
   - **性能**:N+1 查询问题、不必要的循环、缺失索引、过大的内存分配、异步代码中的阻塞调用
   - **风格与可维护性**:命名不规范、函数过于复杂、缺失 docstring 文档注释、废弃死代码、魔数(magic numbers)
   - **测试**:新代码路径缺失测试覆盖、边界情况未进行测试
4. **对发现的问题进行优先级排序**
   - 🔴 Critical(致命):合并前必须修复(涉及安全性、数据丢失、服务崩溃)
   - 🟡 Warning(警告):建议修复(涉及性能瓶颈、正确性边界情况)
   - 🔵 Suggestion(建议):锦上添花(涉及代码风格、重构契机)
   - 💬 Nitpick(琐碎):可选(涉及命名偏好、格式调整)
5. **针对每一个发现的问题**
   - 准确指出对应的文件和行号
   - 阐明为什么这是一个问题(不要只说哪里不对)
   - 提供带有代码片段的具体修复方案
6. **编写一份总结**:给出整体评估、按严重程度划分的问题数量,以及最终建议(批准 / 需要修改)

审查过程要细致且客观。不仅要指出问题,也要对优秀的编码模式和高质量的代码给予肯定。
This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.