@cannbot-ai/install-helper 1.0.7 → 1.1.2
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.
- package/README.md +37 -191
- package/bin/install-helper.js +59 -0
- package/bin/package.json +3 -0
- package/dist/config/repository.yaml +3 -0
- package/dist/index.js +1831 -482
- package/dist/index.js.map +1 -1
- package/dist/install.ps1 +232 -0
- package/dist/locales/en_US.json +30 -17
- package/dist/locales/zh_CN.json +30 -17
- package/dist/plugins.d/catlass-op-generator.yml +11 -0
- package/dist/plugins.d/model-infer-optimize.yml +12 -0
- package/dist/plugins.d/ops-code-reviewer.yml +7 -0
- package/dist/plugins.d/ops-direct-invoke-flash.yml +11 -0
- package/dist/plugins.d/ops-direct-invoke.yml +14 -1
- package/dist/plugins.d/ops-registry-invoke.yml +17 -0
- package/dist/plugins.d/pypto-op-orchestrator.yml +11 -0
- package/dist/plugins.d/tilelang-op-orchestrator.yml +13 -0
- package/dist/plugins.d/torch-compile.yml +7 -0
- package/dist/plugins.d/triton-op-generator.yml +7 -1
- package/package.json +17 -6
package/dist/install.ps1
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
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
|
+
$ErrorActionPreference = "Stop"
|
|
17
|
+
$ProgressPreference = "SilentlyContinue"
|
|
18
|
+
|
|
19
|
+
function Compare-SemVer($a, $b) {
|
|
20
|
+
$aParts = $a -split '-',2
|
|
21
|
+
$bParts = $b -split '-',2
|
|
22
|
+
try { $aVer = [version]$aParts[0] } catch { return $false }
|
|
23
|
+
try { $bVer = [version]$bParts[0] } catch { return $false }
|
|
24
|
+
if ($aVer -ne $bVer) { return $aVer -gt $bVer }
|
|
25
|
+
if ($aParts.Length -eq 1 -and $bParts.Length -eq 1) { return $false }
|
|
26
|
+
if ($aParts.Length -eq 1) { return $true }
|
|
27
|
+
if ($bParts.Length -eq 1) { return $false }
|
|
28
|
+
return "$($aParts[1])" -gt "$($bParts[1])"
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
Write-Host ""
|
|
32
|
+
Write-Host " ____ _ _ _ _ _ ____ _ " -ForegroundColor Cyan
|
|
33
|
+
Write-Host " / ___| / \ | \ | | \ | | __ ) ___ | |_ " -ForegroundColor Cyan
|
|
34
|
+
Write-Host " | | / _ \ | \| | \| | _ \ / _ \| __|" -ForegroundColor Cyan
|
|
35
|
+
Write-Host " | |___ / ___ \| |\ | |\ | |_) | (_) | |_ " -ForegroundColor Cyan
|
|
36
|
+
Write-Host " \____/_/ \_\_| \_|_| \_|____/ \___/ \__|" -ForegroundColor Cyan
|
|
37
|
+
Write-Host ""
|
|
38
|
+
Write-Host " CANNBot Install Helper" -ForegroundColor Cyan
|
|
39
|
+
Write-Host ""
|
|
40
|
+
|
|
41
|
+
# 1. Path A: If Node.js 18+ is available, use npm install
|
|
42
|
+
$hasNode = $false
|
|
43
|
+
try {
|
|
44
|
+
$nodeVersion = & node --version 2>$null
|
|
45
|
+
if ($nodeVersion) {
|
|
46
|
+
$majorVersion = [int]($nodeVersion -replace '^v', '' -replace '\..*', '')
|
|
47
|
+
if ($majorVersion -ge 18) {
|
|
48
|
+
$hasNode = $true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} catch {}
|
|
52
|
+
|
|
53
|
+
if ($hasNode) {
|
|
54
|
+
Write-Host " [OK] Node.js $nodeVersion" -ForegroundColor Green
|
|
55
|
+
Write-Host ""
|
|
56
|
+
|
|
57
|
+
# Check if already installed
|
|
58
|
+
try {
|
|
59
|
+
$installedVersion = & install-helper --version 2>$null
|
|
60
|
+
if ($installedVersion) {
|
|
61
|
+
Write-Host " [OK] 检测到已安装 install-helper (版本: $installedVersion)" -ForegroundColor Yellow
|
|
62
|
+
}
|
|
63
|
+
} catch {}
|
|
64
|
+
|
|
65
|
+
Write-Host " 正在安装 @cannbot-ai/install-helper..." -ForegroundColor Cyan
|
|
66
|
+
Write-Host ""
|
|
67
|
+
|
|
68
|
+
& npm install -g @cannbot-ai/install-helper 2>&1
|
|
69
|
+
if ($LASTEXITCODE -eq 0) {
|
|
70
|
+
Write-Host ""
|
|
71
|
+
Write-Host " [OK] 安装成功!" -ForegroundColor Green
|
|
72
|
+
Write-Host ""
|
|
73
|
+
Write-Host " 请运行: install-helper" -ForegroundColor Cyan
|
|
74
|
+
exit 0
|
|
75
|
+
} else {
|
|
76
|
+
Write-Host ""
|
|
77
|
+
Write-Host " [ERROR] npm 安装失败" -ForegroundColor Red
|
|
78
|
+
Write-Host ""
|
|
79
|
+
Write-Host " 请尝试以管理员权限运行:"
|
|
80
|
+
Write-Host " npm install -g @cannbot-ai/install-helper"
|
|
81
|
+
exit 1
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
# 2. Path B: No Node.js — download prebuilt binary
|
|
86
|
+
|
|
87
|
+
# Detect platform
|
|
88
|
+
$Arch = if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { "arm64" } else { "x64" }
|
|
89
|
+
$SubPkgName = "@cannbot-ai/install-helper-windows-$Arch"
|
|
90
|
+
$BinaryName = "install-helper.exe"
|
|
91
|
+
|
|
92
|
+
Write-Host " [OK] Platform: windows-$Arch" -ForegroundColor Green
|
|
93
|
+
Write-Host ""
|
|
94
|
+
|
|
95
|
+
# 2. Query latest version from npm registry
|
|
96
|
+
Write-Host " Querying latest version..." -ForegroundColor Cyan
|
|
97
|
+
|
|
98
|
+
$Mirrors = @(
|
|
99
|
+
"https://registry.npmjs.org",
|
|
100
|
+
"https://registry.npmmirror.com"
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
$Version = $null
|
|
104
|
+
$Registry = $null
|
|
105
|
+
$Errors = @()
|
|
106
|
+
foreach ($url in $Mirrors) {
|
|
107
|
+
foreach ($tag in @("beta", "latest")) {
|
|
108
|
+
try {
|
|
109
|
+
$resp = Invoke-RestMethod "$url/$SubPkgName/$tag" -TimeoutSec 15
|
|
110
|
+
if ($resp.version) {
|
|
111
|
+
if (-not $Version) {
|
|
112
|
+
$Version = $resp.version
|
|
113
|
+
$Registry = $url
|
|
114
|
+
} elseif (Compare-SemVer $resp.version $Version) {
|
|
115
|
+
$Version = $resp.version
|
|
116
|
+
$Registry = $url
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
} catch { $Errors += $_ }
|
|
120
|
+
}
|
|
121
|
+
if ($Version) {
|
|
122
|
+
Write-Host " [OK] Version: $Version (from $Registry)" -ForegroundColor Green
|
|
123
|
+
break
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (-not $Version) {
|
|
128
|
+
Write-Host " [ERROR] Failed to query version from all registries" -ForegroundColor Red
|
|
129
|
+
if ($Errors.Count -gt 0) {
|
|
130
|
+
Write-Host " Errors:" -ForegroundColor Yellow
|
|
131
|
+
foreach ($err in $Errors) {
|
|
132
|
+
Write-Host " - $($err.Exception.Message)" -ForegroundColor Yellow
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
Write-Host ""
|
|
136
|
+
Write-Host " Alternative (requires Node.js 18+):"
|
|
137
|
+
Write-Host " npm install -g @cannbot-ai/install-helper"
|
|
138
|
+
exit 1
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
# 3. Download tarball (with mirror fallback)
|
|
142
|
+
$InstallDir = Join-Path $env:USERPROFILE ".cannbot\bin"
|
|
143
|
+
New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
|
|
144
|
+
|
|
145
|
+
$TarballName = "$($SubPkgName.Split('/')[1])-$Version.tgz"
|
|
146
|
+
|
|
147
|
+
Write-Host ""
|
|
148
|
+
Write-Host " Downloading $TarballName ..." -ForegroundColor Cyan
|
|
149
|
+
|
|
150
|
+
$TempFile = Join-Path $env:TEMP "ih-tarball.tgz"
|
|
151
|
+
$Downloaded = $false
|
|
152
|
+
$DownloadMirrors = @($Registry) + ($Mirrors | Where-Object { $_ -ne $Registry })
|
|
153
|
+
foreach ($url in $DownloadMirrors) {
|
|
154
|
+
$TarballUrl = "$url/$SubPkgName/-/$TarballName"
|
|
155
|
+
try {
|
|
156
|
+
Invoke-WebRequest $TarballUrl -OutFile $TempFile -TimeoutSec 300 -UseBasicParsing
|
|
157
|
+
$Downloaded = $true
|
|
158
|
+
Write-Host " [OK] Download complete" -ForegroundColor Green
|
|
159
|
+
break
|
|
160
|
+
} catch {
|
|
161
|
+
Write-Host " [WARN] Download from $url failed: $($_.Exception.Message)" -ForegroundColor Yellow
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (-not $Downloaded) {
|
|
166
|
+
Write-Host " [ERROR] Download failed from all mirrors" -ForegroundColor Red
|
|
167
|
+
Write-Host ""
|
|
168
|
+
Write-Host " Alternative (requires Node.js 18+):"
|
|
169
|
+
Write-Host " npm install -g @cannbot-ai/install-helper"
|
|
170
|
+
exit 1
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
# 4. Extract
|
|
174
|
+
Write-Host " Installing..." -ForegroundColor Cyan
|
|
175
|
+
|
|
176
|
+
$TempExtract = Join-Path $env:TEMP "ih-extract-$(Get-Random)"
|
|
177
|
+
New-Item -ItemType Directory -Force -Path $TempExtract | Out-Null
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
& tar xzf $TempFile -C $TempExtract 2>&1 | Out-Null
|
|
181
|
+
if ($LASTEXITCODE -ne 0) {
|
|
182
|
+
throw "tar exit code $LASTEXITCODE"
|
|
183
|
+
}
|
|
184
|
+
} catch {
|
|
185
|
+
Write-Host " [ERROR] Extraction failed. tar not found or error." -ForegroundColor Red
|
|
186
|
+
Write-Host " Windows 10 1803+ includes tar. For older Windows, use npm install."
|
|
187
|
+
Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
|
|
188
|
+
Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
|
|
189
|
+
exit 1
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
$BinarySrc = Join-Path $TempExtract "package\$BinaryName"
|
|
193
|
+
$BinaryDest = Join-Path $InstallDir "install-helper.exe"
|
|
194
|
+
|
|
195
|
+
if (-not (Test-Path $BinarySrc)) {
|
|
196
|
+
Write-Host " [ERROR] Binary not found in tarball: $BinarySrc" -ForegroundColor Red
|
|
197
|
+
Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
|
|
198
|
+
Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
|
|
199
|
+
exit 1
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
Copy-Item $BinarySrc $BinaryDest -Force
|
|
203
|
+
Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
|
|
204
|
+
Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
|
|
205
|
+
|
|
206
|
+
Write-Host " [OK] Installation successful!" -ForegroundColor Green
|
|
207
|
+
Write-Host ""
|
|
208
|
+
|
|
209
|
+
# 5. PATH
|
|
210
|
+
$UserPath = [Environment]::GetEnvironmentVariable("Path", "User")
|
|
211
|
+
if (-not $UserPath) {
|
|
212
|
+
[Environment]::SetEnvironmentVariable("Path", $InstallDir, "User")
|
|
213
|
+
Write-Host " [OK] Added to PATH (restart terminal to take effect)" -ForegroundColor Green
|
|
214
|
+
Write-Host ""
|
|
215
|
+
} elseif ($UserPath -notlike "*$InstallDir*") {
|
|
216
|
+
[Environment]::SetEnvironmentVariable("Path", "$UserPath;$InstallDir", "User")
|
|
217
|
+
Write-Host " [OK] Added to PATH (restart terminal to take effect)" -ForegroundColor Green
|
|
218
|
+
Write-Host ""
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
# 6. Verify binary and launch
|
|
222
|
+
try {
|
|
223
|
+
$null = & $BinaryDest --version 2>&1
|
|
224
|
+
Write-Host " Launching install-helper..." -ForegroundColor Cyan
|
|
225
|
+
Write-Host ""
|
|
226
|
+
& $BinaryDest
|
|
227
|
+
} catch {
|
|
228
|
+
Write-Host " [WARN] Binary failed to run" -ForegroundColor Yellow
|
|
229
|
+
Write-Host ""
|
|
230
|
+
Write-Host " Alternative (requires Node.js 18+):"
|
|
231
|
+
Write-Host " npm install -g @cannbot-ai/install-helper"
|
|
232
|
+
}
|
package/dist/locales/en_US.json
CHANGED
|
@@ -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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
66
|
-
"
|
|
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
|
-
"
|
|
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, {
|
|
171
|
-
"doctor_result_without_fix": "{warnings} warnings
|
|
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
|
}
|
package/dist/locales/zh_CN.json
CHANGED
|
@@ -3,18 +3,16 @@
|
|
|
3
3
|
"wizard_detect": "正在检测已安装的 AI 编程工具...",
|
|
4
4
|
"wizard_select_tool": "选择 AI 编程工具",
|
|
5
5
|
"wizard_select_level": "选择安装位置",
|
|
6
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
66
|
-
"
|
|
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
|
-
"
|
|
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} 个警告, {
|
|
171
|
-
"doctor_result_without_fix": "{warnings}
|
|
183
|
+
"doctor_result_with_fix": "{warnings} 个警告, {fixes} 项已修复",
|
|
184
|
+
"doctor_result_without_fix": "{warnings} 个警告",
|
|
172
185
|
"count_suffix": "个",
|
|
173
186
|
"try_prompt": "帮我开发一个 Abs 算子"
|
|
174
187
|
}
|
|
@@ -5,3 +5,14 @@ aliases: [catlass]
|
|
|
5
5
|
skills: 10
|
|
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
|
|
@@ -5,3 +5,15 @@ aliases: [model-infer, infer, inference]
|
|
|
5
5
|
skills: 11
|
|
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
|
|
@@ -5,3 +5,10 @@ aliases: [code-review, reviewer, review]
|
|
|
5
5
|
skills: 5
|
|
6
6
|
agents: 1
|
|
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]
|
|
@@ -5,3 +5,14 @@ aliases: [flash, kernel-flash]
|
|
|
5
5
|
skills: 1
|
|
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]
|
|
@@ -4,4 +4,17 @@ displayName: AscendC Kernel 直调
|
|
|
4
4
|
aliases: [ops-direct, ascendc-direct, direct, kernel]
|
|
5
5
|
skills: 16
|
|
6
6
|
agents: 3
|
|
7
|
-
description:
|
|
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
|
|
@@ -5,3 +5,20 @@ aliases: [ops-registry, ascendc-registry, registry]
|
|
|
5
5
|
skills: 12
|
|
6
6
|
agents: 4
|
|
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]
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
id: triton-op-generator
|
|
2
2
|
dir: plugins-official/triton-op-generator
|
|
3
3
|
displayName: Triton 算子开发
|
|
4
|
-
script: install.sh
|
|
5
4
|
aliases: [triton]
|
|
6
5
|
skills: 6
|
|
7
6
|
agents: 1
|
|
8
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: []
|