@cannbot-ai/install-helper 1.0.8 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,223 @@
1
+ # ----------------------------------------------------------------------------------------------------------
2
+ # Copyright (c) 2026 Huawei Technologies Co., Ltd.
3
+ # This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4
+ # CANN Open Software License Agreement Version 2.0 (the "License").
5
+ # Please refer to the License for details. You may not use this file except in compliance with the License.
6
+ # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7
+ # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8
+ # See LICENSE in the root of the software repository for the full text of the License.
9
+ # ----------------------------------------------------------------------------------------------------------
10
+
11
+ # Ensure TLS 1.2 (Windows PowerShell 5.1 defaults to TLS 1.0)
12
+ try {
13
+ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
14
+ } catch {}
15
+
16
+ # Channel selection: latest (default), beta, or explicit version
17
+ # Set $env:CANNBOT_CHANNEL = "beta" before running to install beta
18
+ $Channel = if ($env:CANNBOT_CHANNEL) { $env:CANNBOT_CHANNEL } else { "latest" }
19
+
20
+ # Auto-fix ExecutionPolicy for npm global tools (.ps1)
21
+ $execPolicy = Get-ExecutionPolicy -Scope CurrentUser
22
+ if ($execPolicy -eq "Restricted") {
23
+ Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
24
+ Write-Host " [OK] ExecutionPolicy set to RemoteSigned (required for npm tools)" -ForegroundColor Green
25
+ }
26
+
27
+ $ErrorActionPreference = "Stop"
28
+ $ProgressPreference = "SilentlyContinue"
29
+
30
+ trap {
31
+ Write-Host ""
32
+ Write-Host " [ERROR] $_" -ForegroundColor Red
33
+ Write-Host ""
34
+ Write-Host " Press Enter to exit..."
35
+ Read-Host
36
+ return
37
+ }
38
+
39
+ Write-Host ""
40
+ Write-Host " ____ _ _ _ _ _ ____ _ " -ForegroundColor Cyan
41
+ Write-Host " / ___| / \ | \ | | \ | | __ ) ___ | |_ " -ForegroundColor Cyan
42
+ Write-Host " | | / _ \ | \| | \| | _ \ / _ \| __|" -ForegroundColor Cyan
43
+ Write-Host " | |___ / ___ \| |\ | |\ | |_) | (_) | |_ " -ForegroundColor Cyan
44
+ Write-Host " \____/_/ \_\_| \_|_| \_|____/ \___/ \__|" -ForegroundColor Cyan
45
+ Write-Host ""
46
+ Write-Host " CANNBot Install Helper" -ForegroundColor Cyan
47
+ Write-Host ""
48
+
49
+ # 1. Detect platform
50
+ $Arch = if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { "arm64" } else { "x64" }
51
+ $SubPkgName = "@cannbot-ai/install-helper-windows-$Arch"
52
+ $BinaryName = "install-helper.exe"
53
+
54
+ Write-Host " [OK] Platform: windows-$Arch" -ForegroundColor Green
55
+ Write-Host ""
56
+
57
+ # 2. Query version from npm registry (channel-specific)
58
+ Write-Host " Querying version ($Channel)..." -ForegroundColor Cyan
59
+
60
+ $Mirrors = @(
61
+ "https://registry.npmjs.org",
62
+ "https://registry.npmmirror.com"
63
+ )
64
+
65
+ $Version = $null
66
+ $Registry = $null
67
+ $Errors = @()
68
+
69
+ if ($Channel -eq "latest" -or $Channel -eq "beta") {
70
+ foreach ($url in $Mirrors) {
71
+ try {
72
+ $resp = Invoke-RestMethod "$url/$SubPkgName/$Channel" -TimeoutSec 15
73
+ if ($resp.version) {
74
+ $Version = $resp.version
75
+ $Registry = $url
76
+ }
77
+ } catch { $Errors += $_ }
78
+ if ($Version) {
79
+ break
80
+ }
81
+ }
82
+ } else {
83
+ $Version = $Channel
84
+ $Registry = $Mirrors[0]
85
+ }
86
+
87
+ if ($Version) {
88
+ Write-Host " [OK] Version: $Version ($Channel)" -ForegroundColor Green
89
+ }
90
+
91
+ if (-not $Version) {
92
+ Write-Host " [ERROR] Failed to query version from all registries" -ForegroundColor Red
93
+ if ($Errors.Count -gt 0) {
94
+ Write-Host " Errors:" -ForegroundColor Yellow
95
+ foreach ($err in $Errors) {
96
+ Write-Host " - $($err.Exception.Message)" -ForegroundColor Yellow
97
+ }
98
+ }
99
+ Write-Host ""
100
+ Write-Host " Alternative (requires Node.js 18+):"
101
+ Write-Host " npm install -g @cannbot-ai/install-helper"
102
+ return
103
+ }
104
+
105
+ # 3. Check if already installed and up-to-date
106
+ $InstallDir = Join-Path $env:USERPROFILE ".cannbot\bin"
107
+ $BinaryDest = Join-Path $InstallDir "install-helper.exe"
108
+ if (Test-Path $BinaryDest) {
109
+ try {
110
+ $prevEAP = $ErrorActionPreference
111
+ $ErrorActionPreference = "Continue"
112
+ $localVersion = (& $BinaryDest --version 2>$null)
113
+ $ErrorActionPreference = $prevEAP
114
+ if ($localVersion -and $localVersion.Trim() -eq $Version) {
115
+ Write-Host " [OK] Already up-to-date (v$Version)" -ForegroundColor Green
116
+ Write-Host ""
117
+ $UserPath = [Environment]::GetEnvironmentVariable("Path", "User")
118
+ if (-not $UserPath) {
119
+ [Environment]::SetEnvironmentVariable("Path", $InstallDir, "User")
120
+ } elseif ($UserPath -notlike "*$InstallDir*") {
121
+ [Environment]::SetEnvironmentVariable("Path", "$UserPath;$InstallDir", "User")
122
+ }
123
+ Write-Host " Launching install-helper..." -ForegroundColor Cyan
124
+ Write-Host ""
125
+ & $BinaryDest
126
+ return
127
+ }
128
+ if ($localVersion) {
129
+ Write-Host " [INFO] Updating: v$($localVersion.Trim()) -> v$Version" -ForegroundColor Yellow
130
+ }
131
+ } catch {}
132
+ }
133
+
134
+ # 4. Download tarball (with mirror fallback)
135
+ New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
136
+
137
+ $TarballName = "$($SubPkgName.Split('/')[1])-$Version.tgz"
138
+
139
+ Write-Host ""
140
+ Write-Host " Downloading $TarballName ..." -ForegroundColor Cyan
141
+
142
+ $TempFile = Join-Path $env:TEMP "ih-tarball.tgz"
143
+ $Downloaded = $false
144
+ $DownloadMirrors = @($Registry) + ($Mirrors | Where-Object { $_ -ne $Registry })
145
+ foreach ($url in $DownloadMirrors) {
146
+ $TarballUrl = "$url/$SubPkgName/-/$TarballName"
147
+ try {
148
+ Invoke-WebRequest $TarballUrl -OutFile $TempFile -TimeoutSec 300 -UseBasicParsing
149
+ $Downloaded = $true
150
+ Write-Host " [OK] Download complete" -ForegroundColor Green
151
+ break
152
+ } catch {
153
+ Write-Host " [WARN] Download from $url failed: $($_.Exception.Message)" -ForegroundColor Yellow
154
+ }
155
+ }
156
+
157
+ if (-not $Downloaded) {
158
+ Write-Host " [ERROR] Download failed from all mirrors" -ForegroundColor Red
159
+ Write-Host ""
160
+ Write-Host " Alternative (requires Node.js 18+):"
161
+ Write-Host " npm install -g @cannbot-ai/install-helper"
162
+ return
163
+ }
164
+
165
+ # 5. Extract
166
+ Write-Host " Installing v$Version..." -ForegroundColor Cyan
167
+
168
+ $TempExtract = Join-Path $env:TEMP "ih-extract-$(Get-Random)"
169
+ New-Item -ItemType Directory -Force -Path $TempExtract | Out-Null
170
+
171
+ try {
172
+ & tar xzf $TempFile -C $TempExtract 2>$null
173
+ if ($LASTEXITCODE -ne 0) {
174
+ throw "tar exit code $LASTEXITCODE"
175
+ }
176
+ } catch {
177
+ Write-Host " [ERROR] Extraction failed. tar not found or error." -ForegroundColor Red
178
+ Write-Host " Windows 10 1803+ includes tar. For older Windows, use npm install."
179
+ Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
180
+ Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
181
+ return
182
+ }
183
+
184
+ $BinarySrc = Join-Path $TempExtract "package\$BinaryName"
185
+
186
+ if (-not (Test-Path $BinarySrc)) {
187
+ Write-Host " [ERROR] Binary not found in tarball: $BinarySrc" -ForegroundColor Red
188
+ Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
189
+ Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
190
+ return
191
+ }
192
+
193
+ Copy-Item $BinarySrc $BinaryDest -Force
194
+ Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
195
+ Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
196
+
197
+ Write-Host " [OK] Installation successful!" -ForegroundColor Green
198
+ Write-Host ""
199
+
200
+ # 6. PATH
201
+ $UserPath = [Environment]::GetEnvironmentVariable("Path", "User")
202
+ if (-not $UserPath) {
203
+ [Environment]::SetEnvironmentVariable("Path", $InstallDir, "User")
204
+ Write-Host " [OK] Added to PATH (restart terminal to take effect)" -ForegroundColor Green
205
+ Write-Host ""
206
+ } elseif ($UserPath -notlike "*$InstallDir*") {
207
+ [Environment]::SetEnvironmentVariable("Path", "$UserPath;$InstallDir", "User")
208
+ Write-Host " [OK] Added to PATH (restart terminal to take effect)" -ForegroundColor Green
209
+ Write-Host ""
210
+ }
211
+
212
+ # 7. Verify binary and launch
213
+ try {
214
+ $null = & $BinaryDest --version 2>$null
215
+ Write-Host " Launching install-helper..." -ForegroundColor Cyan
216
+ Write-Host ""
217
+ & $BinaryDest
218
+ } catch {
219
+ Write-Host " [WARN] Binary failed to run" -ForegroundColor Yellow
220
+ Write-Host ""
221
+ Write-Host " Alternative (requires Node.js 18+):"
222
+ Write-Host " npm install -g @cannbot-ai/install-helper"
223
+ }
@@ -3,18 +3,16 @@
3
3
  "wizard_detect": "Detecting installed AI coding tools...",
4
4
  "wizard_select_tool": "Select AI coding tool",
5
5
  "wizard_select_level": "Select install level",
6
- "wizard_select_plugins": "Select scenarios to install",
6
+ "wizard_select_plugin": "Select a scenario to install",
7
7
  "wizard_confirm": "Confirm installation",
8
8
  "wizard_detected_tool": "Detected",
9
9
  "wizard_confirm_tool": "Confirm using",
10
10
  "wizard_last_used": "last used",
11
11
  "wizard_already_installed": "installed",
12
- "install_cloning": "Cloning cannbot-skills repository...",
13
12
  "install_repo_ready": "Repository ready",
14
13
  "install_progress": "Installing",
15
14
  "install_done": "Installation complete",
16
15
  "install_success": "success",
17
- "install_failed": "failed",
18
16
  "install_already_installed": "already installed",
19
17
  "install_reinstall_confirm": "Reinstall (overwrite)",
20
18
  "install_skip": "skipped",
@@ -24,7 +22,6 @@
24
22
  "install_enhanced_more": "More",
25
23
  "install_enhanced_check": "Check",
26
24
  "install_enhanced_docs": "Docs",
27
- "update_title": "Update installed Skills",
28
25
  "update_updating": "Updating",
29
26
  "update_done": "Update complete",
30
27
  "update_no_plugins": "No installed plugins",
@@ -34,11 +31,8 @@
34
31
  "doctor_links": "Link Integrity",
35
32
  "doctor_config": "Configuration",
36
33
  "doctor_result": "Result",
37
- "doctor_fix_title": "Auto-fix",
38
34
  "doctor_fix_cleaning": "Cleaning broken links",
39
35
  "doctor_fix_rebuilding": "Rebuilding directories",
40
- "doctor_fix_done": "Fix complete",
41
- "info_title": "Plugin Details",
42
36
  "info_description": "Description",
43
37
  "info_skills": "Skills",
44
38
  "info_agents": "Agents",
@@ -53,17 +47,20 @@
53
47
  "list_id": "#",
54
48
  "list_name": "Name",
55
49
  "list_status": "Status",
56
- "list_skills": "Skills",
57
- "list_agents": "Agents",
50
+ "list_description": "Description",
58
51
  "status_installed": "installed",
59
52
  "status_not_installed": "not installed",
60
53
  "error_tool_not_found": "No AI coding tool detected",
61
54
  "error_plugin_not_found": "Plugin not found",
62
- "error_repo_not_found": "Repository not found",
63
55
  "error_invalid_tool": "Unsupported AI tool: {tool}\nSupported tools: {tools}",
64
56
  "error_invalid_level": "Unsupported install level: {level}\nSupported levels: {levels}",
65
- "quick_start": "Launch command",
66
- "quick_start_hint": "Try: help me develop an Abs operator",
57
+ "error_skill_not_found": "Skill not found in registry",
58
+ "error_source_not_found": "Source not found: {path}",
59
+ "error_script_not_found": "Script not found: {path}",
60
+ "error_unknown": "Unknown error",
61
+ "error_not_installed": "Not installed",
62
+ "error_no_shell": "bash or sh not found, cannot execute install script. Please install Git Bash or WSL",
63
+ "error_symlink_windows": "Failed to create symlink, please run as administrator or enable Windows Developer Mode",
67
64
  "skill_select_category": "Select Skill category",
68
65
  "skill_select_items": "Select Skills to install (space to toggle, enter to confirm)",
69
66
  "skill_already_installed": "installed",
@@ -103,7 +100,7 @@
103
100
  "uninstall_no_record": "No install record found, may not be installed or record is corrupted",
104
101
  "uninstall_no_record_hint": "For manual cleanup, delete related files in .opencode/ or .claude/ directory",
105
102
  "uninstall_in_progress": "Uninstalling",
106
- "uninstall_removed": "Uninstalled",
103
+ "uninstall_summary_format": "{name} (removed {files} files, {dirs} directories)",
107
104
  "uninstall_files_gone": " files no longer exist, install record cleaned",
108
105
  "uninstall_skills_in_progress": "Uninstalling",
109
106
  "init_pkg_dir_warn": "Current directory appears to be the install-helper package directory",
@@ -123,11 +120,29 @@
123
120
  "backup_select_action": "Please select an action",
124
121
  "backup_restore_success": "Configuration restored",
125
122
  "backup_created": "Backup created",
123
+ "backup_failed": "Backup creation failed, installation aborted to protect existing config",
126
124
  "loading_skills_list": "Loading Skills list...",
127
125
  "loading_skills_list_complete": "Skills list loaded",
128
126
  "loading_plugin_data": "Loading plugin data...",
129
127
  "loading_plugin_data_complete": "Plugin data loaded",
130
128
  "loading_skills_list_failed": "Failed to load Skills list, using built-in data",
129
+ "repo_pull_failed": "Failed to pull latest updates, using cached data",
130
+ "repo_cloning": "First-time setup: cloning cannbot-skills repository...",
131
+ "config_corrupted": "Config file corrupted, using defaults",
132
+ "record_corrupted": "Install record corrupted: {file}",
133
+ "skill_record_corrupted": "Skill install record corrupted",
134
+ "plugin_yaml_error": "Plugin config parse error: {file}",
135
+ "record_write_failed": "Install record write failed, uninstall may not work properly",
136
+ "install_config_failed": "Failed to install config file: {error}",
137
+ "install_clone_failed": "git clone failed: {url}, clone manually: git clone {url} {dir}",
138
+ "install_link_config_failed": "Failed to link {name} to config directory",
139
+ "install_link_project_failed": "Failed to link {name} to project directory",
140
+ "install_link_workflows_failed": "Failed to link workflows to config directory",
141
+ "install_skill_source_not_found": "Skill source not found: {dir}",
142
+ "install_skill_not_found": "Skill not found: {name} in {dir}",
143
+ "install_skill_failed": "Failed to install skill: {name}",
144
+ "install_agent_not_found": "Agent not found: {name}",
145
+ "install_agent_failed": "Failed to install agent: {name}",
131
146
  "install_no_skill_selected": "No Skill selected",
132
147
  "install_to": "Install to",
133
148
  "start_to_use": "Start {tool} to use",
@@ -144,8 +159,6 @@
144
159
  "result_success_format": "{count} succeeded",
145
160
  "result_failed_format": "{count} failed",
146
161
  "uninstall_remove_label": "Removed",
147
- "uninstall_remove_file_format": "Removed {count} files",
148
- "uninstall_remove_dir_format": "{count} directories",
149
162
  "uninstall_clean_empty_dir": "Cleaned empty directory",
150
163
  "uninstall_skill_not_installed": "Not installed",
151
164
  "available_plugins": "Available plugins",
@@ -167,8 +180,8 @@
167
180
  "doctor_created": "Created {path}",
168
181
  "doctor_config_exists": "Exists",
169
182
  "doctor_config_not_exist": "Does not exist",
170
- "doctor_result_with_fix": "{warnings} warnings, {errors} errors, {fixes} fixed",
171
- "doctor_result_without_fix": "{warnings} warnings, {errors} errors",
183
+ "doctor_result_with_fix": "{warnings} warnings, {fixes} fixed",
184
+ "doctor_result_without_fix": "{warnings} warnings",
172
185
  "count_suffix": "",
173
186
  "try_prompt": "help me develop an Abs operator"
174
187
  }
@@ -3,18 +3,16 @@
3
3
  "wizard_detect": "正在检测已安装的 AI 编程工具...",
4
4
  "wizard_select_tool": "选择 AI 编程工具",
5
5
  "wizard_select_level": "选择安装位置",
6
- "wizard_select_plugins": "选择要安装的插件",
6
+ "wizard_select_plugin": "选择要安装的插件",
7
7
  "wizard_confirm": "确认安装",
8
8
  "wizard_detected_tool": "检测到",
9
9
  "wizard_confirm_tool": "使用",
10
10
  "wizard_last_used": "上次使用",
11
11
  "wizard_already_installed": "已安装",
12
- "install_cloning": "正在克隆 cannbot-skills 仓库...",
13
12
  "install_repo_ready": "仓库就绪",
14
13
  "install_progress": "正在安装",
15
14
  "install_done": "安装完成",
16
15
  "install_success": "成功",
17
- "install_failed": "失败",
18
16
  "install_already_installed": "已安装",
19
17
  "install_reinstall_confirm": "是否重新安装(覆盖)",
20
18
  "install_skip": "跳过",
@@ -24,7 +22,6 @@
24
22
  "install_enhanced_more": "更多",
25
23
  "install_enhanced_check": "检查",
26
24
  "install_enhanced_docs": "文档",
27
- "update_title": "更新已安装的 Skills",
28
25
  "update_updating": "正在更新",
29
26
  "update_done": "更新完成",
30
27
  "update_no_plugins": "暂无已安装的插件",
@@ -34,11 +31,8 @@
34
31
  "doctor_links": "链接完整性",
35
32
  "doctor_config": "配置文件",
36
33
  "doctor_result": "结果",
37
- "doctor_fix_title": "自动修复",
38
34
  "doctor_fix_cleaning": "清理失效链接",
39
35
  "doctor_fix_rebuilding": "重建目录",
40
- "doctor_fix_done": "修复完成",
41
- "info_title": "插件详情",
42
36
  "info_description": "描述",
43
37
  "info_skills": "Skills",
44
38
  "info_agents": "Agents",
@@ -53,17 +47,20 @@
53
47
  "list_id": "序号",
54
48
  "list_name": "场景名",
55
49
  "list_status": "状态",
56
- "list_skills": "Skills",
57
- "list_agents": "Agents",
50
+ "list_description": "描述",
58
51
  "status_installed": "已装",
59
52
  "status_not_installed": "未装",
60
53
  "error_tool_not_found": "未检测到任何 AI 编程工具",
61
54
  "error_plugin_not_found": "未找到插件",
62
- "error_repo_not_found": "仓库未找到",
63
55
  "error_invalid_tool": "暂不支持的 AI 工具: {tool}\n支持的工具: {tools}",
64
56
  "error_invalid_level": "暂不支持的安装级别: {level}\n支持的级别: {levels}",
65
- "quick_start": "启动命令",
66
- "quick_start_hint": "试试输入: 帮我开发一个 Abs 算子",
57
+ "error_skill_not_found": "未在注册表中找到 Skill",
58
+ "error_source_not_found": "未找到源文件: {path}",
59
+ "error_script_not_found": "未找到安装脚本: {path}",
60
+ "error_unknown": "未知错误",
61
+ "error_not_installed": "未安装",
62
+ "error_no_shell": "未找到 bash 或 sh,无法执行安装脚本。请安装 Git Bash 或 WSL",
63
+ "error_symlink_windows": "创建符号链接失败,请以管理员身份运行或开启 Windows 开发者模式",
67
64
  "skill_select_category": "选择 Skill 类别",
68
65
  "skill_select_items": "选择要安装的 Skills",
69
66
  "skill_already_installed": "已安装",
@@ -103,7 +100,7 @@
103
100
  "uninstall_no_record": "未找到安装记录,可能未安装或安装记录已损坏",
104
101
  "uninstall_no_record_hint": "如需强制清理,请手动删除 .opencode/ 或 .claude/ 目录中的相关文件",
105
102
  "uninstall_in_progress": "正在卸载",
106
- "uninstall_removed": "已卸载",
103
+ "uninstall_summary_format": "{name}(移除 {files} 个文件,{dirs} 个目录)",
107
104
  "uninstall_files_gone": "的文件已不存在,已清理安装记录",
108
105
  "uninstall_skills_in_progress": "正在卸载",
109
106
  "init_pkg_dir_warn": "当前目录看起来是 install-helper 包目录",
@@ -123,11 +120,29 @@
123
120
  "backup_select_action": "请选择操作",
124
121
  "backup_restore_success": "已恢复配置",
125
122
  "backup_created": "已创建备份",
123
+ "backup_failed": "备份创建失败,安装已中止以保护现有配置",
126
124
  "loading_skills_list": "正在加载 Skills 列表...",
127
125
  "loading_skills_list_complete": "Skills 列表加载完成",
128
126
  "loading_plugin_data": "正在加载插件数据...",
129
127
  "loading_plugin_data_complete": "插件数据加载完成",
130
128
  "loading_skills_list_failed": "Skills 列表加载失败,将使用内置数据",
129
+ "repo_pull_failed": "无法拉取最新内容,使用缓存数据",
130
+ "repo_cloning": "首次使用,正在克隆 cannbot-skills 仓库...",
131
+ "config_corrupted": "配置文件已损坏,使用默认配置",
132
+ "record_corrupted": "安装记录已损坏:{file}",
133
+ "skill_record_corrupted": "Skill 安装记录已损坏",
134
+ "plugin_yaml_error": "插件配置解析失败:{file}",
135
+ "record_write_failed": "安装记录写入失败,卸载时可能无法自动清理",
136
+ "install_config_failed": "配置文件安装失败: {error}",
137
+ "install_clone_failed": "git clone 失败: {url},请手动克隆: git clone {url} {dir}",
138
+ "install_link_config_failed": "链接 {name} 到配置目录失败",
139
+ "install_link_project_failed": "链接 {name} 到项目目录失败",
140
+ "install_link_workflows_failed": "链接 workflows 到配置目录失败",
141
+ "install_skill_source_not_found": "Skill 源目录未找到: {dir}",
142
+ "install_skill_not_found": "Skill 未找到: {name} (在 {dir})",
143
+ "install_skill_failed": "Skill 安装失败: {name}",
144
+ "install_agent_not_found": "Agent 未找到: {name}",
145
+ "install_agent_failed": "Agent 安装失败: {name}",
131
146
  "install_no_skill_selected": "未选择任何 Skill",
132
147
  "install_to": "安装到",
133
148
  "start_to_use": "启动 {tool} 即可使用",
@@ -144,8 +159,6 @@
144
159
  "result_success_format": "{count} 成功",
145
160
  "result_failed_format": "{count} 失败",
146
161
  "uninstall_remove_label": "移除",
147
- "uninstall_remove_file_format": "移除 {count} 个文件",
148
- "uninstall_remove_dir_format": "{count} 个目录",
149
162
  "uninstall_clean_empty_dir": "清理空目录",
150
163
  "uninstall_skill_not_installed": "未安装",
151
164
  "available_plugins": "可用插件",
@@ -167,8 +180,8 @@
167
180
  "doctor_created": "已创建 {path}",
168
181
  "doctor_config_exists": "存在",
169
182
  "doctor_config_not_exist": "不存在",
170
- "doctor_result_with_fix": "{warnings} 个警告, {errors} 个错误, {fixes} 项已修复",
171
- "doctor_result_without_fix": "{warnings} 个警告, {errors} 个错误",
183
+ "doctor_result_with_fix": "{warnings} 个警告, {fixes} 项已修复",
184
+ "doctor_result_without_fix": "{warnings} 个警告",
172
185
  "count_suffix": "个",
173
186
  "try_prompt": "帮我开发一个 Abs 算子"
174
187
  }
@@ -2,6 +2,17 @@ id: catlass-op-generator
2
2
  dir: plugins-official/catlass-op-generator
3
3
  displayName: Catlass 算子直调
4
4
  aliases: [catlass]
5
- skills: 10
5
+ skills: 14
6
6
  agents: 3
7
7
  description: Catlass 模板拼装 GEMM/Matmul/Epilogue 算子开发
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: true
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [catlass-op-design, catlass-op-develop, catlass-op-perf-tune, ascendc-tiling-design, npu-arch, ascendc-api-best-practices, ops-precision-standard, ascendc-docs-search, ascendc-env-check, ascendc-precision-debug, ops-profiling, ascendc-runtime-debug, ascendc-code-review, torch-ascendc-op-extension]
14
+ installAgents: [catlass-op-architect, catlass-op-generator, catlass-op-reviewer]
15
+ externalRepos:
16
+ - url: https://gitcode.com/cann/asc-devkit.git
17
+ dir: plugins-official/catlass-op-generator/asc-devkit
18
+ configRootLink: false
@@ -2,6 +2,18 @@ id: model-infer-optimize
2
2
  dir: plugins-official/model-infer-optimize
3
3
  displayName: NPU 推理优化
4
4
  aliases: [model-infer, infer, inference]
5
- skills: 11
5
+ skills: 12
6
6
  agents: 3
7
7
  description: NPU 模型推理端到端优化(并行/KVCache/融合/量化/图模式/多流/SuperKernel)
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: true
11
+ installSkills:
12
+ - dir: model
13
+ skills: [model-infer-migrator, model-infer-parallel-analysis, model-infer-parallel-impl, model-infer-kvcache, model-infer-fusion, model-infer-quantization, model-infer-graph-mode, model-infer-precision-debug, model-infer-runtime-debug, model-infer-multi-stream, model-infer-prefetch, model-infer-superkernel]
14
+ installAgents: [model-infer-analyzer, model-infer-implementer, model-infer-reviewer]
15
+ externalRepos:
16
+ - url: https://gitcode.com/cann/cann-recipes-infer.git
17
+ dir: plugins-official/model-infer-optimize/cann-recipes-infer
18
+ depth: 1
19
+ configRootLink: true
@@ -3,5 +3,12 @@ dir: plugins-official/ops-code-reviewer
3
3
  displayName: 代码检视
4
4
  aliases: [code-review, reviewer, review]
5
5
  skills: 5
6
- agents: 1
6
+ agents: 2
7
7
  description: Ascend C 算子代码 4 阶段全量检视(主 Agent 编排 + 子 Agent 并行检视)
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: false
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [ascendc-code-review, ascendc-docs-search, ascendc-task-focus, ascendc-api-best-practices, npu-arch]
14
+ installAgents: [ascendc-code-summarizer, ascendc-ops-reviewer]
@@ -2,6 +2,17 @@ id: ops-direct-invoke-flash
2
2
  dir: plugins-official/ops-direct-invoke-flash
3
3
  displayName: AscendC Kernel 直调(快速版)
4
4
  aliases: [flash, kernel-flash]
5
- skills: 1
5
+ skills: 7
6
6
  agents: 1
7
7
  description: 从数学公式或代码片段快速构建并验证 Ascend NPU 核函数
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: true
11
+ installSkills:
12
+ - dir: plugins-official/ops-direct-invoke-flash/skills
13
+ skills: [ops-direct-invoke-flash]
14
+ - dir: ops
15
+ skills: [ascendc-st-design, ascendc-whitebox-design]
16
+ - dir: infra
17
+ skills: [gitcode-toolkit, gitcode-pr-handler, gitcode-issue-gen, gitcode-issue-handler]
18
+ installAgents: [ops-direct-invoke-flash-reviewer]
@@ -2,6 +2,19 @@ id: ops-direct-invoke
2
2
  dir: plugins-official/ops-direct-invoke
3
3
  displayName: AscendC Kernel 直调
4
4
  aliases: [ops-direct, ascendc-direct, direct, kernel]
5
- skills: 16
6
- agents: 3
7
- description: <<<>>> 直调全流程:环境→设计→开发→审查→性能验收
5
+ skills: 19
6
+ agents: 4
7
+ description: Ascend C 直调全流程:环境→设计→开发→审查→性能验收
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: false
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [ascendc-tiling-design, npu-arch, ascendc-api-best-practices, ascendc-regbase-best-practice, ascendc-blaze-best-practice, ops-precision-standard, ascendc-docs-search, ascendc-env-check, ascendc-precision-debug, ops-profiling, ascendc-direct-invoke-template, torch-ascendc-op-extension, ascendc-runtime-debug, ascendc-crash-debug, ascendc-code-review]
14
+ - dir: infra
15
+ skills: [gitcode-toolkit, gitcode-pr-handler, gitcode-issue-gen, gitcode-issue-handler]
16
+ installAgents: [ascendc-kernel-architect, ascendc-kernel-design-reviewer, ascendc-kernel-developer, ascendc-kernel-reviewer]
17
+ externalRepos:
18
+ - url: https://gitcode.com/cann/asc-devkit.git
19
+ dir: plugins-official/ops-direct-invoke/asc-devkit
20
+ configRootLink: false
@@ -2,6 +2,23 @@ id: ops-registry-invoke
2
2
  dir: plugins-official/ops-registry-invoke
3
3
  displayName: AscendC 算子注册调用
4
4
  aliases: [ops-registry, ascendc-registry, registry]
5
- skills: 12
6
- agents: 4
5
+ skills: 26
6
+ agents: 3
7
7
  description: 生产级 ACLNN 注册算子全流程:代码→UT/ST→上库
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: false
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [ascendc-blaze-best-practice, ascendc-api-best-practices, ascendc-code-review, ascendc-crash-debug, ascendc-direct-invoke-template, ascendc-docs-gen, ascendc-docs-search, ascendc-env-check, npu-arch, ascendc-performance-best-practices, ascendc-precision-debug, ascendc-regbase-best-practice, ascendc-registry-invoke-template, ascendc-runtime-debug, ascendc-st-design, ascendc-tiling-design, ascendc-ut-develop, ascendc-whitebox-design, ops-precision-standard, ops-profiling, ops-spec-gen]
14
+ - dir: infra
15
+ skills: [gitcode-toolkit, gitcode-pr-handler, gitcode-issue-gen, gitcode-issue-handler]
16
+ - dir: plugins-official/ops-registry-invoke
17
+ skills:
18
+ - name: workflow
19
+ as: ops-registry-invoke-workflow
20
+ installAgents: [ascendc-ops-architect, ascendc-ops-developer, ascendc-ops-tester]
21
+ externalRepos:
22
+ - url: https://gitcode.com/cann/asc-devkit.git
23
+ dir: plugins-official/ops-registry-invoke/asc-devkit
24
+ configRootLink: false
@@ -5,3 +5,14 @@ aliases: [pypto, pytorch]
5
5
  skills: 8
6
6
  agents: 3
7
7
  description: PyPTO Python API 算子全流程开发,覆盖需求理解、API 探索、实现与调优
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: false
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [pypto-intent-understand, pypto-api-explore, pypto-op-design, pypto-op-develop, pypto-precision-debug, pypto-precision-compare, pypto-op-perf-tune, pypto-golden-generate]
14
+ installAgents: [pypto-op-analyst, pypto-op-developer, pypto-op-perf-tuner]
15
+ externalRepos:
16
+ - url: https://gitcode.com/cann/pypto.git
17
+ dir: plugins-official/pypto-op-orchestrator/pypto
18
+ configRootLink: false
@@ -5,3 +5,16 @@ aliases: [tilelang]
5
5
  skills: 9
6
6
  agents: 3
7
7
  description: TileLang Python DSL + @tilelang.jit 算子开发(支持 Developer/Expert 双模式)
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: false
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [tilelang-api-best-practices, tilelang-env-check, tilelang-op-design, tilelang-op-develop, tilelang-op-test-design, tilelang-perf-optimization, tilelang-programming-model-guide, tilelang-review, tilelang-submodule-pull]
14
+ installAgents: [tilelang-op-analyst, tilelang-op-developer, tilelang-op-perf-tuner]
15
+ externalRepos:
16
+ - url: https://github.com/tile-ai/tilelang-ascend.git
17
+ dir: plugins-official/tilelang-op-orchestrator/tilelang-ascend
18
+ depth: 1
19
+ recursive: true
20
+ configRootLink: false
@@ -5,3 +5,10 @@ aliases: [torch, compile, graph]
5
5
  skills: 6
6
6
  agents: 1
7
7
  description: NPU 图模式 npugraph_ex 配置、脚本迁移、编译诊断与自定义算子入图
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: true
11
+ installSkills:
12
+ - dir: graph
13
+ skills: [torch-npugraph-ex-knowledge, torch-npugraph-ex-template, torch-npugraph-ex-dfx-triage, torch-npugraph-ex-compile-error-diagnosis, torch-npugraph-ex-runtime-error-diagnosis, torch-custom-ops-guide]
14
+ installAgents: [torch-npugraph-ex]
@@ -3,5 +3,12 @@ dir: plugins-official/triton-op-generator
3
3
  displayName: Triton 算子开发
4
4
  aliases: [triton]
5
5
  skills: 6
6
- agents: 1
6
+ agents: 0
7
7
  description: Triton-Ascend 算子 6 阶段自动生成与优化(描述→代码→验证→优化)
8
+ version: "1.2.2"
9
+ configFile: AGENTS.md
10
+ configRootConfigLink: false
11
+ installSkills:
12
+ - dir: ops
13
+ skills: [triton-task-extractor, triton-op-designer, triton-op-coding, triton-op-verifier, triton-latency-optimizer, npu-arch]
14
+ installAgents: []