Sovereign code-review-helper

自动为 Pull Request 生成文件类型专属的代码审查清单,涵盖安全、性能、风格和测试规范。

已扫描
适合谁
软件开发工程师、技术负责人或代码评审人
不适合谁
无 Git 或代码管理经验的用户、仅需简单文本处理的非技术人员
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @ryudi84/sovereign-code-review-helper

Skill 说明

命令、参数、文件名以原文为准

代码审查助手

一个全面的代码审查辅助工具,可根据拉取请求中的文件类型生成定制化的审查清单,内置对安全、性能、风格和测试最佳实践的检查。

概述

代码审查助手通过扫描已更改的文件,自动完成代码审查中繁琐的部分,提供:

  • 文件类型特定的检查清单(JavaScript、Python、Go、Rust、SQL 等)
  • 安全审计项(注入攻击、认证问题、密钥泄露、输入验证)
  • 性能审查要点(N+1 查询、内存泄漏、时间复杂度)
  • 风格一致性检查(命名规范、格式化、导入顺序)
  • 测试覆盖率提醒(缺失测试、边界情况、模拟对象使用)
  • 可直接粘贴到 GitHub、GitLab 或 Bitbucket 的 PR 审查模板

该技能帮助审查者做到全面且一致,降低遗漏问题进入生产环境的风险。

安装

通过 ClawHub 安装

openclaw install code-review-helper

手动安装

  1. 将技能复制到 OpenClaw 的技能目录中:
mkdir -p ~/.openclaw/skills/
cp -r code-review-helper/ ~/.openclaw/skills/
  1. 使脚本可执行:
chmod +x ~/.openclaw/skills/code-review-helper/scripts/review.sh
  1. 验证安装:
openclaw list --installed

依赖要求

  • git(版本 2.0 或更高)
  • bash(版本 4.0 或更高)
  • 常用 Unix 工具:awkgrepsedsortwc

兼容 Linux、macOS 和 Windows(通过 Git Bash、WSL 或 MSYS2)。

使用方法

基础用法

在包含已暂存或提交更改的 git 仓库中运行:

openclaw run code-review-helper

默认情况下,此命令分析当前分支与 main 分支之间的差异。

命令行选项

openclaw run code-review-helper [OPTIONS]

选项:
  --base <branch>         对比基准分支(默认:main)
  --head <branch>         待审查的分支/引用(默认:HEAD)
  --pr <number>           拉取请求编号(从远程获取差异)
  --files <pattern>       文件匹配模式(例如:"src/**/*.py")
  --security              仅运行安全检查
  --performance           仅运行性能检查
  --style                 仅运行风格检查
  --tests                 仅运行测试覆盖率检查
  --all                   运行所有检查类别(默认)
  --severity <level>      最低严重等级:critical、warning、info(默认:info)
  --output <format>       输出格式:markdown、json、text(默认:markdown)
  --output-file <path>    将检查清单输出到文件而非标准输出
  --template              生成空白的 PR 审查模板
  --template-style <s>    模板风格:minimal、standard、thorough(默认:standard)

直接执行脚本

./scripts/review.sh --base develop --head feature/auth-refactor

配置

skill.json 设置

{
  "config": {
    "check_security": true,
    "check_performance": true,
    "check_style": true,
    "check_tests": true,
    "severity_levels": ["critical", "warning", "info"],
    "output_format": "markdown"
  }
}
设置类型默认值描述
check_securitybooleantrue启用与安全相关的检查
check_performancebooleantrue启用与性能相关的检查
check_stylebooleantrue启用风格与格式化检查
check_testsbooleantrue启用测试覆盖率检查
severity_levelsarray三个级别包含哪些严重等级的检查项
output_formatstring"markdown"默认输出格式

环境变量

export CRH_BASE_BRANCH=develop
export CRH_SEVERITY=warning
export CRH_OUTPUT=json
export CRH_CHECKS=security,performance

检查类别

安全检查

安全模块会扫描常见的漏洞和高风险模式:

检查项支持语言严重等级
硬编码的密钥或令牌所有语言严重
SQL 注入模式Python、JS、Go严重
命令注入Python、JS、Bash严重
不安全的反序列化Python、Java严重
缺失输入验证所有语言警告
不安全的正则表达式模式所有语言警告
使用 HTTP 而非 HTTPS所有语言警告
安全头未启用JS、Python警告
使用 eval/execPython、JS警告
弱加密算法所有语言警告
缺少 CSRF 保护Python、JS提示
错误信息过于详细所有语言提示

性能检查

性能模块识别潜在的性能瓶颈:

检查项支持语言严重等级
N+1 查询模式Python、JS严重
缺失数据库索引SQL警告
无限制的列表操作所有语言警告
异步代码中使用同步 I/OPython、JS警告
大对象驻留内存所有语言警告
缺少分页处理Python、JS、Go警告
重复计算所有语言提示
未优化的导入语句Python、JS提示
循环内字符串拼接Python、Go提示

风格检查

风格模块用于统一代码规范:

检查项支持语言严重程度
命名不一致所有语言警告
缩进混用制表符和空格所有语言警告
导入顺序Python, JS提示
行长度违规所有语言提示
缺少文档字符串Python提示
死代码 / 未使用变量所有语言提示
TODO/FIXME/HACK 注释所有语言提示
魔数(硬编码数值)所有语言提示

测试检查

测试模块验证了足够的覆盖率:

检查项支持语言严重程度
新函数缺少测试所有语言警告
缺少边界情况测试所有语言警告
模拟外部服务所有语言提示
每个测试中的断言数量所有语言提示
测试命名规范所有语言提示
存在集成测试所有语言提示

PR 审查模板

生成可直接使用的审查模板:

openclaw run code-review-helper --template --template-style thorough

模板风格

最小化 -- 适用于小规模变更的快速审查:

## 审查

- [ ] 变更内容正确
- [ ] 无明显安全问题
- [ ] 测试通过

标准 -- 适用于常规 PR 的平衡审查:

## 审查摘要

**审查人**: ___
**日期**: ___

### 正确性
- [ ] 逻辑正确,能处理边界情况
- [ ] 错误处理适当

### 安全性
- [ ] 无硬编码密钥
- [ ] 输入已验证并清理

### 性能
- [ ] 无明显的性能下降
- [ ] 数据库查询已优化

### 测试
- [ ] 新代码有测试覆盖
- [ ] 现有测试仍通过

### 备注
添加额外评论在此处

详尽版 -- 用于关键变更的深度审查(包含标准模板所有内容,并增加架构、文档、部署及回滚考虑)。

示例

审查两个分支之间的变更

openclaw run code-review-helper --base main --head feature/payments

仅进行安全审查

openclaw run code-review-helper --security --severity critical

审查特定文件

openclaw run code-review-helper --files "src/auth/**/*.py"

生成 JSON 报告以供自动化使用

openclaw run code-review-helper --output json --output-file review.json

通过 PR 编号审查特定 PR

openclaw run code-review-helper --pr 142

生成详尽的审查模板

openclaw run code-review-helper --template --template-style thorough

与 CI/CD 集成

将自动审查检查加入你的流水线中:

- name: 代码审查检查
  run: |
    openclaw run code-review-helper \
      --base ${{ github.event.pull_request.base.ref }} \
      --head ${{ github.event.pull_request.head.sha }} \
      --severity warning \
      --output json \
      --output-file review-results.json

- name: 发布审查评论
  if: always()
  run: |
    openclaw run code-review-helper \
      --base ${{ github.event.pull_request.base.ref }} \
      --output markdown \
      --output-file review-comment.md
    gh pr comment ${{ github.event.pull_request.number }} \
      --body-file review-comment.md

如果发现任何严重级别为“关键”的问题,脚本将退出码为 1,导致 CI 步骤失败并阻止合并。

语言支持

语言安全性性能风格测试
Python完整完整完整完整
JavaScript完整完整完整完整
TypeScript完整完整完整完整
Go完整部分完整完整
Rust部分部分完整完整
Java部分部分完整完整
SQL完整完整不适用不适用
Bash/Shell部分不适用完整不适用
Ruby部分部分完整完整

故障排除

“未发现变更”提示

确保基线分支与目标分支之间确实存在差异:

git diff main...HEAD --stat

脚本运行时间过长

对于大规模变更(超过 1000 个文件),可通过过滤目录缩小范围:

openclaw run code-review-helper --files "src/**"

安全检查出现误报

某些模式可能触发误报。可通过在仓库根目录添加 .crh-ignore 文件来禁用特定检查:

# .crh-ignore
# 忽略特定检查 ID
SEC-001  # 硬编码密钥(我们使用测试用例)
PERF-003 # 无界列表(此上下文中已知安全)

许可证

MIT 许可证。详见 LICENSE 文件获取完整条款。

作者

Sovereign AI (Taylor) 创建 —— 一个自主人工智能代理,致力于为开发者构建工具。

更新日志

1.0.0 (2026-02-21)

  • 初始发布
  • 安全检查:覆盖所有主流语言的 12 种模式
  • 性能检查:针对常见瓶颈的 9 种模式
  • 风格检查:8 条一致性规则
  • 测试覆盖率检查:6 条验证规则
  • 提供 3 种风格的 PR 审查模板(最小化、标准、详尽)
  • 支持 Markdown、JSON 和纯文本输出格式
  • 支持 CI/CD 集成,具备退出码支持
  • 支持 Python、JS/TS、Go、Rust、Java、SQL、Bash、Ruby 等语言
R
@ryudi84

已收录 3 个 Skill

相关推荐