Cann Review

🔍 CANN PR 智能代码审查助手

基于 GitCode API 的 CANN 项目 PR 自动化代码审查工具,专注内存泄漏、安全漏洞检测与代码质量评估。

收藏
5k
安装
1.1k
版本
3.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

功能定位

cann-review 是一款专为华为 CANN(Compute Architecture for Neural Networks)生态设计的智能代码审查技能。该技能通过 GitCode API 直接获取 PR 信息,无需浏览器自动化,实现对 C/C++/Python 代码的深度静态分析。

核心用法

触发方式

  • 用户主动调用:提供 GitCode PR 链接即可触发完整审查流程
  • 定时任务:自动扫描配置仓库,执行批量审查

审查维度

| 维度 | 检查重点 |
|------|---------|
| **内存安全** | malloc/free 匹配、RAII 模式、异常路径释放、智能指针使用 |
| **安全漏洞** | 缓冲区溢出、空指针解引用、整数溢出、类型转换安全 |
| **代码可读性** | 命名规范、注释完整性、代码结构清晰度 |
| **逻辑正确性** | 算法逻辑、边界条件、影响范围评估 |

典型工作流

1. 配置 Token → 通过向导或环境变量设置 GITCODE_API_TOKEN
2. 解析 PR → API 提取项目路径、PR 编号、变更文件

3. 代码分析 → 逐文件扫描高危操作(内存、指针、类型转换)

4. 生成报告 → Markdown 结构化报告,结论前置

5. 自动发布 → API 推送审查评论,低风险 PR 自动 /lgtm

显著优势

API 驱动,稳定可靠 — 彻底弃用浏览器自动化,规避元素定位不稳定、ref 失效等常见问题

专业审查维度 — 针对异构计算场景定制,覆盖内存泄漏、安全漏洞、可读性三大核心

自动化闭环 — 审查→报告→评论→LGTM 全流程自动,支持定时批量处理

分级严重度 — Low/Medium/High/Critical 四级判定,明确合入建议

状态持久化 — 自动记录已审查 PR,避免重复处理

潜在局限

⚠️ Token 依赖 — 必须配置有效 GitCode API Token,且需 api + write_repository 权限

⚠️ 合后限制 — 已合并 PR 可能无法追加评论(取决于项目设置)

⚠️ 频率限制 — GitCode API 限流 50次/分钟,大批量审查需分批处理

⚠️ 上下文窗口 — 单次 PR 变更过大时,采用"一次一 PR"策略避免超限

⚠️ 语言局限 — 主要针对 C/C++/Python,其他语言审查深度有限

适合人群

  • CANN 生态开发者与维护者
  • 需要自动化代码审查的中小型团队
  • 追求内存安全与性能优化的异构计算项目
  • 希望减少人工审查负担的技术负责人

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| Token 泄露 | 配置文件权限 600,但仍存在本地泄露可能 | 使用环境变量优先,定期轮换 Token |
| 误报/漏报 | 静态分析无法覆盖所有运行时场景 | 高风险问题人工二次确认 |
| API 变更 | GitCode API 接口升级可能导致兼容性问题 | 关注版本更新,及时适配 |
| 审查疲劳 | 自动化评论过多可能影响团队协作体验 | 合理设置审查阈值,聚焦关键 PR |

Cann Review 内容

config文件夹
examples文件夹
手动下载zip · 48.2 kB
cron.example.jsonapplication/json
请选择文件