cannbot-skills:基于 CANN 生态的 Agent 技能模块项目

CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。

分支1Tags0
文件最后提交记录最后更新时间
add mrgsort skill Co-authored-by: cheng-ziyang2<chengziyang2@huawei.com> # message auto-generated for no-merge-commit merge: !136 merge sort into master add mrgsort skill Created-by: cheng-ziyang2 Commit-by: cheng-ziyang2 Merged-by: cann-robot Description: ## 描述 新增排序类算子归并排序方案设计和API使用要点 ### 新特性 New Features - 【ascendc-tiling-design】新增 Sort 类 Skill:alg-two-level-mrgsort,排序类算子两级归并排序方案设计,含通用方案和常见易错点。 - 【ascendc-api-best-practices】新增 Skill:api-mrgsort,排序类算子归并排序常用API,含关键约束和使用示例。 ## 关联的Issue 关联Issue [#213](https://gitcode.com/cann/cannbot-skills/issues/213) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/cannbot-skills!1361 天前
docs(update): 同步更新README入门指南、CHANGELOG、ST测试框架及PR模板 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !286 merge master into master docs(update): 同步更新README入门指南、CHANGELOG、ST测试框架及PR模板 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 #### 文档更新 本批次全部为文档类更新,覆盖README 快速开始、测试框架文档、CHANGELOG、PR 模板及项目架构说明,旨在降低新用户上手门槛并同步最新项目状态。 **【README 快速开始】README.md** - 重写快速开始指南,拆分为四步:克隆 → 选场景安装 → 验证 → 开始使用 - 新增前置条件说明,明确 AI 工具与 CANN 环境要求 - 统一命令格式,使用 <tool> 占位符代替具体的工具名列表 - 增加安装验证方法(目录检查 + AI 交互验证) - 修正安装命令格式:./path/init.shcd path && bash init.sh - 更新 AI 工具安装说明(补充 npm install / 下载地址)与官方文档直达链接 **【README 场景与架构】README.md** - 补充 Catlass 算子直调、代码检视、torch.compile 图模式 3 个场景到快速开始表格 - 更新项目架构树,统一缩进并对齐注释,新增 plugins-community/ 和社区 Plugin 条目 - 补充多个缺失 Skills(blaze-best-practice、performance-best-practices、regbase-best-practice、cann-env-setup、aiss-tiling-solver 等) - 修正 ops-simulator 技能名称(原 cann-simulator) - 统一 quickstart 引用描述 **【测试框架文档】tests/README.md** - 补充 ST 系统测试框架完整文档(300 行新增),涵盖 system/ 目录结构、本地开发调试指南(L1 快速验证 / 行为验证 / ST 语义评测)、gate_check.sh CI 入口、换行符检查及环境变量说明 - 新增 opencode_runner_examples.py 到 system/ 目录树 - 将默认测试超时从 300s 调整为 600s - 删除 GitHub Actions CI 示例(项目已迁移至 GitCode CI) - 修正 claude-code npm 包名 **【CHANGELOG 维护】CHANGELOG.md** - 补充 2026-05-20 ~ 2026-05-25 期间的特性、增强与修复条目 - 新增 05-26 条目(cuda2ascend-simt、pypto-golden-generate、PR 模板统一) - 新增 05-21 条目(tiling-solver、示例提示词) - 修正 05-25 条目内容归属(性能调试 / 代码检视 / PyPTO / 测试框架等) - 简化 README 最新动态为每日一行 **【PR 模板与测试报告】** - .gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md:修正 UT_Test 未通过时的下载指引,明确下载的是 HTML 格式的 CANNBot-skills UT 测试报告 - tests/run-tests.sh:将 HTML 报告标题统一为 CANNBot-skills UT 测试报告,与 PR 模板指引保持一致 ## 关联的Issue <!-- 无特定 Issue --> ## 测试 - ./tests/run-tests.sh --fast 全部通过(10/10) - ./tests/run-tests.sh --test unit/teams/test-version.sh PASS(version bump 验证通过) ## 文档更新 - tests/README.md:ST 系统测试框架文档、目录结构、CI 示例、超时配置 - CHANGELOG.md:补充 05-20 ~ 05-26 期间全部变更条目 - README.md:快速开始指南、场景列表、项目架构、Skills 目录 - .gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md:UT_Test 下载指引 - tests/run-tests.sh:HTML 报告标题 ## 类型标签 - [x] 📝 文档更新 See merge request: cann/cannbot-skills!2862 天前
feat: add cannbot skill reviewer governance skill Co-authored-by: zz<2247731025@qq.com> # message auto-generated for no-merge-commit merge: !298 merge feat/skill-reviewer-governance into master feat: add cannbot skill reviewer governance skill Created-by: weixin_67485438 Commit-by: zz Merged-by: cann-robot Description: ## 描述 新增 CANNBot Skill 入库治理能力 cannbot-skill-reviewer,用于审查新增或修改的 SKILL.md 是否符合仓库入库要求。 主要改动: - 新增 infra/cannbot-skill-reviewer/SKILL.md,定义审查流程、结论标准、输出格式和错误处理。 - 新增 infra/cannbot-skill-reviewer/references/statutory-rules.md,单独管理成文法门禁规则,对齐 CANNBot Skills 治理规范、tests/lib/rules.yamltests/lib/skill_validator.py。 - 新增 infra/cannbot-skill-reviewer/references/case-law-review.md,单独管理判例法/设计审查维度,便于后续 Committer 基于 SIG 讨论和 PR 评审意见扩展规则。 - 新增 infra/cannbot-skill-reviewer/scripts/review_skill.py,复用现有 tests/lib/skill_validator.py 输出 Markdown/JSON 审查报告。 - 更新 README.mddocs/skills-usage.mdCHANGELOG.md,补充使用入口、调用示例和变更记录。 - 修正 tests/run-tests.sh --fast 在无 AI CLI 环境下仍检查默认 opencode 的问题,使 fast 测试按文档自动降级为 Platform: none。 ## 关联的Issue #212 ## 测试 - python infra/cannbot-skill-reviewer/scripts/review_skill.py infra/cannbot-skill-reviewer:PASS,92.5/100,Blocking findings: 0。 - python tests/lib/skill_validator.py validate-skill infra/cannbot-skill-reviewer/SKILL.md:通过。 - python -m py_compile infra/cannbot-skill-reviewer/scripts/review_skill.py:通过。 - git diff --check:通过。 - 服务器容器 fresh clone + patch 后执行:bash tests/run-tests.sh --fast。 - Tests run: 10 - Passed: 10 - Failed: 0 - Warnings: 90(均为既有非阻塞 warning) - Duration: 287s ## 文档更新 更新 README.mddocs/skills-usage.mdCHANGELOG.md,新增 cannbot-skill-reviewer 的功能说明、调用示例、本地脚本用法和变更记录。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [x] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 如流水线失败,请优先查看 fast 测试报告,并重点确认 tests/run-tests.sh --fast 在无 AI CLI 环境下是否切换为 Platform: none。 See merge request: cann/cannbot-skills!2985 小时前
1、更新README.md,使逻辑架构图的边框对齐。2、更新CHANGELOG.md Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !203 merge master into master 1、更新README.md,使逻辑架构图的边框对齐。2、更新CHANGELOG.md Created-by: benwallace52 Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述您的改动,包括改动的原因和所采取的方法。 ### 举例: #### 新特性 New Features - 【仿真 ops-simulator】新增Ascend 950 仿真Skill:支持 Ascend 950 仿真,并且输出性能分析报告和流水线图。 - 【PyPTO】【pypto-op-design】新增 Skill:pypto-op-design,PyPTO算子方案设计,含快速参考和设计模板。 #### 问题修复 Bug Fix 【算子直调 ops-direct-invoke】修改verify_environment.sh脚本,返回environment.json 固定为1的bug,应该按实际设备的npu count返回。 --> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!20313 天前
feat: add cannbot skill reviewer governance skill Co-authored-by: zz<2247731025@qq.com> # message auto-generated for no-merge-commit merge: !298 merge feat/skill-reviewer-governance into master feat: add cannbot skill reviewer governance skill Created-by: weixin_67485438 Commit-by: zz Merged-by: cann-robot Description: ## 描述 新增 CANNBot Skill 入库治理能力 cannbot-skill-reviewer,用于审查新增或修改的 SKILL.md 是否符合仓库入库要求。 主要改动: - 新增 infra/cannbot-skill-reviewer/SKILL.md,定义审查流程、结论标准、输出格式和错误处理。 - 新增 infra/cannbot-skill-reviewer/references/statutory-rules.md,单独管理成文法门禁规则,对齐 CANNBot Skills 治理规范、tests/lib/rules.yamltests/lib/skill_validator.py。 - 新增 infra/cannbot-skill-reviewer/references/case-law-review.md,单独管理判例法/设计审查维度,便于后续 Committer 基于 SIG 讨论和 PR 评审意见扩展规则。 - 新增 infra/cannbot-skill-reviewer/scripts/review_skill.py,复用现有 tests/lib/skill_validator.py 输出 Markdown/JSON 审查报告。 - 更新 README.mddocs/skills-usage.mdCHANGELOG.md,补充使用入口、调用示例和变更记录。 - 修正 tests/run-tests.sh --fast 在无 AI CLI 环境下仍检查默认 opencode 的问题,使 fast 测试按文档自动降级为 Platform: none。 ## 关联的Issue #212 ## 测试 - python infra/cannbot-skill-reviewer/scripts/review_skill.py infra/cannbot-skill-reviewer:PASS,92.5/100,Blocking findings: 0。 - python tests/lib/skill_validator.py validate-skill infra/cannbot-skill-reviewer/SKILL.md:通过。 - python -m py_compile infra/cannbot-skill-reviewer/scripts/review_skill.py:通过。 - git diff --check:通过。 - 服务器容器 fresh clone + patch 后执行:bash tests/run-tests.sh --fast。 - Tests run: 10 - Passed: 10 - Failed: 0 - Warnings: 90(均为既有非阻塞 warning) - Duration: 287s ## 文档更新 更新 README.mddocs/skills-usage.mdCHANGELOG.md,新增 cannbot-skill-reviewer 的功能说明、调用示例、本地脚本用法和变更记录。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [x] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 如流水线失败,请优先查看 fast 测试报告,并重点确认 tests/run-tests.sh --fast 在无 AI CLI 环境下是否切换为 Platform: none。 See merge request: cann/cannbot-skills!2985 小时前
fix(model): 修复torch_npu_list中的算子接口链接 Co-authored-by: zihengwang2<wangziheng8@huawei.com> # message auto-generated for no-merge-commit merge: !240 merge refactor-plugin into master fix(model): 修复torch_npu_list中的算子接口链接 Created-by: zihengwang2 Commit-by: zihengwang2 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述您的改动,包括改动的原因和所采取的方法。 ### 举例: #### 新特性 New Features - 【仿真 ops-simulator】新增Ascend 950 仿真Skill:支持 Ascend 950 仿真,并且输出性能分析报告和流水线图。 - 【PyPTO】【pypto-op-design】新增 Skill:pypto-op-design,PyPTO算子方案设计,含快速参考和设计模板。 #### 问题修复 Bug Fix 【算子直调 ops-direct-invoke】修改verify_environment.sh脚本,返回environment.json 固定为1的bug,应该按实际设备的npu count返回。 --> 移除torch_npu_list文档中已弃用的本地链接,改为通过脚本查询本地算子API文档。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> 关联Issue #142 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [x] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!2409 天前
feat:introduce cuda2ascend-simt Co-authored-by: qixingkai<qixingkai@huawei.com> # message auto-generated for no-merge-commit merge: !210 merge master into master feat:introduce cuda2ascend-simt Created-by: qixingkai Commit-by: qixingkai Merged-by: cann-robot Description: ## 描述 cuda2ascend-simt 是一个 Ascend C SIMT 迁移Skill,通过可规划、可追踪、可验证、可复用的工程化流程,快速迁移 CUDA 算子资产,继承其高性能实践,扩展 Ascend 算力生态。 ## 已支持能力说明 ### 1. 支持多种交付形态 - 支持 sampletorch_npupybind 三类迁移模式。 - sample 产物:可独立编译运行的 Ascend C SIMT 示例工程,包含 .asc、host 代码、CMakeLists.txt、验证入口。 - torch_npu 产物:可安装的 torch_npu 扩展工程,包含 SIMT kernel、host wrapper、注册代码、Python 调用入口、安装与验证脚本。 - pybind 产物:可从 Python import 的 pybind 扩展工程,包含 SIMT kernel、host wrapper、binding 代码、构建安装与 Python 验证入口。 - 能根据原始工程形态选择交付方式,避免把复杂扩展工程简单降级成 standalone sample。 ### 2. 高保真迁移策略 - 默认保持原始算法结构、变量命名、Kernel 拆分、launch policy 与调用链路。 - 系统分析 dtype 覆盖、shape / layout 分支、fast path 与 kernel 选择策略,降低行为偏差风险。 - 对 TensorIteratorgpu_kernel、共享 math helper 等可复用抽象层,优先采用复用或 Ascend counterpart 迁移方案,提升跨算子复用能力。 ### 3. 规则化知识库驱动 - 内置 CUDA Runtime API、Device API、语法规则、约束规则等本地迁移参考。 - 以 YAML 规则表作为事实源,Markdown 作为可读视图,兼顾机器可解析性与人工审查效率。 - 在迁移前强制查询 API 映射、语法约束与不支持能力,提升 Ascend C SIMT 改写决策的一致性和可追溯性。 ### 4. 可审计的降级与阻塞治理 - 对能力缺失统一分类为 downgradeblockedexcluded。 - 对重大降级设置硬停止审批门,例如抽象层降级、多路径 kernel 调度简化、核心设备执行路径替换等。 - 降级前必须明确迁移成本、技术收益、验证影响、复用影响和恢复路径,支撑客户进行可审计的技术决策。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单的链接。--> ## 测试 当前测试覆盖基础 CUDA 样例、PyTorch ATen 大模型热点算子、多机多卡通信库三类场景,用于验证技能在不同复杂度工程中的迁移分析和交付能力。 ### 1. CUDA Samples 基础算子集(成功数/总数:12/12) - 来源仓库:NVIDIA [cuda-samples](https://github.com/NVIDIA/cuda-samples) - 测试范围:覆盖 matrixMulsimpleStreamssimpleAtomicIntrinsics 等 12个典型 CUDA sample。 - 迁移产物:已沉淀在 [cuda-transporter-testcase](https://gitcode.com/cann-sigs/cuda-transporter-testcase/tree/main/ported-cuda-samples),用于验证基础 kernel、runtime API、stream、多 GPU、atomic、assert / printf 等常见 CUDA 能力迁移。 ### 2. PyTorch ATen 大模型热点算子集(成功数/总数:17/20) - 来源仓库:PyTorch aten/src/ATen。 - 测试范围:基于[torch API](https://docs.pytorch.org/docs/main/torch.html),对其中 493 个 torch 接口进行实现方式分类,覆盖 15 类算子实现路径,选取 20 个大模型热点算子作为迁移测试集。 - 迁移结果:迁移产物沉淀在 [cuda-transporter-testcase](https://gitcode.com/cann-sigs/cuda-transporter-testcase/tree/main/tasks/ported-ops),用于验证 ATen 调用链、dtype / shape 分支、可复用抽象层和 Python 调用路径保真能力。 - 失败原因:3个失败用例均由于缺少高阶的生态库能力,导致迁移阻塞 ### 3. DeepEP 多机多卡通信场景 - 来源仓库:DeepSeek [deepep](https://github.com/deepseek-ai/DeepEP)。 - 测试范围:面向多机多卡通信、专家并行调度和高性能通信算子进行迁移可行性分析。 - 分析产物:deepep迁移.pdf,用于评估技能在复杂分布式通信库中的依赖分析、阻塞识别和迁移路径规划能力。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载「UT_Test 自检修复提示词模版」。 > 将下载的模版内容粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 > > 示例: > ![UT_Test下载示例](pipeline-ut-test-download-link.png) See merge request: cann/cannbot-skills!2103 天前
feat(conversion): 新增 Transpose Fusion 优化设计文档 Co-authored-by: wangdengkai<mrwangdengkai@163.com> # message auto-generated for no-merge-commit merge: !232 merge conversion-transpose into master feat(conversion): 新增 Transpose Fusion 优化设计文档 Created-by: mrwangdengkai Commit-by: wangdengkai Merged-by: cann-robot Description: ## 描述 #### 新特性 New Features - 【Transpose Fusion】新增 transpose_fusion_design.md 设计文档,涵盖转置操作融入数据搬运流程的全链路优化策略: - DataCopy stride 零拷贝转置融合:通过 srcStride=0 连读 + dstStride=跳步 跳写,在搬运时完成布局转换,消除独立 Transpose 算子调用和额外数据搬运。 - 头尾块边界处理:头块和尾块单独 DataCopy,中间块 stride 跳写,保证输出正确性。 - 变长序列转置:动态从 actualSeqLengthsGmQ 获取 tSize/tBase,支持 TND→NTD 等变长场景。 - TransDataTo5HD 向量化转置:使用 TransposeBase16M8 / TransposeBase16M16 指令替代 UB 上标量循环重排,效率提升 4-8 倍。 - Transpose Buffer 常驻复用:迭代式算法(如 Sinkhorn)中首尾各一次转置,中间 gradTransposeBuf_ 常驻 UB 原地读写,消除中间 DMA 开销。 - Transpose-Gather-ReTranspose 三步法:非最后一维 Gather 场景下,先转置使 gather 维度连续,Gather 后再转置回来。 ## 关联的Issue <!-- 无 --> ## 测试 <!-- 文档类 PR,无需测试 --> ## 文档更新 - 新增 ops/ascendc-performance-best-practices/reference/conversion/transpose_fusion_design.md ## 类型标签 - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 无 --> See merge request: cann/cannbot-skills!23212 小时前
修复测试框架跨平台稳定性并新增自包含 HTML 报告,优化终端失败摘要与紧凑输出,内嵌 UT 失败修复指南及一键复制提示词,统一 license 为 CANN-2.0 Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !282 merge master into master 修复测试框架跨平台稳定性并新增自包含 HTML 报告,优化终端失败摘要与紧凑输出,内嵌 UT 失败修复指南及一键复制提示词,统一 license 为 CANN-2.0 Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: ## 描述 修复测试框架跨平台稳定性并新增自包含 HTML 报告,优化终端失败摘要与紧凑输出,内嵌 UT 失败修复指南及一键复制提示词,统一 license 为 CANN-2.0 #### 问题修复 Bug Fix - **修复跨平台稳定性问题** - run-tests.sh:默认超时从 300s 提高到 600s,避免 behavior init test 在 CI 上因超时而失败。 - run-tests.sh:合并 --incremental 的重复 case,使该参数正确触发增量测试模式(同时兼容 eval-results 的增量)。 - test-helpers.shcompute_file_hash() 增加 shasum -a 256 fallback,解决 macOS 上 sha256sum 不存在的问题。 - test-line-endings.sh:当 file 命令不可用时(如 Alpine 精简容器),降级为按扩展名后缀白名单判断文件类型,避免 CRLF 检查漏检。 - test-version.sh:增加 git base ref 存在性校验。当本地缺少 origin/master 等 base ref 时,给出明确警告并优雅跳过版本检查(exit 0),不再阻塞开发者本地调试。 #### 新特性 New Features - **HTML 测试报告(本地调试)** - run-tests.sh 新增 --output html 选项,生成**自包含的单文件 HTML 报告**,默认写入 tests/test-ut-report.html。 - 支持 --output-path 自定义报告路径。 - 报告特性:Dashboard 统计面板、失败优先排序、可折叠测试卡片、实时搜索、状态筛选(全部/仅失败/仅通过/仅跳过)、ANSI 颜色码转 HTML 保留终端颜色、响应式暗色主题。 - 每次测试运行后**自动**生成 HTML 报告,并在有桌面环境时尝试用浏览器自动打开。 - **终端输出优化** - test-helpers.sh 新增 print_compact_result(),在终端打印紧凑的通过/失败/跳过/警告统计,内联提取失败详情,避免开发者在大段输出中翻找根因。 - run-tests.sh 测试结束后新增 **Failed Tests Recap**,汇总所有失败项并展示关键 FAIL/ERROR 行。 - **UT 失败修复指南(HTML 报告内嵌)** - 当测试存在失败时,HTML 报告自动展示可折叠的「UT Test 失败修复指南」面板。 - 包含:执行流程(收集失败→定位源文件→最小化修复→重跑验证)、允许/禁止事项对比、分析框架。 - 提供「复制提示词」按钮,一键复制给 AI 助手的修复提示词(支持 HTTPS 剪贴板 API + execCommand fallback)。 #### 配置变更 - **License 字段统一** - 将 4 个 infra/ 下 SKILL.md 和 7 个 plugin.json 中的 license 字段统一更新为 CANN-2.0。 ## 关联的Issue <!-- 无特定 Issue,属于测试框架持续优化 --> ## 测试 - 本地执行 ./run-tests.sh --fast 全部 10 项测试通过(约 430s)。 - ./run-tests.sh --fast --output html 成功生成 103KB 自包含 HTML 报告,10 个测试卡片 + 10 个日志块完整。 - ANSI 颜色转换验证通过(1209 处颜色标记正确)。 - 失败场景验证:手动构造失败测试,确认失败项置顶、badge 中文标签、红色高亮均正常。 - 混合排序算法验证(fail → skip → pass)通过。 - XSS 转义安全检查通过。 ## 文档更新 - run-tests.sh --help 已更新,新增 --output html--output-path 用法示例。 ## 类型标签 - [x] 🌟 新特性 - [x] ✨ 特性增强 - [x] 🐛 Bug 修复 - [x] 🔧 配置变更 See merge request: cann/cannbot-skills!2824 天前
add mrgsort skill Co-authored-by: cheng-ziyang2<chengziyang2@huawei.com> # message auto-generated for no-merge-commit merge: !136 merge sort into master add mrgsort skill Created-by: cheng-ziyang2 Commit-by: cheng-ziyang2 Merged-by: cann-robot Description: ## 描述 新增排序类算子归并排序方案设计和API使用要点 ### 新特性 New Features - 【ascendc-tiling-design】新增 Sort 类 Skill:alg-two-level-mrgsort,排序类算子两级归并排序方案设计,含通用方案和常见易错点。 - 【ascendc-api-best-practices】新增 Skill:api-mrgsort,排序类算子归并排序常用API,含关键约束和使用示例。 ## 关联的Issue 关联Issue [#213](https://gitcode.com/cann/cannbot-skills/issues/213) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [ ] 📦 构建 / CI - [ ] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/cannbot-skills!1361 天前
feat: add cannbot skill reviewer governance skill Co-authored-by: zz<2247731025@qq.com> # message auto-generated for no-merge-commit merge: !298 merge feat/skill-reviewer-governance into master feat: add cannbot skill reviewer governance skill Created-by: weixin_67485438 Commit-by: zz Merged-by: cann-robot Description: ## 描述 新增 CANNBot Skill 入库治理能力 cannbot-skill-reviewer,用于审查新增或修改的 SKILL.md 是否符合仓库入库要求。 主要改动: - 新增 infra/cannbot-skill-reviewer/SKILL.md,定义审查流程、结论标准、输出格式和错误处理。 - 新增 infra/cannbot-skill-reviewer/references/statutory-rules.md,单独管理成文法门禁规则,对齐 CANNBot Skills 治理规范、tests/lib/rules.yamltests/lib/skill_validator.py。 - 新增 infra/cannbot-skill-reviewer/references/case-law-review.md,单独管理判例法/设计审查维度,便于后续 Committer 基于 SIG 讨论和 PR 评审意见扩展规则。 - 新增 infra/cannbot-skill-reviewer/scripts/review_skill.py,复用现有 tests/lib/skill_validator.py 输出 Markdown/JSON 审查报告。 - 更新 README.mddocs/skills-usage.mdCHANGELOG.md,补充使用入口、调用示例和变更记录。 - 修正 tests/run-tests.sh --fast 在无 AI CLI 环境下仍检查默认 opencode 的问题,使 fast 测试按文档自动降级为 Platform: none。 ## 关联的Issue #212 ## 测试 - python infra/cannbot-skill-reviewer/scripts/review_skill.py infra/cannbot-skill-reviewer:PASS,92.5/100,Blocking findings: 0。 - python tests/lib/skill_validator.py validate-skill infra/cannbot-skill-reviewer/SKILL.md:通过。 - python -m py_compile infra/cannbot-skill-reviewer/scripts/review_skill.py:通过。 - git diff --check:通过。 - 服务器容器 fresh clone + patch 后执行:bash tests/run-tests.sh --fast。 - Tests run: 10 - Passed: 10 - Failed: 0 - Warnings: 90(均为既有非阻塞 warning) - Duration: 287s ## 文档更新 更新 README.mddocs/skills-usage.mdCHANGELOG.md,新增 cannbot-skill-reviewer 的功能说明、调用示例、本地脚本用法和变更记录。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [x] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 如流水线失败,请优先查看 fast 测试报告,并重点确认 tests/run-tests.sh --fast 在无 AI CLI 环境下是否切换为 Platform: none。 See merge request: cann/cannbot-skills!2985 小时前
feat: add CRLF line-ending detection test and .gitattributes Co-authored-by: yanhf<yanhaifeng5@huawei.com> # message auto-generated for no-merge-commit merge: !183 merge master into master feat: add CRLF line-ending detection test and .gitattributes Created-by: yanhf Commit-by: yanhf Merged-by: cann-robot Description: 新特性 New Features - 【代码看护】新增行尾检测单元测试 tests/unit/test-line-endings.sh:扫描仓库中所有文本文件,检测 DOS 风格 CRLF 行尾,发现时报告 FAIL。已集成到 --fast 默认拦截链,排在所有单测首位执行。 - 【代码看护】新增 .gitattributes:对所有文本文件类型(.c .h .py .sh .md .yaml .json 等)强制 eol=lf,从 Git 层防止未来提交引入 CRLF 行尾。 问题修复 Bug Fix - 【代码看护】修复 22 个存量文件的 CRLF 行尾问题:涉及 ops/ascendc-direct-invoke-template、ops/ascendc-registry-invoke-template、ops/ascendc-code-review、plugins- official/ops-direct-invoke、model/teams/infer-model-optimize-team 等模块。使用 dos2unix 统一转换为 Unix LF。 --- 关联的Issue --- 测试 - 新增的 tests/unit/test-line-endings.sh 已通过 20 项场景验证(含 CRLF 检测、二进制排除、目录排除、混合行尾、空文件等边缘用例),全部 PASS - run-tests.sh --fast 集成验证通过,测试项共 10 个,新测试排首位并 PASS - 修复后真实仓库扫描 882 个文件,确认无 CRLF 残留 --- 文档更新 无 --- 类型标签 - [x] 🌟 新特性 - [x] 🐛 Bug 修复 - [x] 🧪 测试用例 - [x] 🔧 配置变更 See merge request: cann/cannbot-skills!18318 天前
feat: 优化CI 门禁看护能力及系统测试框架 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !251 merge master_ci into master feat: 优化CI 门禁看护能力及系统测试框架 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 新增 CI 门禁看护能力及系统测试框架,包含 skill 评测入口脚本、白名单机制、沙箱隔离、HTML 报告生成、超时处理、日志优化等。 ## 关联的Issue 无 ## 测试 - tests/system/scripts/sandbox_manager.py — 沙箱隔离机制 - tests/system/scripts/conftest.py — 测试配置与白名单机制 - tests/system/scripts/main.py — 评测主流程 - tests/system/scripts/test_skill_evals.py — 评测用例 ## 文档更新 无 ## 类型标签 - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: <!-- CODE_REVIEW_REPORT --> ## 🤖 自动代码检视报告 **检视状态:** 完成 ✅ **摘要:** - 检视文件数:13 个 - 发现风险点:4 个(CRITICAL: 0, HIGH: 0, MEDIUM: 1, LOW: 3) **详细问题列表:** | 文件 | 行号 | 风险等级 | 问题类型 | 描述 | |------|------|---------|---------|------| | tests/system/scripts/sandbox_manager.py | 68 | MEDIUM | 并发安全 | create_skill_link 方法先检查 link_path.exists() 再执行 unlink/rmtree,存在 TOCTOU 竞态条件。在 pytest-xdist 并行模式下,多个 worker 同时创建同名 sandbox 时可能触发 race | | tests/system/scripts/sandbox_manager.py | 53 | LOW | 命名规范 | 方法名 create_skill_link 暗示创建符号链接,但实际使用 shutil.copytree 做完整目录复制。建议改为 copy_skill_dirsetup_skill_copy | | tests/system/scripts/test_skill_basic.py | 67 | LOW | 输入校验 | _validate_expectation 验证了 type 有效性但未校验 pattern 是否为空字符串。空 pattern 的 contains 期望会静默通过,可能导致评测漏检 | | tests/system/scripts/conftest.py | 87 | LOW | 副作用 | pytest_configure 强制将 root logger 设为 DEBUG,可能干扰其他 pytest 插件的日志行为 | **代码亮点:** - evals_parser.py:Markdown 评测用例解析器设计清晰,frontmatter + section 拆分 + expectation 逐行解析层次分明,错误处理充分 - sandbox_manager.py:沙箱隔离机制设计合理,每个评测用例独立沙箱,按 skill_name_eval_id 命名,干净且易调试 - test_skill_evals.py:新增 file_based 评测模式是好的扩展,通过 dataclass 封装上下文避免参数爆炸 - conftest.py:HTML 报告的自定义 CSS 和结构化解析(_parse_failure_to_html)让测试报告可读性大幅提升 - main.py:新增 archive_logs_and_results 打包 CI 产物,便于流水线下载调试 **整体评价:** 代码质量良好,架构清晰。新增的沙箱隔离和 file_based 评测模式显著提升了测试框架的健壮性和扩展性。上述 4 个问题均非阻塞性,建议在后续迭代中优化。 --- **检视信息:** - Agent: Claude Code CLI - Model: deepseek-v4-flash[1m] - Skill: ascendc-code-review 💡 此报告由 ascendc-code-review skill 自动生成,仅供参考。 <!-- /CODE_REVIEW_REPORT --> See merge request: cann/cannbot-skills!2517 天前
feat: add model-infer skills, agents, and team for NPU inference optimization Co-authored-by: zihengwang2<wangziheng8@huawei.com> # message auto-generated for no-merge-commit merge: !20 merge master into master feat: add model inference optimization skills, agents and workflow Created-by: zihengwang2 Commit-by: zihengwang2 Merged-by: cann-robot Description: ## 概述 作为 CANNBot Skill 仓库的模型优化模块,提供基于 PyTorch 框架的昇腾 NPU 模型推理性能优化技能集,通过阶段化工作流和多角色协同,帮助模型开发者和优化工程师通过 Agent 完成基于 PyTorch 框架的模型推理性能端到端优化。 ## 背景 NPU 模型推理优化是一个多阶段、强依赖的长链路任务,涉及框架适配、并行切分、算子替换、图模式适配等多个环节。通用 Agent 缺少领域知识和结构化流程,容易在关键决策点选错方向或跳过必要验证。本 PR 结合CANN 原子化优化特性,与cann-recipes-infer 仓库积累的模型优化经验沉淀为可复用的 Skill 体系,支持 Agent 按流程完成基于 PyTorch 框架的昇腾 NPU 模型推理性能端到端优化。 ## 适用场景 - 基于 PyTorch 框架的模型在昇腾 NPU 上的推理性能优化 - 支持 LLM、MoE、多模态、视觉等多种模型架构 - 支持单卡和多卡部署 ## 工作流 (infer-model-optimize-team) 编排入口按阶段顺序调度优化流程: - 阶段 0:模型适配与基线建立(migrator) - 阶段 1:并行化改造(parallel-analysis + parallel-impl) - 阶段 2:KVCache + FA 优化(kvcache) - 阶段 3:融合算子替换(fusion) - 阶段 4:图模式适配(graph-mode) - 阶段 5:优化总结 每阶段由 analyzer(方案设计)→ implementer(代码实施)→ reviewer(验证)三角色协同完成。 ## Skills | Skill | 功能 | |-------|------| | model-infer-optimize | 端到端优化编排入口 | | model-infer-migrator | 框架适配与基线建立 | | model-infer-parallel-analysis | 并行策略分析 | | model-infer-parallel-impl | 并行切分实施 | | model-infer-kvcache | KVCache + FA 优化 | | model-infer-fusion | 融合算子分析与替换 | | model-infer-graph-mode | torch.compile 图模式适配 | | model-infer-precision-debug | 推理精度问题诊断 | | model-infer-runtime-debug | NPU 运行时错误诊断 | | model-infer-multi-stream | 多流并行优化 | | model-infer-prefetch | 权重预取适配 | | model-infer-superkernel | SuperKernel 适配 | ## 特性 - **阶段化工作流**:从模型分析到图模式适配,按阶段推进,每阶段验证通过后才进入下一阶段 - **多角色协同**:analyzer / implementer / reviewer 三类 SubAgent 分工协作,相互制约 - **领域知识注入**:融合算子接口、FA 参数约束、图模式前置条件等 NPU 推理优化经验沉淀为 Skill - **Hook 约束机制**:角色越界保护、自验证检查等关键约束通过 Hook 自动执行 ## 使用方式 参考 model/teams/infer-model-optimize-team/quickstart.md 进行安装配置。 ## 其他信息 关联issue [#45](https://gitcode.com/cann/skills/issues/45) See merge request: cann/skills!201 个月前
feat: add cannbot skill reviewer governance skill Co-authored-by: zz<2247731025@qq.com> # message auto-generated for no-merge-commit merge: !298 merge feat/skill-reviewer-governance into master feat: add cannbot skill reviewer governance skill Created-by: weixin_67485438 Commit-by: zz Merged-by: cann-robot Description: ## 描述 新增 CANNBot Skill 入库治理能力 cannbot-skill-reviewer,用于审查新增或修改的 SKILL.md 是否符合仓库入库要求。 主要改动: - 新增 infra/cannbot-skill-reviewer/SKILL.md,定义审查流程、结论标准、输出格式和错误处理。 - 新增 infra/cannbot-skill-reviewer/references/statutory-rules.md,单独管理成文法门禁规则,对齐 CANNBot Skills 治理规范、tests/lib/rules.yamltests/lib/skill_validator.py。 - 新增 infra/cannbot-skill-reviewer/references/case-law-review.md,单独管理判例法/设计审查维度,便于后续 Committer 基于 SIG 讨论和 PR 评审意见扩展规则。 - 新增 infra/cannbot-skill-reviewer/scripts/review_skill.py,复用现有 tests/lib/skill_validator.py 输出 Markdown/JSON 审查报告。 - 更新 README.mddocs/skills-usage.mdCHANGELOG.md,补充使用入口、调用示例和变更记录。 - 修正 tests/run-tests.sh --fast 在无 AI CLI 环境下仍检查默认 opencode 的问题,使 fast 测试按文档自动降级为 Platform: none。 ## 关联的Issue #212 ## 测试 - python infra/cannbot-skill-reviewer/scripts/review_skill.py infra/cannbot-skill-reviewer:PASS,92.5/100,Blocking findings: 0。 - python tests/lib/skill_validator.py validate-skill infra/cannbot-skill-reviewer/SKILL.md:通过。 - python -m py_compile infra/cannbot-skill-reviewer/scripts/review_skill.py:通过。 - git diff --check:通过。 - 服务器容器 fresh clone + patch 后执行:bash tests/run-tests.sh --fast。 - Tests run: 10 - Passed: 10 - Failed: 0 - Warnings: 90(均为既有非阻塞 warning) - Duration: 287s ## 文档更新 更新 README.mddocs/skills-usage.mdCHANGELOG.md,新增 cannbot-skill-reviewer 的功能说明、调用示例、本地脚本用法和变更记录。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [x] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 如流水线失败,请优先查看 fast 测试报告,并重点确认 tests/run-tests.sh --fast 在无 AI CLI 环境下是否切换为 Platform: none。 See merge request: cann/cannbot-skills!2985 小时前
Initial commit 2 个月前
添加OAT开源合规头文件并优化交付件命名 Co-authored-by: Junren6415<joestranberg99@gmail.com> # message auto-generated for no-merge-commit merge: !148 merge feat_oat_header into master 添加OAT开源合规头文件并优化交付件命名 Created-by: Junren6415 Commit-by: Junren6415 Merged-by: cann-robot Description: 添加OAT开源合规头文件, 并优化代码检视交付件命名 See merge request: cann/skills!1481 个月前
feat: add cannbot skill reviewer governance skill Co-authored-by: zz<2247731025@qq.com> # message auto-generated for no-merge-commit merge: !298 merge feat/skill-reviewer-governance into master feat: add cannbot skill reviewer governance skill Created-by: weixin_67485438 Commit-by: zz Merged-by: cann-robot Description: ## 描述 新增 CANNBot Skill 入库治理能力 cannbot-skill-reviewer,用于审查新增或修改的 SKILL.md 是否符合仓库入库要求。 主要改动: - 新增 infra/cannbot-skill-reviewer/SKILL.md,定义审查流程、结论标准、输出格式和错误处理。 - 新增 infra/cannbot-skill-reviewer/references/statutory-rules.md,单独管理成文法门禁规则,对齐 CANNBot Skills 治理规范、tests/lib/rules.yamltests/lib/skill_validator.py。 - 新增 infra/cannbot-skill-reviewer/references/case-law-review.md,单独管理判例法/设计审查维度,便于后续 Committer 基于 SIG 讨论和 PR 评审意见扩展规则。 - 新增 infra/cannbot-skill-reviewer/scripts/review_skill.py,复用现有 tests/lib/skill_validator.py 输出 Markdown/JSON 审查报告。 - 更新 README.mddocs/skills-usage.mdCHANGELOG.md,补充使用入口、调用示例和变更记录。 - 修正 tests/run-tests.sh --fast 在无 AI CLI 环境下仍检查默认 opencode 的问题,使 fast 测试按文档自动降级为 Platform: none。 ## 关联的Issue #212 ## 测试 - python infra/cannbot-skill-reviewer/scripts/review_skill.py infra/cannbot-skill-reviewer:PASS,92.5/100,Blocking findings: 0。 - python tests/lib/skill_validator.py validate-skill infra/cannbot-skill-reviewer/SKILL.md:通过。 - python -m py_compile infra/cannbot-skill-reviewer/scripts/review_skill.py:通过。 - git diff --check:通过。 - 服务器容器 fresh clone + patch 后执行:bash tests/run-tests.sh --fast。 - Tests run: 10 - Passed: 10 - Failed: 0 - Warnings: 90(均为既有非阻塞 warning) - Duration: 287s ## 文档更新 更新 README.mddocs/skills-usage.mdCHANGELOG.md,新增 cannbot-skill-reviewer 的功能说明、调用示例、本地脚本用法和变更记录。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [ ] ⚡ 性能优化 - [ ] 🧪 测试用例 - [x] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 如流水线失败,请优先查看 fast 测试报告,并重点确认 tests/run-tests.sh --fast 在无 AI CLI 环境下是否切换为 Platform: none。 See merge request: cann/cannbot-skills!2985 小时前

CANNBot Skills

📢 项目概述

项目定位

CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块,目前已覆盖 Ascend C / PyPTO / TileLang / Triton 算子开发流程和 NPU 模型推理端到端优化。

目标用户

  • CANN 社区开发者
  • 昇腾 NPU 平台 AI 应用开发者
  • Ascend C / PyPTO / TileLang / Triton 算子开发者
  • 使用昇腾 NPU 进行模型推理优化的开发者
  • 希望贡献 Skills / Agents 的社区贡献者

🔥 最新动态

  • 2026-05-25 — 新增 cuda2ascend-simt 实验技能。
  • 2026-05-23 — 性能调试/代码检视/PyPTO 多模块能力增强;测试框架修复跨平台稳定性并统一 License。
  • 2026-05-22 — 新增 tiling-solver Skill 与社区治理模型;UT 与 CI/ST 测试框架能力增强。
  • 2026-05-20 — 新增 4 个 GitCode 协作 Skills 与 skill 能力看护 CI 入口。
  • 2026-05-19 — 新增 Triton 算子生成功能。
  • 2026-05-16 — model-infer-optimize 迁移至 plugins-official;全场景插件支持 Trae 全局安装。
  • 2026-05-15 — RegBase 最佳实践集成至算子直调工作流;init.sh 支持任意目录安装。
  • 2026-05-14 — Skill ascendc-npu-arch 重命名为 npu-arch
  • 2026-05-12 — torch-compile 加入 plugin-official;TileLang 迁移至 plugins-community。
  • 2026-05-11 — 新增 ascendc-crash-debug 技能;官方插件新增支持 Cursor IDE。

仅展示最近两周动态,更多历史记录详见 CHANGELOG.md

⚡️快速开始

前置条件

安装以下任意一个 AI 编程工具:

工具 安装命令 适用安装方式
Claude Code npm install -g @anthropic-ai/claude-code官方文档 脚本安装 / Plugin 安装
OpenCode npm install -g opencode-ai官方文档 脚本安装
Trae 下载安装:https://www.trae.cn官方文档 脚本安装
Cursor 下载安装:https://cursor.com官方文档 脚本安装

步骤一:克隆仓库

git clone https://gitcode.com/cann/cannbot-skills.git
cd cannbot-skills

步骤二:选择场景并安装

选择对应场景,将 <tool> 替换为你的 AI 工具后执行:

场景 安装命令 详细文档
AscendC Kernel<<<>>>直调 cd plugins-official/ops-direct-invoke && bash init.sh project <tool> quickstart
AscendC 算子注册调用 cd plugins-official/ops-registry-invoke && bash init.sh project <tool> quickstart
PyPTO 算子 cd plugins-official/pypto-op-orchestrator && bash init.sh project <tool> quickstart
Triton 算子生成 cd plugins-official/triton-op-generator && bash install.sh project <tool> quickstart
NPU 推理优化 cd plugins-official/model-infer-optimize && bash init.sh project <tool> quickstart
Catlass 算子直调开发 cd plugins-official/catlass-op-generator && bash init.sh project <tool> quickstart
代码检视 cd plugins-official/ops-code-reviewer && bash init.sh project <tool> quickstart
torch.compile 图模式 Plugin 市场安装:/plugin install torch-compile@cannbot quickstart

示例:如果你使用 Claude Code,想安装 AscendC Kernel 直调场景:

cd plugins-official/ops-direct-invoke && bash init.sh project claude

安装脚本会自动完成:创建软链接 → 生成配置文件 → 克隆依赖仓库 → 健康检查。看到 Installation complete! 即表示安装成功。

Claude Code 用户的备选方案:如果你使用 Claude Code,也可以用 Plugin 方式安装(/plugin marketplace add https://gitcode.com/cann/cannbot-skills.git,然后 /plugin install <插件名>@cannbot)。

步骤三:验证安装

安装完成后,检查以下内容确认安装成功:

# 检查 skills 和 agents 目录是否正确链接
ls .claude/skills/        # Claude Code 用户
ls .opencode/skills/      # OpenCode 用户
ls .trae/skills/          # Trae 用户
ls .cursor/skills/        # Cursor 用户

# 如果上述目录存在且包含多个子目录(如 npu-arch、ascendc-env-check 等),说明安装成功。

你也可以启动 AI 编程工具后输入以下内容来快速验证 Skills 是否被正确加载:

"请列出当前可用的 CANNBot Skills"

如果 AI 能列出 npu-archascendc-env-check 等技能名称,说明安装完全成功。

步骤四:开始使用

启动 AI 工具,直接描述开发需求即可。

以下是一些入门提示词示例:

你想做什么 可以这样说
开发一个算子 "帮我开发一个 Abs 算子,输入 float16,输出 float16"
调试精度问题 "我的 Add 算子精度不达标,帮我排查一下"
查阅 API 文档 "aclnnAdd 接口的参数和返回值是什么"
检查开发环境 "帮我检查一下当前的 CANN 开发环境"
代码检视 "帮我检视这段 Kernel 代码是否符合规范"

更多示例详见 Skills 使用样例。各场景的完整使用步骤参见对应 quickstart 文档。

安装遇到问题?

常见问题 解决方法
git clone 失败(网络问题) 尝试配置 GitCode SSH Key,或使用镜像地址
init.sh 提示权限不足 执行 chmod +x plugins-official/*/init.sh
skills 目录为空 确认安装脚本输出中无报错,重新执行安装命令
AI 工具无法识别 Skills 重启工具或新开会话(某些工具需重新加载配置)
CANN 环境未配置 仅影响代码编译/运行类 Skills,知识检索类不受影响

更多安装选项(全局安装、Plugin 市场安装、手动安装)和故障排查详见各场景对应的 quickstart 文档。

🔍 项目架构设计

整体架构

cannbot-skills/
├── ops/                             # 算子 Skills(正式版)
├── ops-lab/                         # 算子 Skills(实验 / 非正式版)
├── model/                           # 模型推理优化 Skills
├── plugins-official/                # 官方应用 Plugin
│   ├── ops-direct-invoke/           # AscendC Kernel 直调开发
│   ├── ops-registry-invoke/         # AscendC 算子注册调用开发
│   ├── pypto-op-orchestrator/       # PyPTO 算子开发
│   ├── catlass-op-generator/        # Catlass 算子直调开发
│   ├── ops-code-reviewer/           # 代码检视
│   ├── torch-compile/               # torch.compile 图模式
│   ├── model-infer-optimize/        # NPU 推理端到端优化流程
│   └── triton-op-generator/         # Triton 算子代码生成与优化
├── plugins-community/               # 社区 Plugin
│   └── tilelang-op-orchestrator/    # TileLang 算子开发
├── infra/                           # 基础设施维护 Skills
└── tests/                           # 自动化测试框架

逻辑架构视图

项目遵循三层架构:Teams 编排 Agents,Agents 绑定 Skills。以下视图展示各层组件及其关联关系。

Ascend C 算子开发

╔══════════════════════════════════════════════════════════════════════════════╗
║                              TEAMS(应用编排层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  ┌─────────────────────────────┐        ┌─────────────────────────────┐      ║
║  │  ops-direct-invoke          │        │  ops-registry-invoke        │      ║
║  │  Kernel 直调开发流程         │        │  算子注册调用开发流程         │      ║
║  └──────┬──────┬──────┬────────┘        └──────┬──────┬──────┬────────┘      ║
║         │      │      │                        │      │      │               ║
╚═════════╪══════╪══════╪════════════════════════╪══════╪══════╪═══════════════╝
          │      │      │                        │      │      │
          ▼      ▼      ▼                        ▼      ▼      ▼
╔══════════════════════════════════════════════════════════════════════════════╗
║                             AGENTS(角色执行层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      ║
║  │  architect   │  │  developer   │  │  reviewer    │  │  tester      │      ║
║  │   方案设计    │  │   代码开发   │   │   代码检视   │  │   代码测试    │      ║
║  └──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘      ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
             │ │ │ │       │ │ │ │       │ │ │ │       │ │ │ │
             ▼ ▼ ▼ ▼       ▼ ▼ ▼ ▼       ▼ ▼ ▼ ▼       ▼ ▼ ▼ ▼
╔═══════════════════════════════════════════════════════════════════════════════╗
║                             SKILLS(知识能力层)                               ║
╠═══════════════════════════════════════════════════════════════════════════════╣
║                                                                               ║
║  ┌─ 知识库类 ──────────────────────────────────────────────────────────────┐   ║
║  │  npu-arch             NPU 架构知识与芯片映射                             │   ║
║  │  tiling-design        Tiling 设计方法论                                  │  ║
║  │  api-best-practices   API 使用最佳实践                                   │  ║
║  │  ops-precision-standard 算子精度标准                                     │  ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
║  ┌─ 工程模板类 ────────────────────────────────────────────────────────────┐   ║
║  │  registry-invoke-to-direct-invoke  注册算子直调改造模板                  │   ║
║  │  direct-invoke-template            Kernel直调工程模板                   │   ║
║  └────────────────────────────────────────────────────────────────────────┘   ║
║                                                                               ║
║  ┌─ 调试与测试类 ──────────────────────────────────────────────────────────┐   ║
║  │  precision-debug      精度调试与症状速查                                 │  ║
║  │  runtime-debug        运行时错误码解析                                   │  ║
║  │  crash-debug          卡死/崩溃调试、Coredump 分析                       │  ║
║  │  env-check            NPU 设备查询与环境验证                             │  ║
║  └────────────────────────────────────────────────────────────────────────┘   ║ 
║                                                                               ║
║  ┌─ 测试开发类 ────────────────────────────────────────────────────────────┐   ║
║  │  st-design            ST 测试用例设计                                   │   ║
║  │  ut-develop           UT 开发与覆盖率增强                               │   ║
║  │  code-review          代码检视规则                                      │   ║
║  └────────────────────────────────────────────────────────────────────────┘   ║
║                                                                               ║
║  ┌─ 工具辅助类 ────────────────────────────────────────────────────────────┐   ║
║  │  ops-profiling        算子性能采集分析                                   │  ║
║  │  task-focus           长任务聚焦防迷失                                   │  ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
╚═══════════════════════════════════════════════════════════════════════════════╝

PyPTO 算子开发

╔══════════════════════════════════════════════════════════════════════════════╗
║                              TEAMS(应用编排层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║                    ┌─────────────────────────────────┐                       ║
║                    │      pypto-op-orchestrator      │                       ║
║                    │      PyPTO 算子开发流程          │                       ║
║                    └──────┬──────────┬──────────┬────┘                       ║
║                           │          │          │                            ║
╚═══════════════════════════╪══════════╪══════════╪════════════════════════════╝
                            │          │          │
                            ▼          ▼          ▼
╔══════════════════════════════════════════════════════════════════════════════╗
║                             AGENTS(角色执行层)                              ║
╠══════════════════════════════════════════════════════════════════════════════╣
║                                                                              ║
║             ┌──────────────┐  ┌──────────────┐  ┌──────────────┐             ║
║             │  analyst     │  │  developer   │  │  perf-tuner  │             ║
║             │  需求与设计   │  │  实现与精度   │  │  性能调优     │             ║
║             └──────────────┘  └──────────────┘  └──────────────┘             ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
                     │ │ │           │ │ │           │ │ │
                     ▼ ▼ ▼           ▼ ▼ ▼           ▼ ▼ ▼
╔═══════════════════════════════════════════════════════════════════════════════╗
║                             SKILLS(知识能力层)                               ║
╠═══════════════════════════════════════════════════════════════════════════════╣
║                                                                               ║
║  ┌─ 需求与设计 ────────────────────────────────────────────────────────────┐   ║
║  │  intent-understand    需求意图理解与规格生成                             │   ║
║  │  api-explore          API 可行性探索与分析                               │   ║
║  │  op-design            算子方案设计生成                                   │   ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
║  ┌─ 实现与验证 ────────────────────────────────────────────────────────────┐   ║
║  │  golden-generate      Golden 参考实现生成                               │   ║
║  │  op-develop           算子代码实现与调试                                 |   ║
║  │  precision-debug      精度问题诊断                                      │   ║
║  │  precision-compare    精度对比分析                                      │   ║
║  └────────────────────────────────────────────────────────────────────────┘   ║
║                                                                               ║
║  ┌─ 性能调优 ──────────────────────────────────────────────────────────────┐   ║
║  │  op-perf-tune         算子性能分析与调优                                 │   ║
║  └─────────────────────────────────────────────────────────────────────────┘  ║
║                                                                               ║
╚═══════════════════════════════════════════════════════════════════════════════╝

🚀 Skills 技能库

Ascend C 算子开发

Skill 功能 使用样例
ascendc-api-best-practices API 使用最佳实践、参数限制
npu-arch NPU 架构知识、芯片型号映射
ascendc-docs-search API 文档索引 + 在线搜索
ascendc-env-check NPU 设备查询、CANN 环境验证
ascendc-tiling-design Tiling 和 Kernel 设计方法论,按算子类别分类
ascendc-precision-debug 精度调试,症状-原因速查、常见陷阱
ascendc-runtime-debug 运行时错误调试,错误码解析(161xxx/361xxx/561xxx)
ascendc-crash-debug 卡死/崩溃调试,Kernel 挂起、Coredump 分析
ascendc-ut-develop UT 单元测试用例开发与覆盖率增强
ascendc-st-design aclnn 接口测试用例设计、L0 / L1 测试用例生成
ascendc-code-review 代码检视方法论、5 大类别规范
ascendc-task-focus 任务聚焦,解决长任务“迷失在中间”的问题
ascendc-whitebox-design 白盒测试用例设计与生成
ascendc-registry-invoke-template 完整自定义算子工程模板,提供标准工程结构、代码模板、UT/ST 样例和多芯片架构参考
ascendc-registry-invoke-to-direct-invoke 注册调用算子转 <<<>>> kernel 直调 查看
ascendc-direct-invoke-to-registry-invoke <<<>>> kernel 直调转注册调用算子 查看
ascendc-direct-invoke-template Kernel 直调工程模板,提供验证过的样例工程和修改指南
ops-profiling NPU 性能采集与分析,CSV 指标解读、瓶颈定位、优化建议
ops-precision-standard 算子精度标准,按 dtype 分类提供 atol/rtol 精度比对标准
ascendc-docs-gen 算子文档写作参考,支持需求分析、详细设计等多个标准模版
ops-simulator NPU 仿真器技能。提供 CANN Simulator 的使用指导,包括精度仿真、性能仿真、流水线分析。
cuda2ascend-simt CUDA 算子迁移到 Ascend C SIMT,支持 standalone sample / torch_npu / pybind 三类交付形态,根据原始工程形态自动选择。仅支持 Ascend 950 PR平台。当前不支持:native JIT(nvrtc、运行时编译、扩展 JIT 加载)、torch 复数 dtype、device 侧 double(FP64)、CUDA 生态库(cuBLAS / cuDNN / cuFFT / cuSPARSE / Thrust / CUB / NCCL 等)、协作组、Ascend C SIMD API、矢量编程 API 查看
ascendc-blaze-best-practice Matmul/Cube/GEMM/BMM 单算子直调生成(Blaze/tensor_api 路径),覆盖模板选型、改造、Tiling 及排错
ascendc-performance-best-practices 按算子族组织的性能优化经验与参考代码总结
ascendc-regbase-best-practice DAV_3510 RegBase 算子 API 约束、实现结构、常见陷阱及真实参考算子
cann-env-setup 昇腾 NPU CANN 安装与环境配置指导
aiss-tiling-solver AISS-TilingSolver 工具自动求解最优 Tiling 参数,覆盖安装、输入构造、运行求解、结果解读

PyPTO 算子开发

Skill 功能
pypto-op-design 算子方案设计生成
pypto-op-develop 算子代码实现与测试
pypto-golden-generate Golden 参考实现生成
pypto-intent-understand 需求意图理解与规格生成
pypto-api-explore API 可行性探索与分析
pypto-precision-debug 精度问题代码层排查
pypto-precision-compare 精度中间结果对比分析
pypto-op-perf-tune 算子性能分析与自动调优

Triton 算子开发

Skill 功能
triton-task-extractor 从用户输入中提取算子,构建任务文件
triton-op-designer 设计高质量算法,指导代码生成
triton-op-coding 根据设计生成 Triton 内核代码
triton-op-verifier 验证算子精度和性能测试
triton-latency-optimizer 逐步优化 Triton 代码性能

NPU 模型推理优化

端到端优化流程由 plugins-official/model-infer-optimize/workflows/optimize-workflow.md 承载(plugin-local 普通 md 文档),由 primary agent 自动加载。下表列出 11 个可独立调用的原子 Skill:

Skill 功能
model-infer-migrator 框架适配与部署基线建立
model-infer-parallel-analysis 并行策略分析(TP/EP/DP)
model-infer-parallel-impl 并行切分实施
model-infer-kvcache KVCache 优化 + FA 替换
model-infer-fusion torch_npu 融合算子分析与替换
model-infer-graph-mode torch.compile 图模式适配
model-infer-precision-debug NPU 推理精度诊断
model-infer-runtime-debug NPU 运行时错误诊断
model-infer-multi-stream 多流并行优化
model-infer-prefetch 权重预取适配
model-infer-superkernel SuperKernel 适配

Skill 治理工具

Skill 功能 使用样例
cannbot-skill-reviewer 审查新增或修改的 SKILL.md 是否符合 CANNBot 入库要求,输出自动门禁、九维评分、阻塞项和整改建议 查看

GitCode 协作工具

Skill 功能 使用样例
gitcode-pr-handler 根据 GitCode PR 代码变更重新生成标题(约定式提交)与描述(沿用仓库 PR 模板)并写回 PR 查看
gitcode-issue-gen 根据 GitCode PR 代码变更生成关联 Issue(按变更类型自动选用模板),完成 PR ↔ Issue 双向关联,可选自助 Assign 查看
gitcode-issue-handler GitCode Issue 端到端处置,按内容自动选择 PR 代码变更路径或 Comment 答复路径 查看
gitcode-toolkit GitCode API/Token/URL/日志/变更展示 + Git 克隆/diff/log/remote + PR 创建工作流共享参考(内部参考,不直接触发)

🚀 Agents 智能代理

Ascend C 算子开发

Agent 功能
ascendc-ops-architect 算子架构师,支持需求分析和方案设计两种场景
ascendc-ops-developer 算子开发者,支持代码实现、编译测试和精度验证
ascendc-ops-tester 算子测试者,支持ST/UT用例生成与执行
ascendc-ops-reviewer 代码检视专家,支持快速检视和全功能检视两种模式
ascendc-kernel-architect Kernel直调架构师,支持需求分析、API验证、方案设计
ascendc-kernel-developer Kernel直调开发者,支持代码实现、编译测试、性能采集、文档编写
ascendc-kernel-reviewer Kernel直调审查者,支持独立构建验证、7维度评分、精度验证

PyPTO 算子开发

Agent 功能
pypto-op-analyst 需求分析与方案设计
pypto-op-developer 算子代码实现与精度调试
pypto-op-perf-tuner 性能分析与调优

Triton 算子开发

Agent 功能
triton-op-generator Triton 算子端到端生成与优化

NPU 模型推理优化

Agent 功能
model-infer-analyzer 模型分析、方案设计、并行策略推荐
model-infer-implementer 代码改造、调试修复
model-infer-reviewer 精度验证、性能对比

🛠️ 测试框架

自动化测试验证 Skills 和 Agents 的正确性,确保技能模块和智能代理的行为符合预期。 详见 tests/README.md

💬 相关信息

💖 免责声明

感谢您关注 CANNBot Skills 项目,我们希望这些技能和知识能帮助您更好地进行 CANN 开发 ^_^

在使用之前,请您了解:

  1. 关于功能满足度:由于技术快速更新迭代,部分内容可能无法完全适用于所有场景。本开源社区的功能和文档正在持续更新和完善中,如果想提出需求、发现问题、贡献想法,欢迎提 Issue 或参与讨论,共创共建。

  2. 关于自动生成:自动代码生成工具所产出的内容,其完整性、准确性、合规性受模型、Skills 能力、语料质量、输入指令等多种因素影响,无法保证完全精准。所有生成代码作为辅助研发使用,请开发者务必进行测试验证、安全审查后再投入使用。

🤝 社区交流