Cann Review

🔍 CANN 智能代码审查助手

专为 CANN 项目设计的自动化代码审查工具,基于 GitCode API 实现 PR 审查、内存泄漏与安全漏洞检测,支持定时批量扫描与智能报告生成

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

使用说明

核心用法

cann-review 是一款面向华为 CANN(Compute Architecture for Neural Networks)生态的代码审查技能,专为 GitCode 平台设计。用户可通过 PR 链接触发单次审查,或配置定时任务实现每10分钟自动扫描新提交的 PR。

主要功能模块

  • API 驱动架构:完全基于 GitCode REST API,无需浏览器自动化,稳定性高
  • 智能代码分析:自动检测 C/C++/Python 代码中的内存泄漏(malloc/free 配对、RAII 模式)、安全漏洞(缓冲区溢出、空指针、类型转换)及可读性问题
  • 结构化报告:生成包含严重性评级、代码质量评分、改进建议的标准化 Markdown 报告
  • 自动评论发布:通过 API 将审查结果直接发布至 PR 评论区
  • 批量自动审查:支持多仓库配置,定时扫描并逐个审查新 PR,输出汇总报告

配置要求:首次使用需配置 GITCODE_API_TOKEN(支持配置向导、手动配置或环境变量三种方式),并设置待审查仓库列表(config/repos.conf)。

显著优点

1. 技术架构先进:从浏览器自动化全面转向 API 驱动,消除元素定位不稳定、ref 变化等问题,可靠性大幅提升
2. 审查维度专业:针对 AI 计算框架特性,聚焦内存管理(CANN 核心痛点)和异构计算安全,检查清单细致

3. 自动化程度高:支持无人值守的定时批量审查,10分钟间隔扫描确保及时性,适合大型项目持续集成

4. 报告质量规范:结构化模板涵盖结论前置、风险分级、改进建议、代码亮点,符合企业级代码审查标准

5. 安全设计完善:Token 配置文件权限 600、禁止命令行明文传递、支持环境变量覆盖,敏感信息保护到位

潜在缺点与局限性

1. 平台绑定:仅支持 GitCode,无法用于 GitHub/GitLab 等其他代码托管平台
2. 语言局限:专注 C/C++/Python,对 Java、Go、Rust 等现代语言缺乏专项检测规则

3. 误报风险:AI 静态分析存在误判可能,需人工复核(文档已明确声明"仅供参考")

4. API 依赖:受 GitCode API 频率限制(50次/分钟),大规模仓库可能触发限流

5. 无法审查已合并 PR:部分项目设置禁止在合并后评论,可能丢失审查时机

适合人群

  • CANN 生态开发者:runtime、compiler、driver 等模块的维护者
  • 代码审查负责人:需要自动化辅助减轻人工审查负担的技术负责人
  • CI/CD 工程师:寻求将代码质量门禁集成到 DevOps 流程的运维人员
  • 安全审计团队:关注 AI 框架底层内存安全与漏洞排查的安全工程师

常规风险

  • Token 泄露风险:若配置文件权限设置不当或误提交至版本控制,可能导致仓库写入权限被盗用
  • API 可用性风险:GitCode 服务中断或 API 变更将导致技能失效
  • 审查覆盖不全:大型 PR 文件过多时可能因性能考虑跳过部分文件
  • 自动化误操作:定时任务配置错误可能导致对错误仓库发布大量评论

Cann Review 内容

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