已合并
refactor(ops-direct-invoke): 重构为 skill 驱动的多角色编排工作流,支持算子仓继承与静默模式 #982
refactor(ops-direct-invoke): 重构为 skill 驱动的多角色编排工作流,支持算子仓继承与静默模式 #982
已合并
iuyi创建于 12 天前
iuyi
iuyi
12 天前

描述

本次重构将 ops-direct-invoke 插件的工作流实现从「静态 agents + workflows 目录」模型改为 skill 驱动的多角色编排模型,借鉴面向对象设计思想,将通用工作流沉淀为 CANNBot 维护的「基类」,各算子仓作为「子类」继承编排流程、仅覆写与自身耦合的领域知识,达到一套核心流程服务所有算子仓、消除重复建设的目的。

主要变更

  • 角色重构:由 4 个角色(ascendc-kernel-architect / design-reviewer / developer / reviewer)扩展为 6 个专业角色(architect、developer、developer-code、developer-test、developer-doc、QA),PM 主 Agent 只调度不执行,执行与验收职责分离。
  • 工作流引擎化:删除旧 workflows/ 静态目录,新增 16 个子 skill:
    • ops-direct-invoke-workflow:统一流程编排(阶段 0-7、CP0-CP5 检查点、任务回退、静默模式)
    • ops-direct-invoke-workflow-maintain:维护红线与 SOLID 设计约束看护
    • plugin-experience-summary / plugin-perf-iteration / plugin-pr-submit:可插拔流程插件,frontmatter 声明挂载点、init 注册到 .cannbot/settings.json,自闭环可单独触发
    • repo-build-guide / repo-coding-rules / repo-knowledge / repo-op-templates / repo-test-develop:仓库领域知识
    • workflow-cp0 ~ workflow-cp5:各检查点验收 skill
    • workflow-doc-templates / workflow-agent-permissions:文档模板与权限管理
  • 跨平台权限守卫:旧 hooks(hooks.json / run-hook.cmd / session-start-ops-direct)替换为按角色写权限隔离的 permission-guard hooks,覆盖 claude / codex / dsh / opencode / trae 五类 CLI(dsh 提供可选部署级 Cordis 守卫插件)。
  • 配置统一与静默模式:运行时配置收敛到 .cannbot/settings.json 唯一权威(工作流模式、插件注册与启用状态、问卷状态);新增静默模式(--mode silent 完全无人值守,支持会话内「开启/关闭静默模式」切换与权限预检)。
  • init.sh 重写为 constructor 模式:装配 .cannbot/permissions、权限 hook、.cannbot/settings.json、依赖仓 clone 到 .cannbot/example/init.sh 提供算子仓接入范例。
  • 安装一致性:install-helper 不再声明 installSkills / externalRepos,改由 init.sh 完成装配;dependency_validator.py 增强 DG-11 校验,支持从 agents/*.md frontmatter 解析 skill 白名单。

关联的Issue

  • #595

测试

我们在 CannBench 官方任务集上完成 53 个算子的全量实现与评测(方案名 direct-invoke@Claude deepseek-v4-flash),标准集用例通过率 98.8%、隐藏集 95.5%,总分 7383.64,平均加速比标准集 0.53、隐藏集 0.85。

文档更新

  • 新增 plugins-official/ops-direct-invoke/README.md:设计思想、知识分层、角色与流程概览、设计约束、静默模式说明

类型标签

流水线故障排查

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 iuyi 的贡献)
iuyiiuyi
12 天前 创建了 pull request,commit 1da6b669
iuyiiuyi
12 天前 关联了issue:[Requirement|需求建议]: ops-direct-invoke 直调算子工作流重构为 skill 驱动的多角色编排
atomgit-bot
atomgit-bot
12 天前 评论:

🤖 正在生成合并请求摘要,请稍候…

likedislike
不准确?
atomgit-bot
atomgit-bot
12 天前 评论:

🤖 AI 代码检视正在进行中,请稍候…

likedislike
不准确?
CANN-robot
CANN-robot成员
12 天前 评论:

Hi @iuyi, welcome to submitting your first PR to cannbot-skills!

PR Merge Steps

1. CLA Signing

If the current PR label includes cann-cla/yes, it means you have signed the CLA and can proceed to the next step. If the label includes cann-cla/no, please sign the CLA first. If you have any questions, please refer to the FAQ.

2. CI Check

Please comment /compile to trigger the CI pipeline check. If the CI run is successful, the PR will be tagged with ci-pipeline-passed and you can proceed to the next step. If the CI run fails, the PR will be tagged with ci-pipeline-failed, please check the CI logs to fix the issues in the PR. If you have any questions, please refer to the FAQ.

3. Code Review

After CI passes, please refer to the PR Approval Progress and proactively @ the committers in the table to review the code. After approval, committers will comment /lgtm and /approve. Once the lgtm and approved labels are successfully added, the PR will be merged automatically.

likedislike
CANN-robotCANN-robot成员
12 天前 添加了label:stat/needs-squash
CANN-robotCANN-robot成员
12 天前 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
12 天前 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
For more, you also can visit HICANN.


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
repo-cann/cannbot-skills 汤平川, xutianze (2/2) 汤平川, xutianze (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

iuyi, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
atomgit-bot
atomgit-bot
12 天前 评论:

⚠️ 本次变更过大(40 个可审文件、5303 行,预估需 5 轮分片审查),已超出 AI 代码评审的处理范围,本次跳过。建议拆分为更小的 PR 以获得有效评审。

likedislike
不准确?
atomgit-bot
atomgit-bot
12 天前 评论:

⚠️ 本次变更过大(40 个可审文件、5303 行,预估需 5 轮分片审查),已超出 AI 代码评审的处理范围,本次跳过。建议拆分为更小的 PR 以获得有效评审。

likedislike
不准确?
iuyi
iuyi
12 天前 评论:

compile

likedislike
iuyiiuyi
12 天前 update merge request[project id: 9461373, iid: 982, commit_id: 820de6b5c34ce6e3d584d22545bce10c7dcb1189] virtual merging success
xutianze
xutianze成员
12 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
12 天前 添加了label:approved
CANN-robotCANN-robot成员
12 天前 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
12 天前 评论:

流水线任务触发成功
任务链接 [2abf246b418b40d9a3d7bef761b70b57][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
Check_Pr ✅ SUCCESS >>>>>
UT_Test ✅ SUCCESS >>>>>
codecheck_style ✅ SUCCESS >>>>>
pre-commit ✅ SUCCESS
pre_comment ✅ SUCCESS >>>>>
UT_Test_AI_review ✅ SUCCESS >>>>>
ST_Test_A2 ✅ SUCCESS >>>>>
ST_Test_A5 ✅ SUCCESS >>>>>

[2026-09-01 11:37:09]    CI执行结束

likedislike
TangPC
TangPC成员
12 天前 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
12 天前 添加了label:lgtm
CANN-robotCANN-robot成员
12 天前 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
12 天前 添加了label:ci-pipeline-passed
CANN-robotCANN-robot成员
12 天前 合入了pull request