Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>CANNWork (CANNLab-WorkAgent)New to Visual Studio Code? Get it now.
CANNWork (CANNLab-WorkAgent)

CANNWork (CANNLab-WorkAgent)

CANN-PUB

|
3,532 installs
| (0) | Free
CANN Al Agent for CANNLab
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
CANN Logo

Your AI assistant for CANN

CANNWork

介绍

CANNWork(CANNLab-WorkAgent)作为CANN一站式AI开发客户端,支持昇腾算子开发、调试、优化、文档等,轻量零门槛,提升算子开发效率。

软件架构

软件由前端交互层与后端服务层组成。

前端交互层嵌入主流代码编辑器,如 Visual Studio Code 等,以插件形式存在,用户可在熟悉的编码环境中使用助手功能。通过展示代码续写建议、以及侧边栏的对话文本框,旨在方便用户使用并探索助手提供的各种功能。

后端服务层采用基于神经网络的代码生成模型,提供代码补全、对话问答等代码辅助开发功能。通过后端服务的持续能力提升,不断提高前端交互层的用户体验。

1. 插件登录

插件登录后才提供完整问答、续写等模型服务,使用 GitCode 账户进行登录。

  • 勾选方框,点击登录按键,允许使用 GitCode 登录并打开外部网站。

cannwork登录1

cannwork登录2

  • 跳转至外部网站进行GitCode账户授权,并重定向回VSCode。

cannwork登录3

  • 返回VSCode,同意打开,完成登录。

cannwork登录4

2. 插件配置

  • 点击右上⻆⼩⻮轮后,选中打开 CANNWork的权限设置。

权限设置

  • 点击右上⻆⼩⻮轮后,选中打开 CANNWork的文档质检设置。

文档质检设置

使用说明

1. 模型配置

CANNWork 支持两类模型:由 CANN 网关统一接入的内置模型,以及用户自行接入的自定义模型。模型选择器位于聊天界面底部,会话中可随时切换,切换后的选择会被自动记住,下次启动默认恢复。

1.1 内置模型

内置模型由 CANN 网关统一管理和接入,无需用户配置任何 API Key。

  • 内置公共模型:平台提供的公共模型(如 Qwen、DeepSeek 系列),所有登录用户可用;
  • api网关模型:与用户账号绑定的专属模型,需要使用公司购买的 Key 才能调用。 使用前提:需完成 CANN 账号登录。登录后扩展会自动申请模型访问凭证(VK)并注入请求鉴权,首次发放或凭证更新后模型列表会自动刷新。 使用方式:点击聊天界面底部的模型选择器,从内置模型 /CANNLab-WorkAgent模型分组中选择目标模型即可。切换后的选择会被自动记住,下次启动时恢复。

内置模型1

内置模型2

1.2 自定义模型

如需使用 CANN 网关之外的第三方模型,可添加自定义模型,请求直连厂商 API,不经过 CANN 网关。

添加步骤:

  1. 点击模型选择器底部的添加模型,打开连接 Provider对话框;
  2. 在厂商列表中选择「自定义」;
  3. 填写配置表单:
配置项 说明
API Key 厂商 API 密钥(必填)
API Base URL 厂商 API 地址,OpenAI 兼容格式,如 https://api.openai.com/v1(必填)
模型名称 厂商模型 ID,如 gpt-4o(必填)
  1. 提交后工具自动测试连接:向该 API 地址发送一次探测请求,验证地址可达性与密钥有效性;测试通过后模型自动添加,测试失败则提示具体错误(如 HTTP 状态码、连接超时等),不写入配置;
  2. 添加成功后,新模型出现在模型选择器的自定义模型分组中,与内置模型 / CANNLab-WorkAgent 模型并列,可像其他模型一样选用。

管理:

  • 删除:鼠标悬停模型选择器中的自定义模型条目,点击 × 即可删除;
  • 更新:重复添加相同 API 地址 + 模型名称的模型视为更新,新配置覆盖旧配置并替换旧密钥。

自定义模型

2. Plan和Build模式

CANNWork 提供 Plan 和 Build 两种工作模式,决定智能体在会话中的行为边界与工具权限。模式可在聊天输入框区域一键切换。

2.1 Plan模式

Plan 模式面向方案分析与设计场景,智能体以只读探索 + 方案输出的方式工作,不会直接改动代码。

plan模式

适用场景:接手陌生代码库需要先摸清结构;改动前希望评估方案与风险;只做代码解读、问题定位而不希望 AI 动代码。

2.2 Build模式

Build 模式面向实际开发执行场景,智能体在权限规则允许的范围内直接执行改动。

build模式

适用场景:方案已确定进入编码实现;Bug 修复与重构;日常脚本编写、工程配置修改等直接动手的开发任务。

3. Skill配置

Skill 是扩展智能体能力的领域知识包:每个 Skill 是一个包含 SKILL.md 的文件夹,SKILL.md 使用 YAML 前置数据声明名称与描述,正文编写指令、规范或操作流程。会话中智能体可根据任务自动匹配 Skill,也可由用户手动指定。

Skill 按作用域分为全局 Skill 和项目级 Skill 两级,两者同名时项目级优先生效。

skill

3.1 添加全局Skill

全局 Skill 存放在用户主目录下,所有项目、所有会话均可使用,适合放置与具体工程无关的通用能力(如编码规范、通用调试流程)。 添加方式:

  1. 点击输入框区域的Skills按钮(或输入 /skills)打开 Skill 选择器,点击导入;
  2. 安装位置选择全局,导入方式选择ZIP 压缩包或文件夹;
  3. zip 包内 SKILL.md 须位于根目录或唯一一级子目录下,否则提示导入失败;Skill 名称取自包内包含 SKILL.md 的目录名(位于根目录时取 zip 文件名),名称须含字母或数字;
  4. 导入同名 Skill 时直接覆盖旧版本。

3.2 添加项目级Skill

项目级 Skill 存放在当前项目目录下,仅该项目、该目录下的会话可用,适合放置与工程强绑定的能力(如该工程的编译命令、算子开发流程、目录结构说明)。

添加方式: 与全局 Skill 相同(导入时安装位置选项目级),或直接将文件夹放入 <项目>/.opencode/skills/。Team 模式下,Team 工作区的 .opencode/skills/ 也会作为 Team 级 Skill 加载,且优先级最高。也可将包含 SKILL.md 的 Skill 文件夹直接放入上述任一目录;列表有约 30 秒缓存,稍候或重开选择器即可看到。

skill设置

4 MCP配置

MCP(Model Context Protocol)是扩展智能体工具能力的标准协议。接入 MCP 服务器后,智能体可在对话中调用其提供的工具(如联网搜索、数据库查询等)。MCP 配置同样分为全局和项目级两个层级。

4.1 添加全局MCP

添加步骤:

  1. 点击聊天界面底部状态栏的 MCP 按钮,打开MCP 服务器面板;

mcp1

  1. 点击添加,在弹出的配置对话框中填写参数;

mcp2

  1. 点击添加,配置写入配置文件并自动连接服务器(启用此服务器关闭时仅保存不连接),连接状态实时显示。MCP 配置变更在下次对话时生效,当前进行中的对话不会自动应用。

4.2 添加项目级MCP

添加步骤: 与全局 MCP相同,仅在保存位置中选择项目配置。

4.3 连接状态与管理:

MCP 面板实时显示每个服务器的连接状态(已连接 / 连接中 / 连接错误 / 未连接 / 已禁用 / 需要认证 / 需要客户端注册)及可用工具数量,连接失败时同时显示错误信息,并支持:

  • 重新连接:非已连接状态下手动重试(先断开再重连);
  • 编辑 / 删除:编辑配置——包括「启用此服务器」开关,可用于临时禁用某服务器而不删除配置;删除会从配置文件中移除服务器,不可撤销,删除前会二次确认;
  • 刷新:从配置文件重新加载全部服务器,并自动连接所有已启用的服务器。

5. 权限配置

智能体在会话中的每一步工具调用(读写文件、执行命令等)都受权限规则约束。CANNWork提供默认权限和完全访问两档权限,可在设置页全局配置(作为所有新会话的默认值),也可在单个会话内通过工具栏开关单独切换;会话内的显式设置优先于全局设置。

5.1 默认权限

默认权限是最严格的档位:所有工具调用都需要用户确认,包括只读操作。智能体每次需要执行操作时,会弹出权限请求对话框,展示要使用的工具及输入内容,由用户逐项把关;同时存在多个待处理请求时,将按顺序逐个呈现。

适用场景:初次使用、不熟悉智能体行为;在重要工程目录中工作;希望对每一步操作保持完全掌控。

5.2 完全访问

完全访问是面向效率的档位:开启后,日常操作(文件读写、常规命令执行等)自动放行,无需逐项确认;仅敏感、危险操作仍会弹出审批。 无论从设置页还是会话内工具栏开启,均会弹出风险确认对话框,需勾选确认后方可启用。

会话级完全访问(会话内工具栏开关)

  • 入口:会话输入框上方工具栏的权限按钮(显示「默认权限」或「完全访问」),点击展开下拉后打开「允许完全访问」开关;
  • 生效范围:仅当前会话,随时切换,互不影响其他会话;
  • 生效时机:立即生效;切换时该会话内已积累的「始终允许」记录一并重置;
  • 优先级:会话级设置优先于全局开关,单独设置后该会话按会话级档位执行,不受全局开关影响;但全局开关每次切换都会清除会话级设置;
  • 持久化:按会话保存,窗口重载后恢复该会话的设置。

完全访问1

完全访问1

全局完全访问(设置页开关)

  • 入口:设置页的权限开关;
  • 生效范围:作为所有会话的默认权限档位,新建会话默认跟随该开关;
  • 生效时机:切换后立即对所有运行中的会话生效,包括正在问答中的会话;
  • 切换影响:切换全局开关会清除所有会话的单独权限设置(各会话统一重置为全局值),同时清除各会话已积累的「始终允许」记录;此后仍可在单个会话内重新单独设置;
  • 持久化:全局保存,重启后仍然有效。

全局完全访问

开关层级:

  • 设置页全局开关:控制所有新会话的默认权限档位;切换后立即对所有运行中的会话生效(包括正在问答中的会话),并清除各会话的单独设置;

  • 会话内工具栏开关:仅影响当前会话,随时切换,互不影响其他会话。

    适用场景:可信任务的全自动执行(如批量重构、长时间运行的构建修复),减少逐项确认的打断;配合危险操作拦截,兼顾效率与安全。

业务Agent功能介绍

1. 算子文档开发

1.1 功能介绍

针对文档开发场景,本工具目前提供如下能力:

文档生成

针对CANN领域中可结构化的文档,工具提供基于模型AI的辅助学习能力,能够同步生成与软件实现一致的文档,从而提升文档写作效率。

注意:目前仅支持生成算子对应的aclnn API文档,其他组件文档生成能力正在建设中。

文档质检

针对markdown格式的文档,提供静态检查(StaticCheck)、基础语义检查(AICheck)、领域规则检查(DomainCheck)等能力,希望能提高文档质量。

1.2 工具配置

工具辅助文档写作或质检过程中,支持自行配置相关能力。以文档质检配置为例,可设置检查模式和对应的检查项:

文档质检功能

4.1.3 功能使用

4.1.2 功能使用

1. 进入算子文档生成流程

使用步骤:

  1. 在资源管理器中右键算子工程目录
  2. 选择 CANNWork → Ascend C API 文档生成

asc

  1. 工具自动打开聊天面板,新建会话并切换到 DocAgent 模式,同时开始扫描目录下的算子与接口
  2. 扫描完成后,输入框上方弹出向导卡片,进入第 1 页(选择生成范围)

2. 选择生成范围与生成模式(向导)

使用步骤:

  1. 在「请选择 xx 中需要生成算子文档的代码文件」页中勾选需要生成文档的接口,扫描结果默认全选,可点击「全选」批量切换,页头显示共 N 篇文档

asc选择

  1. 点击「确定」进入第 2 页(生成模式)
  2. 选择生成模式:全量生成(基于完整代码从零开始生成文档)

asc全量生成

  1. 选择全量生成后点击「确定」,任务立即开始

3. 增量生成:选择变更范围与对比版本

使用步骤:

  1. 在变更范围页选择基线:仅根据本次修改更新算子文档(以本地修改为基线),或使用本地最新代码更新算子文档(以代码仓为基线)

增量生成1

  1. 点击发送,工具新建增量任务会话,自动完成环境准备与基线快照

增量生成2

增量生成3

  1. 快照完成后,对话流末尾出现版本选择块,点击版本按钮,或在输入框直接输入版本号

增量生成4

  1. 工具开始变更检测与文档生成,输入框上方的任务面板实时显示逐文件进度
  2. 完成后任务面板显示变更文件清单,每个文件标注新增 / 删除行数
  3. 点击接受全部应用全部变更,或点击「撤销变更」整体回退

4. 文档质检(按配置全量质检)

使用步骤:

  1. 在资源管理器中右键待质检的文档文件
  2. 选择 CANNWork → 文档质检

文档质检

  1. 开启确认提醒时,聊天区显示质检配置卡片:设置启用AI质检开关、基础检查模式(全量检查 / 门禁模式(必检项最小集) / 自定义)和领域规则(无 / AscendC 领域 / Aclnn 领域)

基础检查模式

领域规则

  1. 可勾选「以后不再手动确认,直接开始质检」
  2. 点击「开始质检」,工具新建质检会话并执行检查,各检查项进度实时显示
  3. 完成后显示质检统计(质检策略、开始时间、耗时、检查文件数)与质检报告卡片

说明:勾选不再提醒后,之后右键质检将跳过配置直接开始;可在设置页的文档质检页签中重新开启提醒。

5. 文档质检(目录单项检查)

使用步骤:

  1. 在资源管理器中右键文档目录
  2. 选择 CANNWork → 文档质检(选择检查项)

文档质检选择检查项

  1. 在弹出的选择框中选择一个检查项,如 markdown语法检查、Link有效性检查、资源有效性检查、单词拼写检查、Html标签闭合检查、合规检查、文件名检查、标点符号检查

检查项

  1. 工具对该目录下的文档批量执行所选检查,批量文件清单与进度实时显示
  2. 得到质检报告

检查项质检报告

2.算子接口检索

2.1 功能介绍

针对算子接口检索场景,本工具提供 APIAgent 问答模式:基于指定版本号的 CANN 官方文档,以自然语言完成 Ascend C、aclnn 等算子接口的查询、行为验证与选型对比,帮助开发者快速获取准确的接口信息。

版本化检索

检索基于选定版本的 CANN 官方文档进行。进入 APIAgent 模式后,输入框上方提供当前检索文档版本选择器,版本列表从服务端实时拉取,最新版本带最新标识;选定版本后,问答将针对该版本文档作答,避免跨版本信息混淆。

自然语言接口查询 无需记忆接口名称,直接描述诉求即可定位接口。

接口行为与约束咨询

针对接口的实际行为、数值表现与平台约束进行验证型问答,例如:数据类型转换的取整行为(Cast 接口 bf16 转 fp32 时 RoundMode::CAST_RINT 输出全 0 的原因)、特定芯片上的行为限制(310P 上 printf 缓冲区大小)、多精度类型适配(算子同时支持 half 和 float)等。

等效方案对比选型

对完成同一目标的多种接口/指令方案进行对比分析(如 for+muls 与 brcb+mul 的取舍),辅助开发者在性能与实现复杂度之间做出选择。

免打扰问答

APIAgent 会话内的工具调用权限请求自动放行,优先级高于普通会话的权限规则,全程无权限弹窗打断。

快捷提问

空会话时随机展示常见问题卡片,点击卡片即把问题填入输入框,可直接发送或修改后发送。

2.2 功能使用

  1. 进入 APIAgent 问答模式

使用步骤:

  1. 在聊天面板底部找到输入框上方的 Agent 选择器(显示当前 Agent 名称的按钮)
  2. 点击展开 Agent 列表,选择 APIAgent;悬浮选项右侧的 ? 图标可查看该模式的说明
  3. 若当前处于 Build/Plan 等普通模式,切换后会自动新建一个空白会话进入 APIAgent 模式;若在算子开发 Team会话中切换,会先弹出退出 Team 确认框
  4. 进入后,空会话页面显示 APIAgent 标题与快捷提问卡片

apiagent选择

说明:Agent 选择按会话记忆,切换到其他会话不会影响该会话的模式。

  1. 选择检索文档版本

使用步骤:

  1. 进入 APIAgent 模式后,输入框上方自动显示「当前检索文档版本」栏
  2. 版本列表自动从服务端拉取,拉取期间显示「版本加载中...」
  3. 拉取完成后默认选中商用版最新版本(带「最新」标识)
  4. 点击版本号展开下拉列表,可切换到其他版本

api文档选择

说明:每次提问都以当前所选版本为检索范围;「最新」标识固定标记商用版最新版本,与当前所选版本无关;版本拉取失败时 显示「版本获取失败,点击重试」,点击后重新拉取。

3. 算子编程开发

3.1 功能介绍

针对算子编程开发场景,本工具内置多个业务 Team。每个 Team 是一组经过编排的智能体(含专属 Agent 人设、领域技能与命令),按端到端工作流完成算子的开发、编译、调试与调优;开发者以自然语言下达任务,Team 自动拆解阶段并逐步执行,过程全程可视化。

能力说明

  • 端到端编排:Team 按「代码生成 → 编译 → 精度调试 → 性能分析」的阶段化工作流推进任务,复杂任务自动建立任务清单,进度实时渲染在任务面板;
  • 环境自动准备:进入 Team 时自动拉取团队配置并初始化独立的团队工作目录,团队技能、命令随目录就绪,与本地工程隔离;
  • 会话绑定:Team 会话与团队工作目录绑定,多 Team 并行开发互不干扰,切换会话自动路由回对应目录;
  • 权限可控:Team 执行中的写操作仍受权限规则管控(见 3.5 权限配置),关键改动由用户把关。

3.2 功能使用

  1. 进入算子开发 Team

使用步骤:

  1. 打开 CANNWork 聊天界面,确认已连接服务;
  2. 点击输入框工具栏的智能体选择器,在下拉列表中选择OPSAgent;

opsagent选择

  1. 工具栏出现选择算子类型入口,点击打开 Team 列表;
  2. 选择目标 Team(如「Ascend C 自定义算子开发 Team」);
  3. 等待团队配置拉取与工作目录初始化,完成后进入 Team 欢迎页。

team选择

  1. 下发开发任务

使用步骤:

  1. 在欢迎页点击预设任务卡片,任务描述自动填入输入框;也可跳过此步,直接输入自然语言任务;

  2. 按需修改任务描述,如补充算子名称、输入输出数据类型、性能要求等;

  3. 按 Enter 发送,Team 自动拆解任务阶段并开始执行。

  4. 跟踪任务执行

使用步骤:

  1. 观察输入框上方的任务面板:任务清单实时更新,每项显示待处理 /进行中 / 已完成状态;

  2. 在对话流中查看工具卡片:每一步命令执行、文件读写以卡片形式展示,可展开查看命令内容与执行结果;

  3. 如需查看代码改动,点击代码审查按钮打开右侧面板:按文件汇总本次会话的改动(增删行数、差异对比),点击文件可展开查看明细。

  4. 切换 Team

使用步骤:

  1. 点击工具栏的算子类型选择器(当前 Team 名称处);

  2. 在列表中选择另一个 Team;

  3. 系统自动创建新会话并绑定新团队目录,原 Team 会话保留在历史列表中。

  4. 切回历史 Team 会话

使用步骤:

  1. 点击顶部的会话历史按钮;

  2. 点击目标 Team 会话卡片;

  3. 会话自动恢复,并路由回该会话绑定的团队目录继续工作。

  4. 退出 Team 模式

使用步骤(二选一):

  • 方式一:点击算子类型选择器,选择退出 Team 模式;
  • 方式二:将智能体切换为其他类型,在弹出的确认框中确认退出。
  1. 多 Team 并行开发

使用步骤:

  1. 保持当前 Team 会话任务执行(无需等待完成);
  2. 点击新建会话;
  3. 在新会话中按第 1 项步骤进入另一个 Team;

License

CANNLab-WorkAgent(CANNWork) LICENSE (EN) © 2026 Huawei Technologies Co., Ltd. | 中文版.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft