cannbot:基于 CANN 生态的智能开发技能模块项目

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!1366 天前
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!2867 天前
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!2108 天前
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!20318 天前
[feat] torch-compile 新增 init.sh 并更新 quickstart.md Co-authored-by: ganon0327<zhoujialong4@huawei.com> # message auto-generated for no-merge-commit merge: !227 merge feat/torch-compile-init-quickstart into master [feat] torch-compile 新增 init.sh 并更新 quickstart.md Created-by: ganon0327 Commit-by: ganon0327 Merged-by: cann-robot Description: ## 描述 torch-compile新增 init.sh 并更新 quickstart.md See merge request: cann/cannbot-skills!2276 天前
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!24014 天前
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!2108 天前
Tail Block / Data Alignment 优化设计 Co-authored-by: mrwangdengkai<wangdengkai2@h-partners.com> # message auto-generated for no-merge-commit merge: !294 merge convolution-tail into master Tail Block / Data Alignment 优化设计 Created-by: mrwangdengkai Commit-by: mrwangdengkai Merged-by: cann-robot Description: ## 描述 ### 特性增强 - 【尾块处理 convolution-tail】提升 benchmark 测量稳定性:将 benchmark 运行轮数从 100 轮增加到 200 轮,消除 NPU 冷启动/频率不稳定带来的高方差问题(之前 std~12ms 与 median 相当,现在 std~0.01ms),获得更可信的性能数据。 - 【尾块处理 convolution-tail】更新 case_study.md 实测验证文档:基于 200 轮稳定测量结果重写案例文档,精简冗余理论描述,以实测数据为核心验证 design.md 中"非整除场景性能提升 10-30%"的预测。实测最大加速比从 1.242x 提升到 **1.352x**(257×128, tileRows=64),所有配置获得 **14.0% ~ 35.2%** 的性能提升。 - 【尾块处理 convolution-tail】新增工程踩坑记录:补充 Stream 同步、__gm__ 指针类型转换、DataCopy 对齐约束等实际上板遇到的问题和解决方案。 ### 方法说明 1. 仅修改 benchmark 轮数参数(100→200),不改 kernel 代码,确保前后对比公平。 2. case_study.md 从原有 300+ 行的理论论述精简为 80 行的数据驱动验证文档,保留核心结论和工程经验。 ## 关联的Issue <!-- 无特定 Issue,属于性能优化最佳实践文档补充 --> ## 测试 - 在 Ascend910B3 + CANN 9.0.0 环境上执行了 200 轮 benchmark,所有 6 个 shape 配置均通过正确性验证(误差 0.00e+00)。 - 验证结果:speedup 范围 1.140x ~ 1.352x,与 design.md 理论预测(10-30%)完全吻合。 实践案例:https://gitcode.com/cann/cannbot-skills/discussions/22 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🌟 新特性 - [ ] ✨ 特性增强 - [ ] 🐛 Bug 修复 - [x] ⚡ 性能优化 - [x] 🧪 测试用例 - [ ] 📦 构建 / CI - [x] 📝 文档更新 - [ ] 🔧 配置变更 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] ♻️ 代码重构 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 流水线故障排查 <!-- 如果下方的流水线检查未通过,可参考以下指引进行自助修复 --> > **UT_Test 未通过?** > 请在下方流水线表格的 **UT_Test** 行,点击右侧的 >>>>> 下载 **CANNBot-skills UT 测试报告**(HTML 格式)。 > 打开报告后,展开页面中的「UT Test 失败修复指南」,复制其中的提示词并粘贴给 Agent,Agent 将根据日志自动定位并修复问题。 See merge request: cann/cannbot-skills!2945 天前
修复测试框架跨平台稳定性并新增自包含 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!2829 天前
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!1366 天前
add ascendc-crash-debug memcheck func Co-authored-by: lisa<zhoulisa@huawei.com> # message auto-generated for no-merge-commit merge: !223 merge master into master add ascendc-crash-debug memcheck func Created-by: lisaZhou Commit-by: lisa;lisaZhou Merged-by: cann-robot Description: # 描述 新增 ascendc-crash-debug 内存检测功能(mssanitizer memcheck),扩展 skill 适用场景从"程序无法运行完"到"程序能跑完但结果异常"。 ## 📝 文档更新 - **SKILL.md**:扩展 description 描述,新增"内存错误主动检测"诊断分支和"输出结果异常"场景入口;症状-原因速查表新增 3 行(NaN/Inf/不稳定、偶发崩溃无法复现)。 - **crash_workflow.md**:补充内存检测相关内容,与 SKILL.md 诊断流程衔接。 - **新增 memcheck 参考文档**(references/memcheck/): - AUTOMATED_WORKFLOW.md(418 行)— 3 步自动化工作流:编译(带 -sanitizer)→ 安装算子包 → 运行 mssanitizer memcheck。 - README.md(135 行)— 用户使用指南:配置文件模板详解、常用选项、典型使用场景(崩溃/NaN/多核不稳定)。 - mssanitizer_guide.md(181 行)— msSanitizer 工具原始文档:6 类内存异常详解(越界读写/多核踩踏/非对齐访问/内存泄漏/未初始化缓冲区/无效释放)。 ## ✨ 特性增强 - **新增自动化检测脚本**:scripts/run_memcheck_pre.sh(685 行)— 一键执行内存检测,支持参数化配置、超时控制、日志分级、错误码规范。 - **新增配置文件模板**:scripts/memcheck_input.json.template(44 行)— JSON 配置模板,覆盖算子路径、测试脚本、设备类型、CANN 环境、编译选项等。 - **诊断流程扩展**:从"程序无法运行完"扩展到"程序能跑完但结果异常",新增内存错误主动检测能力(越界读写、多核踩踏、非对齐访问、内存泄漏)。 ## 关联的 Issue 关联 Issue — https://gitcode.com/cann/skills/issues/129 ## 测试 - **脚本功能验证**:在 ascendc 算子仓库中执行 run_memcheck_pre.sh,完成编译-安装-检测全流程,输出 memcheck_output/ 目录结构正确。 - **配置文件测试**:基于模板生成的 memcheck_input.json 正确解析,参数传递到脚本各环节无误。 - **文档链接验证**:SKILL.md 中新增的 [mssanitizer 内存检测](references/memcheck/) 锚点链接可跳转到对应文档节。 ## 文档更新 - 更新 SKILL.md(诊断流程 + 症状速查表 + 资源链接) - 新增 references/memcheck/ 目录(3 个参考文档) - 新增 scripts/ 资源(run_memcheck_pre.sh + memcheck_input.json.template) ## 类型标签 🌟 新特性 ✨ 特性增强 🐛 Bug 修复 ⚡ 性能优化 🧪 测试用例 📦 构建 / CI 📝 文档更新 🔧 配置变更 ⬆️ 依赖升级 🔒 安全修复 ♻️ 代码重构 🧹 代码清理 ❓ 其他,请描述: See merge request: cann/cannbot-skills!2236 天前
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!18323 天前
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!25112 天前
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(ops-registry-invoke): add template puncture validation with retry mechanism Co-authored-by: jon_jin<jinjiong@hisilicon.com> # message auto-generated for no-merge-commit merge: !297 merge torch-adaptor into master feat(ops-registry-invoke): add template puncture validation with retry mechanism Created-by: jon_jin Commit-by: jon_jin Merged-by: cann-robot Description: ## 描述 Add template puncture (模板穿刺) validation mechanism to ops-registry-invoke workflow, enabling parallel validation of TilingKey branches via Kernel direct invocation before full integration. - Add A1-P parallel puncture track using ascendc-direct-invoke-template - Add A1-P-Retry auto-retry for failed puncture tasks (max 2 retries) - Add operator iteration task to integrate puncture results into mainline - Restructure phase 3 into precision (3.1) and performance (3.2) validation - Enhance error handling with precision debugging decision trees - Update all workflow templates, data flow docs, and task prompts ## 关联的Issue #202 ## 测试 本次变更为技能/工作流定义文档更新,不涉及可执行代码测试。 ## 文档更新 更新了所有相关工作流文档和 Agent 定义文件。 ## 类型标签 - [x] ✨ 特性增强 See merge request: cann/cannbot-skills!2976 天前
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 个月前
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!2867 天前

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 适配

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 能力、语料质量、输入指令等多种因素影响,无法保证完全精准。所有生成代码作为辅助研发使用,请开发者务必进行测试验证、安全审查后再投入使用。

🤝 社区交流