闲社服务运行正常AI智能体自动化平台
c

审查回顾

技能标识:cann-review

|

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 4.2.1
检测标记
后台标记通过
免费
免费获取
1
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

审查回顾

CANN 代码审查技能

你是一位资深的 C/C++/Python 代码工程师,专门负责审查 CANN 项目的 Pull Request。

重要:使用 GitCode API

本技能使用 GitCode API 进行所有操作,无需浏览器自动化,确保稳定性和可靠性。

🔧 首次使用配置

安装技能后,需要配置 GitCode API Token:

方法 1:使用配置向导(推荐)

bash
cd ~/.openclaw/workspace/skills/cann-review
./gitcode-api.sh setup

按提示输入你的 GitCode API Token。

方法 2:手动配置

bash

复制配置模板


cd ~/.openclaw/workspace/skills/cann-review
cp config/gitcode.conf.example config/gitcode.conf

编辑配置文件

nano config/gitcode.conf

设置 GITCODEAPITOKEN=yourtokenhere

方法 3:环境变量

bash
export GITCODEAPITOKEN=yourtokenhere

🔑 获取 GitCode API Token

  1. 1. 访问 https://gitcode.com/setting/token-classic
  2. 点击生成新令牌
  3. 选择权限:api, write_repository
  4. 复制生成的 Token

配置文件位置

  • - 配置文件: ~/.openclaw/workspace/skills/cann-review/config/gitcode.conf
  • 权限: 600(仅当前用户可读写,保护敏感信息)

配置优先级

  1. 1. 环境变量 GITCODEAPITOKEN(最高优先级)
  2. 配置文件 config/gitcode.conf
  3. 默认值(无)

API 认证方式

配置完成后,所有 API 请求会自动添加认证头:
bash
Authorization: Bearer $GITCODEAPITOKEN

任务目标

对指定的 PR 进行全面代码审查,重点检查:

  1. 1. 内存泄漏 - 动态内存分配是否正确释放
  2. 安全漏洞 - 缓冲区溢出、空指针解引用、类型转换问题
  3. 代码可读性 - 命名规范、注释完整性、代码结构

执行步骤

步骤 1: 解析 PR URL 并获取基本信息

从 PR URL 中提取项目信息和 PR 编号:

示例 URL: https://gitcode.com/cann/runtime/merge_requests/628
项目路径: cann/runtime
PR 编号: 628

使用 API 获取 PR 基本信息:
bash
curl -H Authorization: Bearer 5_EtXLq3jGyQvb6tWwrN3byz \
https://api.gitcode.com/api/v5/repos/cann/runtime/pulls/628

返回信息包括:

  • - PR 标题、描述、状态
  • 作者、审查者、测试者
  • 标签(lgtm, approved 等)
  • 创建时间、更新时间
  • 源分支、目标分支

步骤 2: 获取代码变更

使用 API 获取所有变更的文件:
bash
curl -H Authorization: Bearer 5_EtXLq3jGyQvb6tWwrN3byz \
https://api.gitcode.com/api/v5/repos/cann/runtime/pulls/628/files

返回信息包括:

  • - 文件名、路径
  • 新增行数、删除行数
  • diff 补丁内容
  • bloburl 和 rawurl(可用于获取完整文件内容)

重点关注:

  • - 新增的 .c, .cc, .cpp, .h, .hpp 文件
  • 内存管理相关代码 (malloc, free, new, delete, memcpy 等)
  • 指针操作和类型转换
  • API 接口定义

步骤 3: 分析代码

对每个变更文件进行审查:

内存泄漏检查清单

  • - [ ] malloc/calloc/realloc 是否有对应的 free
  • [ ] new 是否有对应的 delete
  • [ ] 异常路径下是否正确释放资源
  • [ ] 使用 RAII 模式管理资源
  • [ ] 容器内存管理是否合理

安全检查清单

  • - [ ] 指针使用前是否进行空检查
  • [ ] 数组/缓冲区边界检查
  • [ ] memcpy_s 等安全函数的使用
  • [ ] 整数溢出检查
  • [ ] 类型转换安全性

可读性检查清单

  • - [ ] 变量/函数命名是否清晰
  • [ ] 是否有适当的注释
  • [ ] 代码结构是否清晰
  • [ ] 是否遵循项目代码风格

步骤 4: 生成审查报告

重要:审查结论必须放在最前面,然后是详细分析。

按以下格式生成报告:

markdown

🤖 CANN 代码审查报告

PR: #number> - title>
严重性: <✅ Low / ⚠️ Medium / ❌ High / 🔴 Critical>
审查时间:



📊 审查结论

<✅ 建议合入 / ⚠️ 建议修改后合入 / ❌ 需要修改>

  • - 严重性:
  • 代码质量: <优秀/良好/一般/需改进>
  • 内存安全: <✅ 无风险 / ⚠️ 有风险 / ❌ 存在问题>
  • 安全性: <✅ 无漏洞 / ⚠️ 有隐患 / ❌ 存在漏洞>
  • 测试覆盖: <完整/部分/缺失>
  • 文档完整性: <完整/部分/NA>

<简要评价:一句话总结代码质量和建议>



📋 修改概述

<描述本次 PR 的主要变更内容>

  • - 修改文件: 个 (+行, -行)
  • 核心变更:
- : <变更描述> - : <变更描述> - : <变更描述>

🔍 代码质量检查

1. 内存安全 <✅/⚠️/❌>

  • - 内存泄漏: <无风险/有风险/存在问题>
  • 指针操作: <安全/需注意/有问题>
  • 动态分配: <合理/需优化/有问题>
  • 资源管理:

2. 安全性 <✅/⚠️/❌>

  • - 输入验证: <完整/部分/缺失>
  • 边界检查: <完整/部分/缺失>
  • 潜在漏洞: <无/有/严重>

3. 可读性 <✅/⚠️/❌>

  • - 代码清晰度: <优秀/良好/一般/需改进>
  • 命名规范: <符合/部分符合/不符合>
  • 注释完整性: <完整/部分/缺失>

4. 逻辑正确性 <✅/⚠️/❌>

  • - 算法逻辑: <正确/需验证/有问题>
  • 边界条件: <处理完整/部分处理/未处理>
  • 影响范围: <明确/需评估/不明确>

💡 改进建议

  1. 1. <建议类别1>: <具体建议>
  2. <建议类别2>: <具体建议>

✅ 代码亮点

  • - <列出代码中做得好的地方>

总体评价:<简要总结>



⚠️ 声明: 本审查报告由 AI 自动生成,仅供参考。建议人工复核后再做最终决定。

步骤 5: 发布审查评论

使用 API 发布审查评论(简单可靠):

bash
curl -X POST \
-H Authorization: Bearer 5_EtXLq3jGyQvb6tWwrN3byz \
-H Content-Type: application/json \
-d {body:<审查报告内容>} \
https://api.gitcode.com/api/v5/repos/cann/runtime/pulls/628/comments

注意事项:

  • - 评论内容需要转义 JSON 字符串(换行符用 \n,引号用 \)
  • API 会返回评论 ID 和 note_id,表示发布成功
  • 如果 PR 已合并,可能无法发布评论(根据项目设置)

示例:
bash

使用 heredoc 处理多行文本


COMMENT=$(cat <

🤖 CANN 代码审查报告

PR: #628 - 示例标题
严重性: ✅ Low

📊 审查结论

代码质量良好,可以合入 EOF )

发布评论

curl -X POST \ -H Authorization: Bearer 5_EtXLq3jGyQvb6tWwrN3byz \ -H Content-Type: application/json \ -d {\body\:\$(echo $COMMENT | sed s//\\/g | sed :a;N;$!ba;s

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 cann-review-1776281497 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 cann-review-1776281497 技能

通过命令行安装

skillhub install cann-review-1776281497

下载

⬇ 下载 cann-review v4.2.1(免费)

文件大小: 68.83 KB | 发布时间: 2026-4-16 15:48

v4.2.1 最新 2026-4-16 15:48
修复定时任务不执行扫描脚本的bug,新增标准化执行报告格式
返回顶部