@cannbot-ai/install-helper 0.0.2-beta.7 → 0.0.2-beta.71

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,241 @@
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
+ trap {
20
+ Write-Host ""
21
+ Write-Host " [ERROR] $_" -ForegroundColor Red
22
+ Write-Host ""
23
+ Write-Host " Press Enter to exit..."
24
+ Read-Host
25
+ exit 1
26
+ }
27
+
28
+ function Compare-SemVer($a, $b) {
29
+ $aParts = $a -split '-',2
30
+ $bParts = $b -split '-',2
31
+ try { $aVer = [version]$aParts[0] } catch { return $false }
32
+ try { $bVer = [version]$bParts[0] } catch { return $false }
33
+ if ($aVer -ne $bVer) { return $aVer -gt $bVer }
34
+ if ($aParts.Length -eq 1 -and $bParts.Length -eq 1) { return $false }
35
+ if ($aParts.Length -eq 1) { return $true }
36
+ if ($bParts.Length -eq 1) { return $false }
37
+ return "$($aParts[1])" -gt "$($bParts[1])"
38
+ }
39
+
40
+ Write-Host ""
41
+ Write-Host " ____ _ _ _ _ _ ____ _ " -ForegroundColor Cyan
42
+ Write-Host " / ___| / \ | \ | | \ | | __ ) ___ | |_ " -ForegroundColor Cyan
43
+ Write-Host " | | / _ \ | \| | \| | _ \ / _ \| __|" -ForegroundColor Cyan
44
+ Write-Host " | |___ / ___ \| |\ | |\ | |_) | (_) | |_ " -ForegroundColor Cyan
45
+ Write-Host " \____/_/ \_\_| \_|_| \_|____/ \___/ \__|" -ForegroundColor Cyan
46
+ Write-Host ""
47
+ Write-Host " CANNBot Install Helper" -ForegroundColor Cyan
48
+ Write-Host ""
49
+
50
+ # 1. Path A: If Node.js 18+ is available, use npm install
51
+ $hasNode = $false
52
+ try {
53
+ $nodeVersion = & node --version 2>$null
54
+ if ($nodeVersion) {
55
+ $majorVersion = [int]($nodeVersion -replace '^v', '' -replace '\..*', '')
56
+ if ($majorVersion -ge 18) {
57
+ $hasNode = $true
58
+ }
59
+ }
60
+ } catch {}
61
+
62
+ if ($hasNode) {
63
+ Write-Host " [OK] Node.js $nodeVersion" -ForegroundColor Green
64
+ Write-Host ""
65
+
66
+ # Check if already installed
67
+ try {
68
+ $installedVersion = & install-helper --version 2>$null
69
+ if ($installedVersion) {
70
+ Write-Host " [OK] 检测到已安装 install-helper (版本: $installedVersion)" -ForegroundColor Yellow
71
+ }
72
+ } catch {}
73
+
74
+ Write-Host " 正在安装 @cannbot-ai/install-helper..." -ForegroundColor Cyan
75
+ Write-Host ""
76
+
77
+ & npm.cmd install -g @cannbot-ai/install-helper 2>&1
78
+ if ($LASTEXITCODE -eq 0) {
79
+ Write-Host ""
80
+ Write-Host " [OK] 安装成功!" -ForegroundColor Green
81
+ Write-Host ""
82
+ Write-Host " 请运行: install-helper" -ForegroundColor Cyan
83
+ exit 0
84
+ } else {
85
+ Write-Host ""
86
+ Write-Host " [ERROR] npm 安装失败" -ForegroundColor Red
87
+ Write-Host ""
88
+ Write-Host " 请尝试以管理员权限运行:"
89
+ Write-Host " npm install -g @cannbot-ai/install-helper"
90
+ exit 1
91
+ }
92
+ }
93
+
94
+ # 2. Path B: No Node.js — download prebuilt binary
95
+
96
+ # Detect platform
97
+ $Arch = if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { "arm64" } else { "x64" }
98
+ $SubPkgName = "@cannbot-ai/install-helper-windows-$Arch"
99
+ $BinaryName = "install-helper.exe"
100
+
101
+ Write-Host " [OK] Platform: windows-$Arch" -ForegroundColor Green
102
+ Write-Host ""
103
+
104
+ # 2. Query latest version from npm registry
105
+ Write-Host " Querying latest version..." -ForegroundColor Cyan
106
+
107
+ $Mirrors = @(
108
+ "https://registry.npmjs.org",
109
+ "https://registry.npmmirror.com"
110
+ )
111
+
112
+ $Version = $null
113
+ $Registry = $null
114
+ $Errors = @()
115
+ foreach ($url in $Mirrors) {
116
+ foreach ($tag in @("beta", "latest")) {
117
+ try {
118
+ $resp = Invoke-RestMethod "$url/$SubPkgName/$tag" -TimeoutSec 15
119
+ if ($resp.version) {
120
+ if (-not $Version) {
121
+ $Version = $resp.version
122
+ $Registry = $url
123
+ } elseif (Compare-SemVer $resp.version $Version) {
124
+ $Version = $resp.version
125
+ $Registry = $url
126
+ }
127
+ }
128
+ } catch { $Errors += $_ }
129
+ }
130
+ if ($Version) {
131
+ Write-Host " [OK] Version: $Version (from $Registry)" -ForegroundColor Green
132
+ break
133
+ }
134
+ }
135
+
136
+ if (-not $Version) {
137
+ Write-Host " [ERROR] Failed to query version from all registries" -ForegroundColor Red
138
+ if ($Errors.Count -gt 0) {
139
+ Write-Host " Errors:" -ForegroundColor Yellow
140
+ foreach ($err in $Errors) {
141
+ Write-Host " - $($err.Exception.Message)" -ForegroundColor Yellow
142
+ }
143
+ }
144
+ Write-Host ""
145
+ Write-Host " Alternative (requires Node.js 18+):"
146
+ Write-Host " npm install -g @cannbot-ai/install-helper"
147
+ exit 1
148
+ }
149
+
150
+ # 3. Download tarball (with mirror fallback)
151
+ $InstallDir = Join-Path $env:USERPROFILE ".cannbot\bin"
152
+ New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
153
+
154
+ $TarballName = "$($SubPkgName.Split('/')[1])-$Version.tgz"
155
+
156
+ Write-Host ""
157
+ Write-Host " Downloading $TarballName ..." -ForegroundColor Cyan
158
+
159
+ $TempFile = Join-Path $env:TEMP "ih-tarball.tgz"
160
+ $Downloaded = $false
161
+ $DownloadMirrors = @($Registry) + ($Mirrors | Where-Object { $_ -ne $Registry })
162
+ foreach ($url in $DownloadMirrors) {
163
+ $TarballUrl = "$url/$SubPkgName/-/$TarballName"
164
+ try {
165
+ Invoke-WebRequest $TarballUrl -OutFile $TempFile -TimeoutSec 300 -UseBasicParsing
166
+ $Downloaded = $true
167
+ Write-Host " [OK] Download complete" -ForegroundColor Green
168
+ break
169
+ } catch {
170
+ Write-Host " [WARN] Download from $url failed: $($_.Exception.Message)" -ForegroundColor Yellow
171
+ }
172
+ }
173
+
174
+ if (-not $Downloaded) {
175
+ Write-Host " [ERROR] Download failed from all mirrors" -ForegroundColor Red
176
+ Write-Host ""
177
+ Write-Host " Alternative (requires Node.js 18+):"
178
+ Write-Host " npm install -g @cannbot-ai/install-helper"
179
+ exit 1
180
+ }
181
+
182
+ # 4. Extract
183
+ Write-Host " Installing..." -ForegroundColor Cyan
184
+
185
+ $TempExtract = Join-Path $env:TEMP "ih-extract-$(Get-Random)"
186
+ New-Item -ItemType Directory -Force -Path $TempExtract | Out-Null
187
+
188
+ try {
189
+ & tar xzf $TempFile -C $TempExtract 2>&1 | Out-Null
190
+ if ($LASTEXITCODE -ne 0) {
191
+ throw "tar exit code $LASTEXITCODE"
192
+ }
193
+ } catch {
194
+ Write-Host " [ERROR] Extraction failed. tar not found or error." -ForegroundColor Red
195
+ Write-Host " Windows 10 1803+ includes tar. For older Windows, use npm install."
196
+ Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
197
+ Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
198
+ exit 1
199
+ }
200
+
201
+ $BinarySrc = Join-Path $TempExtract "package\$BinaryName"
202
+ $BinaryDest = Join-Path $InstallDir "install-helper.exe"
203
+
204
+ if (-not (Test-Path $BinarySrc)) {
205
+ Write-Host " [ERROR] Binary not found in tarball: $BinarySrc" -ForegroundColor Red
206
+ Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
207
+ Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
208
+ exit 1
209
+ }
210
+
211
+ Copy-Item $BinarySrc $BinaryDest -Force
212
+ Remove-Item $TempExtract -Recurse -Force -ErrorAction SilentlyContinue
213
+ Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
214
+
215
+ Write-Host " [OK] Installation successful!" -ForegroundColor Green
216
+ Write-Host ""
217
+
218
+ # 5. PATH
219
+ $UserPath = [Environment]::GetEnvironmentVariable("Path", "User")
220
+ if (-not $UserPath) {
221
+ [Environment]::SetEnvironmentVariable("Path", $InstallDir, "User")
222
+ Write-Host " [OK] Added to PATH (restart terminal to take effect)" -ForegroundColor Green
223
+ Write-Host ""
224
+ } elseif ($UserPath -notlike "*$InstallDir*") {
225
+ [Environment]::SetEnvironmentVariable("Path", "$UserPath;$InstallDir", "User")
226
+ Write-Host " [OK] Added to PATH (restart terminal to take effect)" -ForegroundColor Green
227
+ Write-Host ""
228
+ }
229
+
230
+ # 6. Verify binary and launch
231
+ try {
232
+ $null = & $BinaryDest --version 2>&1
233
+ Write-Host " Launching install-helper..." -ForegroundColor Cyan
234
+ Write-Host ""
235
+ & $BinaryDest
236
+ } catch {
237
+ Write-Host " [WARN] Binary failed to run" -ForegroundColor Yellow
238
+ Write-Host ""
239
+ Write-Host " Alternative (requires Node.js 18+):"
240
+ Write-Host " npm install -g @cannbot-ai/install-helper"
241
+ }
@@ -0,0 +1,187 @@
1
+ {
2
+ "wizard_title": "CANNBot Install Helper",
3
+ "wizard_detect": "Detecting installed AI coding tools...",
4
+ "wizard_select_tool": "Select AI coding tool",
5
+ "wizard_select_level": "Select install level",
6
+ "wizard_select_plugin": "Select a scenario to install",
7
+ "wizard_confirm": "Confirm installation",
8
+ "wizard_detected_tool": "Detected",
9
+ "wizard_confirm_tool": "Confirm using",
10
+ "wizard_last_used": "last used",
11
+ "wizard_already_installed": "installed",
12
+ "install_repo_ready": "Repository ready",
13
+ "install_progress": "Installing",
14
+ "install_done": "Installation complete",
15
+ "install_success": "success",
16
+ "install_already_installed": "already installed",
17
+ "install_reinstall_confirm": "Reinstall (overwrite)",
18
+ "install_skip": "skipped",
19
+ "install_enhanced_next_steps": "Next steps",
20
+ "install_enhanced_launch": "Launch",
21
+ "install_enhanced_try": "Try",
22
+ "install_enhanced_more": "More",
23
+ "install_enhanced_check": "Check",
24
+ "install_enhanced_docs": "Docs",
25
+ "update_updating": "Updating",
26
+ "update_done": "Update complete",
27
+ "update_no_plugins": "No installed plugins",
28
+ "doctor_title": "CANNBot Doctor",
29
+ "doctor_tools": "AI Tools",
30
+ "doctor_plugins": "Installed Plugins",
31
+ "doctor_links": "Link Integrity",
32
+ "doctor_config": "Configuration",
33
+ "doctor_result": "Result",
34
+ "doctor_fix_cleaning": "Cleaning broken links",
35
+ "doctor_fix_rebuilding": "Rebuilding directories",
36
+ "info_description": "Description",
37
+ "info_skills": "Skills",
38
+ "info_agents": "Agents",
39
+ "info_status": "Status",
40
+ "info_quickstart": "Quick Start",
41
+ "info_not_found": "Plugin not found",
42
+ "lang_title": "Language Settings",
43
+ "lang_current": "Current language",
44
+ "lang_set": "Language set to",
45
+ "lang_invalid": "Invalid language, supported: zh_CN, en_US",
46
+ "list_title": "Available Scenarios",
47
+ "list_id": "#",
48
+ "list_name": "Name",
49
+ "list_status": "Status",
50
+ "list_description": "Description",
51
+ "status_installed": "installed",
52
+ "status_not_installed": "not installed",
53
+ "error_tool_not_found": "No AI coding tool detected",
54
+ "error_plugin_not_found": "Plugin not found",
55
+ "error_invalid_tool": "Unsupported AI tool: {tool}\nSupported tools: {tools}",
56
+ "error_invalid_level": "Unsupported install level: {level}\nSupported levels: {levels}",
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",
64
+ "skill_select_category": "Select Skill category",
65
+ "skill_select_items": "Select Skills to install (space to toggle, enter to confirm)",
66
+ "skill_already_installed": "installed",
67
+ "skill_select_all": "Select ALL Skills ({count} total)",
68
+ "skill_select_all_category": "Select all in this category",
69
+ "skill_continue_or_install": "{count} Skills selected, choose an action",
70
+ "skill_continue_select": "Continue selecting from other categories",
71
+ "skill_confirm_install_count": "Install now ({count} Skills selected)",
72
+ "skill_all_install_progress": "Installing all {count} Skills...",
73
+ "skill_install_progress": "Installing",
74
+ "skill_install_done": "Skill installation complete",
75
+ "skill_uninstall_done": "Skill uninstallation complete",
76
+ "skill_list_title": "Available Skills",
77
+ "wizard_select_mode": "Select installation mode",
78
+ "wizard_mode_plugin": "Install Plugin",
79
+ "wizard_mode_plugin_desc": "Full development workflow (Skills + Agents + config)",
80
+ "wizard_mode_skill": "Install Skill",
81
+ "wizard_mode_skill_desc": "Domain knowledge only, give AI specific capabilities",
82
+ "wizard_back": "Go back",
83
+ "wizard_cancel": "Cancel installation",
84
+ "wizard_no_selection": "No items selected, please choose an action",
85
+ "wizard_back_to_reselect": "Go back",
86
+ "status_title": "Installed Plugins",
87
+ "status_none": "No installed plugins",
88
+ "status_hint": "Run install-helper init to start",
89
+ "status_install_time": "Installed at",
90
+ "install_installed_to": "Installed to",
91
+ "install_skills_count": "Skills",
92
+ "install_agents_count": "Agents",
93
+ "lang_supported": "Supported languages: zh_CN, en_US",
94
+ "lang_usage": "Usage: install-helper lang set <language>",
95
+ "lang_specify": "Please specify language: install-helper lang set zh_CN",
96
+ "lang_unknown_action": "Unknown action",
97
+ "lang_supported_actions": "Supported actions: show, set",
98
+ "info_aliases": "Aliases",
99
+ "uninstall_not_found": "Not found",
100
+ "uninstall_no_record": "No install record found, may not be installed or record is corrupted",
101
+ "uninstall_no_record_hint": "For manual cleanup, delete related files in .opencode/ or .claude/ directory",
102
+ "uninstall_in_progress": "Uninstalling",
103
+ "uninstall_summary_format": "{name} (removed {files} files, {dirs} directories)",
104
+ "uninstall_files_gone": " files no longer exist, install record cleaned",
105
+ "uninstall_skills_in_progress": "Uninstalling",
106
+ "init_pkg_dir_warn": "Current directory appears to be the install-helper package directory",
107
+ "init_pkg_dir_hint": "Please run this command in your project directory, not in the install-helper package directory",
108
+ "init_pkg_dir_example": "Example: cd ~/my-project && install-helper",
109
+ "init_cancelled": "Installation cancelled",
110
+ "backup_detected": "Plugin already installed in current directory",
111
+ "backup_current": "Currently installed",
112
+ "backup_installing": "About to install",
113
+ "backup_overwrite_warning": "Continuing will overwrite existing AGENTS.md configuration.",
114
+ "backup_auto_create": "System will automatically create backup for future restoration.",
115
+ "backup_overwrite": "Overwrite (auto backup)",
116
+ "backup_cancel": "Cancel installation",
117
+ "backup_restore_prompt": "Backup configuration detected, restore?",
118
+ "backup_restore": "Restore",
119
+ "backup_only_uninstall": "Uninstall only (no restore)",
120
+ "backup_select_action": "Please select an action",
121
+ "backup_restore_success": "Configuration restored",
122
+ "backup_created": "Backup created",
123
+ "backup_failed": "Backup creation failed, installation aborted to protect existing config",
124
+ "loading_skills_list": "Loading Skills list...",
125
+ "loading_skills_list_complete": "Skills list loaded",
126
+ "loading_plugin_data": "Loading plugin data...",
127
+ "loading_plugin_data_complete": "Plugin data loaded",
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}",
146
+ "install_no_skill_selected": "No Skill selected",
147
+ "install_to": "Install to",
148
+ "start_to_use": "Start {tool} to use",
149
+ "wizard_step_1_title": "[1/4] Select AI coding tool",
150
+ "wizard_step_2_title": "[2/4] Select installation location",
151
+ "wizard_step_3_title": "[3/4] Select plugins to install",
152
+ "wizard_step_4_title": "[4/4] Confirm installation",
153
+ "wizard_step_3_skill_title": "[3/4] Select Skill category",
154
+ "wizard_step_4_skill_title": "[4/4] Select Skills to install — {category}",
155
+ "install_level_project": "Install to current directory (recommended, current project only)",
156
+ "install_level_global": "Install globally (all projects)",
157
+ "wizard_select_mode_title": "Select installation type",
158
+ "skill_count_format": "{count} Skills",
159
+ "result_success_format": "{count} succeeded",
160
+ "result_failed_format": "{count} failed",
161
+ "uninstall_remove_label": "Removed",
162
+ "uninstall_clean_empty_dir": "Cleaned empty directory",
163
+ "uninstall_skill_not_installed": "Not installed",
164
+ "available_plugins": "Available plugins",
165
+ "available_skills": "Available Skills",
166
+ "skill_total_count": "Total {count} Skills",
167
+ "wizard_confirm_install_format": "About to install {count} plugins to {tool} ({level} level):",
168
+ "wizard_install_path": "Install path",
169
+ "update_install_hint": "Use {cmd} to install plugins",
170
+ "hint_select_move": "Navigate",
171
+ "hint_select_space": "Space",
172
+ "hint_select_check": "Toggle",
173
+ "hint_select_confirm": "Confirm",
174
+ "hint_checkbox_suffix": "Press enter without selection to go back",
175
+ "doctor_not_installed": "Not installed",
176
+ "doctor_links_valid": "{count} symlinks all valid",
177
+ "doctor_broken_links": "{count} broken links",
178
+ "doctor_fixed": "Cleaned {count} broken links",
179
+ "doctor_not_exist": "Does not exist",
180
+ "doctor_created": "Created {path}",
181
+ "doctor_config_exists": "Exists",
182
+ "doctor_config_not_exist": "Does not exist",
183
+ "doctor_result_with_fix": "{warnings} warnings, {fixes} fixed",
184
+ "doctor_result_without_fix": "{warnings} warnings",
185
+ "count_suffix": "",
186
+ "try_prompt": "help me develop an Abs operator"
187
+ }
@@ -0,0 +1,187 @@
1
+ {
2
+ "wizard_title": "CANNBot Install Helper",
3
+ "wizard_detect": "正在检测已安装的 AI 编程工具...",
4
+ "wizard_select_tool": "选择 AI 编程工具",
5
+ "wizard_select_level": "选择安装位置",
6
+ "wizard_select_plugin": "选择要安装的插件",
7
+ "wizard_confirm": "确认安装",
8
+ "wizard_detected_tool": "检测到",
9
+ "wizard_confirm_tool": "使用",
10
+ "wizard_last_used": "上次使用",
11
+ "wizard_already_installed": "已安装",
12
+ "install_repo_ready": "仓库就绪",
13
+ "install_progress": "正在安装",
14
+ "install_done": "安装完成",
15
+ "install_success": "成功",
16
+ "install_already_installed": "已安装",
17
+ "install_reinstall_confirm": "是否重新安装(覆盖)",
18
+ "install_skip": "跳过",
19
+ "install_enhanced_next_steps": "下一步",
20
+ "install_enhanced_launch": "启动",
21
+ "install_enhanced_try": "试试",
22
+ "install_enhanced_more": "更多",
23
+ "install_enhanced_check": "检查",
24
+ "install_enhanced_docs": "文档",
25
+ "update_updating": "正在更新",
26
+ "update_done": "更新完成",
27
+ "update_no_plugins": "暂无已安装的插件",
28
+ "doctor_title": "CANNBot Doctor",
29
+ "doctor_tools": "AI 工具",
30
+ "doctor_plugins": "已安装插件",
31
+ "doctor_links": "链接完整性",
32
+ "doctor_config": "配置文件",
33
+ "doctor_result": "结果",
34
+ "doctor_fix_cleaning": "清理失效链接",
35
+ "doctor_fix_rebuilding": "重建目录",
36
+ "info_description": "描述",
37
+ "info_skills": "Skills",
38
+ "info_agents": "Agents",
39
+ "info_status": "状态",
40
+ "info_quickstart": "快速开始",
41
+ "info_not_found": "未找到插件",
42
+ "lang_title": "语言设置",
43
+ "lang_current": "当前语言",
44
+ "lang_set": "语言已设置为",
45
+ "lang_invalid": "无效的语言,支持: zh_CN, en_US",
46
+ "list_title": "可用场景",
47
+ "list_id": "序号",
48
+ "list_name": "场景名",
49
+ "list_status": "状态",
50
+ "list_description": "描述",
51
+ "status_installed": "已装",
52
+ "status_not_installed": "未装",
53
+ "error_tool_not_found": "未检测到任何 AI 编程工具",
54
+ "error_plugin_not_found": "未找到插件",
55
+ "error_invalid_tool": "暂不支持的 AI 工具: {tool}\n支持的工具: {tools}",
56
+ "error_invalid_level": "暂不支持的安装级别: {level}\n支持的级别: {levels}",
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 开发者模式",
64
+ "skill_select_category": "选择 Skill 类别",
65
+ "skill_select_items": "选择要安装的 Skills",
66
+ "skill_already_installed": "已安装",
67
+ "skill_select_all": "全选所有 Skills(共 {count} 个)",
68
+ "skill_select_all_category": "全选当前类别",
69
+ "skill_continue_or_install": "已选 {count} 个 Skills,请选择操作",
70
+ "skill_continue_select": "继续选择其他类别",
71
+ "skill_confirm_install_count": "确认安装(已选 {count} 个 Skills)",
72
+ "skill_all_install_progress": "正在安装全部 {count} 个 Skills...",
73
+ "skill_install_progress": "正在安装",
74
+ "skill_install_done": "Skill 安装完成",
75
+ "skill_uninstall_done": "Skill 卸载完成",
76
+ "skill_list_title": "可用 Skills",
77
+ "wizard_select_mode": "选择安装类型",
78
+ "wizard_mode_plugin": "安装 Plugin",
79
+ "wizard_mode_plugin_desc": "完整开发工作流(Skills + Agents + 配置文件)",
80
+ "wizard_mode_skill": "安装 Skill",
81
+ "wizard_mode_skill_desc": "仅安装领域知识技能,让 AI 掌握特定能力",
82
+ "wizard_back": "返回",
83
+ "wizard_cancel": "退出",
84
+ "wizard_no_selection": "未选择任何项,请选择操作",
85
+ "wizard_back_to_reselect": "返回",
86
+ "status_title": "已安装插件",
87
+ "status_none": "暂无已安装的插件",
88
+ "status_hint": "运行 install-helper init 开始安装",
89
+ "status_install_time": "安装时间",
90
+ "install_installed_to": "安装到",
91
+ "install_skills_count": "Skills",
92
+ "install_agents_count": "Agents",
93
+ "lang_supported": "支持的语言: zh_CN, en_US",
94
+ "lang_usage": "用法: install-helper lang set <language>",
95
+ "lang_specify": "请指定语言: install-helper lang set zh_CN",
96
+ "lang_unknown_action": "未知操作",
97
+ "lang_supported_actions": "支持的操作: show, set",
98
+ "info_aliases": "别名",
99
+ "uninstall_not_found": "未找到",
100
+ "uninstall_no_record": "未找到安装记录,可能未安装或安装记录已损坏",
101
+ "uninstall_no_record_hint": "如需强制清理,请手动删除 .opencode/ 或 .claude/ 目录中的相关文件",
102
+ "uninstall_in_progress": "正在卸载",
103
+ "uninstall_summary_format": "{name}(移除 {files} 个文件,{dirs} 个目录)",
104
+ "uninstall_files_gone": "的文件已不存在,已清理安装记录",
105
+ "uninstall_skills_in_progress": "正在卸载",
106
+ "init_pkg_dir_warn": "当前目录看起来是 install-helper 包目录",
107
+ "init_pkg_dir_hint": "请在你的项目目录中运行此命令,而不是在 install-helper 安装目录中",
108
+ "init_pkg_dir_example": "示例:cd ~/my-project && install-helper",
109
+ "init_cancelled": "已取消安装",
110
+ "backup_detected": "检测到当前目录已安装插件",
111
+ "backup_current": "当前安装",
112
+ "backup_installing": "即将安装",
113
+ "backup_overwrite_warning": "继续安装将覆盖现有的 AGENTS.md 配置文件。",
114
+ "backup_auto_create": "系统会自动创建备份,以便后续恢复。",
115
+ "backup_overwrite": "覆盖安装(自动备份)",
116
+ "backup_cancel": "取消安装",
117
+ "backup_restore_prompt": "检测到备份配置,是否恢复?",
118
+ "backup_restore": "恢复",
119
+ "backup_only_uninstall": "仅卸载(不恢复)",
120
+ "backup_select_action": "请选择操作",
121
+ "backup_restore_success": "已恢复配置",
122
+ "backup_created": "已创建备份",
123
+ "backup_failed": "备份创建失败,安装已中止以保护现有配置",
124
+ "loading_skills_list": "正在加载 Skills 列表...",
125
+ "loading_skills_list_complete": "Skills 列表加载完成",
126
+ "loading_plugin_data": "正在加载插件数据...",
127
+ "loading_plugin_data_complete": "插件数据加载完成",
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}",
146
+ "install_no_skill_selected": "未选择任何 Skill",
147
+ "install_to": "安装到",
148
+ "start_to_use": "启动 {tool} 即可使用",
149
+ "wizard_step_1_title": "[1/4] 选择 AI 编程工具",
150
+ "wizard_step_2_title": "[2/4] 选择安装位置",
151
+ "wizard_step_3_title": "[3/4] 选择要安装的插件",
152
+ "wizard_step_4_title": "[4/4] 确认安装",
153
+ "wizard_step_3_skill_title": "[3/4] 选择 Skill 类别",
154
+ "wizard_step_4_skill_title": "[4/4] 选择要安装的 Skills — {category}",
155
+ "install_level_project": "安装到当前目录(推荐,仅当前项目可用)",
156
+ "install_level_global": "安装到全局(所有项目共享)",
157
+ "wizard_select_mode_title": "选择安装类型",
158
+ "skill_count_format": "{count} 个 Skills",
159
+ "result_success_format": "{count} 成功",
160
+ "result_failed_format": "{count} 失败",
161
+ "uninstall_remove_label": "移除",
162
+ "uninstall_clean_empty_dir": "清理空目录",
163
+ "uninstall_skill_not_installed": "未安装",
164
+ "available_plugins": "可用插件",
165
+ "available_skills": "可用 Skills",
166
+ "skill_total_count": "共 {count} 个 Skills",
167
+ "wizard_confirm_install_format": "即将安装 {count} 个插件到 {tool}({level} 级别):",
168
+ "wizard_install_path": "安装路径",
169
+ "update_install_hint": "使用 {cmd} 安装插件",
170
+ "hint_select_move": "移动",
171
+ "hint_select_space": "空格",
172
+ "hint_select_check": "勾选",
173
+ "hint_select_confirm": "确认",
174
+ "hint_checkbox_suffix": "不选按回车可返回",
175
+ "doctor_not_installed": "未安装",
176
+ "doctor_links_valid": "{count} 个软链接均有效",
177
+ "doctor_broken_links": "{count} 个失效链接",
178
+ "doctor_fixed": "已清理 {count} 个失效链接",
179
+ "doctor_not_exist": "不存在",
180
+ "doctor_created": "已创建 {path}",
181
+ "doctor_config_exists": "存在",
182
+ "doctor_config_not_exist": "不存在",
183
+ "doctor_result_with_fix": "{warnings} 个警告, {fixes} 项已修复",
184
+ "doctor_result_without_fix": "{warnings} 个警告",
185
+ "count_suffix": "个",
186
+ "try_prompt": "帮我开发一个 Abs 算子"
187
+ }
@@ -0,0 +1,4 @@
1
+ # Default values for all plugins
2
+ script: "init.sh"
3
+ skills: 0
4
+ agents: 0
@@ -0,0 +1,18 @@
1
+ id: catlass-op-generator
2
+ dir: plugins-official/catlass-op-generator
3
+ displayName: Catlass 算子直调
4
+ aliases: [catlass]
5
+ skills: 10
6
+ agents: 3
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
@@ -0,0 +1,19 @@
1
+ id: model-infer-optimize
2
+ dir: plugins-official/model-infer-optimize
3
+ displayName: NPU 推理优化
4
+ aliases: [model-infer, infer, inference]
5
+ skills: 11
6
+ agents: 3
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