huaweicloud-devkit 1.1.0-next.15 → 1.1.0-next.16
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 +17 -0
- package/README.zh-CN.md +17 -0
- package/package.json +3 -1
- package/plugins/huaweicloud-core/.claude-plugin/plugin.json +1 -1
- package/plugins/huaweicloud-core/.codex-plugin/plugin.json +1 -1
- package/plugins/huaweicloud-core/.cursor-plugin/plugin.json +1 -1
- package/plugins/huaweicloud-core/.hermes-plugin/plugin.json +1 -1
- package/plugins/huaweicloud-core/.workbuddy-plugin/plugin.json +1 -1
- package/plugins/huaweicloud-core/openclaw.plugin.json +1 -1
- package/plugins/huaweicloud-core/skills/huawei-smn-dms/SKILL.md +19 -12
- package/plugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/SKILL.md +7 -7
- package/plugins/huaweicloud-core/src/setup-cli.mjs +24 -11
package/README.md
CHANGED
|
@@ -68,6 +68,23 @@ npx --yes huaweicloud-devkit uninstall --target codearts
|
|
|
68
68
|
|
|
69
69
|
> **Sandbox mode**: CodeArts defaults to sandbox mode which blocks KooCLI. `install-hcloud` detects this and shows how to resolve it — install KooCLI outside the sandbox terminal, or disable sandbox mode in CodeArts settings (Settings → Chats → Agents Terminal Command Running Mode → Auto Running).
|
|
70
70
|
|
|
71
|
+
### CodeArts Work
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx --yes huaweicloud-devkit install --target codearts-work
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Restart the session** after installation.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npx --yes huaweicloud-devkit doctor --target codearts-work
|
|
81
|
+
npx --yes huaweicloud-devkit status --target codearts-work
|
|
82
|
+
npx --yes huaweicloud-devkit update --target codearts-work
|
|
83
|
+
npx --yes huaweicloud-devkit uninstall --target codearts-work
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
> **CodeArts Work** (CodeArts Space, appId: `com.codearts.work`) uses user-level config at `%USERPROFILE%\.codeartswork\`. No project-level `.codeartswork` directory is created.
|
|
87
|
+
|
|
71
88
|
### WorkBuddy
|
|
72
89
|
|
|
73
90
|
```bash
|
package/README.zh-CN.md
CHANGED
|
@@ -68,6 +68,23 @@ npx --yes huaweicloud-devkit uninstall --target codearts
|
|
|
68
68
|
|
|
69
69
|
> **沙箱模式**:码道默认沙箱模式会阻止 KooCLI 运行。`install-hcloud` 自动检测并给出指引——请在码道外终端安装使用 KooCLI,或在码道设置中关闭沙箱模式(设置 → 对话流 → 智能体 终端命令运行模式 → 自动运行)。
|
|
70
70
|
|
|
71
|
+
### CodeArts Work(码道工作空间)
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx --yes huaweicloud-devkit install --target codearts-work
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
安装后**重启会话**。
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npx --yes huaweicloud-devkit doctor --target codearts-work
|
|
81
|
+
npx --yes huaweicloud-devkit status --target codearts-work
|
|
82
|
+
npx --yes huaweicloud-devkit update --target codearts-work
|
|
83
|
+
npx --yes huaweicloud-devkit uninstall --target codearts-work
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
> **CodeArts Work**(工作空间,appId: `com.codearts.work`)使用用户级配置 `%USERPROFILE%\.codeartswork\`,不创建项目级目录。
|
|
87
|
+
|
|
71
88
|
### WorkBuddy
|
|
72
89
|
|
|
73
90
|
```bash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "huaweicloud-devkit",
|
|
3
|
-
"version": "1.1.0-next.
|
|
3
|
+
"version": "1.1.0-next.16",
|
|
4
4
|
"description": "Agent toolkit that helps coding agents use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities safely and accurately.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
"agent",
|
|
50
50
|
"codex",
|
|
51
51
|
"opencode",
|
|
52
|
+
"codearts",
|
|
53
|
+
"codearts-work",
|
|
52
54
|
"officeace",
|
|
53
55
|
"office-claw",
|
|
54
56
|
"workbuddy",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"mcpServers": "./.mcp.json",
|
|
18
18
|
"description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
|
|
19
19
|
"skills": "./skills/",
|
|
20
|
-
"version": "1.1.0-next.
|
|
20
|
+
"version": "1.1.0-next.16",
|
|
21
21
|
"author": {
|
|
22
22
|
"name": "HuaweiCloud Mate",
|
|
23
23
|
"url": "https://github.com/huaweicloud"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"mcpServers": "./.mcp.json",
|
|
21
21
|
"description": "Agent toolkit that helps coding agents use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities safely and accurately.",
|
|
22
22
|
"skills": "./skills/",
|
|
23
|
-
"version": "1.1.0-next.
|
|
23
|
+
"version": "1.1.0-next.16",
|
|
24
24
|
"author": {
|
|
25
25
|
"name": "HuaweiCloud Mate",
|
|
26
26
|
"url": "https://github.com/huaweicloud"
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"mcpServers": "./.mcp.json",
|
|
18
18
|
"description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
|
|
19
19
|
"skills": "./skills/",
|
|
20
|
-
"version": "1.1.0-next.
|
|
20
|
+
"version": "1.1.0-next.16",
|
|
21
21
|
"author": {
|
|
22
22
|
"name": "HuaweiCloud Mate",
|
|
23
23
|
"url": "https://github.com/huaweicloud"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "huaweicloud-devkit",
|
|
3
|
-
"version": "1.1.0-next.
|
|
3
|
+
"version": "1.1.0-next.16",
|
|
4
4
|
"description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HuaweiCloud Mate",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "huaweicloud-devkit",
|
|
3
|
-
"version": "1.1.0-next.
|
|
3
|
+
"version": "1.1.0-next.16",
|
|
4
4
|
"description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HuaweiCloud Mate",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "huaweicloud-devkit",
|
|
3
3
|
"id": "huaweicloud-devkit",
|
|
4
4
|
"displayName": "HuaweiCloud DevKit",
|
|
5
|
-
"version": "1.1.0-next.
|
|
5
|
+
"version": "1.1.0-next.16",
|
|
6
6
|
"family": "bundle-plugin",
|
|
7
7
|
"bundleFormat": "codex",
|
|
8
8
|
"description": "Guide coding agents to use Huawei Cloud safely — KooCLI, APIs, SDKs, 28 MCP tools, skills, and safety guardrails.",
|
|
@@ -8,7 +8,7 @@ version: 1
|
|
|
8
8
|
|
|
9
9
|
**STOP - Do not answer from general knowledge.** Follow the procedure below.
|
|
10
10
|
|
|
11
|
-
Always run `hcloud SMN <Operation> --help` or `hcloud
|
|
11
|
+
Always run `hcloud SMN <Operation> --help`, `hcloud Kafka <Operation> --help`, `hcloud RabbitMQ <Operation> --help`, or `hcloud RocketMQ <Operation> --help` before constructing commands.
|
|
12
12
|
|
|
13
13
|
## Overview
|
|
14
14
|
|
|
@@ -38,21 +38,28 @@ Domain expertise for SMN (Simple Message Notification) and DMS (Distributed Mess
|
|
|
38
38
|
|
|
39
39
|
## DMS
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
> **DMS 是产品统一品牌**,涵盖 Kafka、RabbitMQ、RocketMQ 三种引擎。在 KooCLI 中,三种引擎被拆分为独立服务,**不存在 `hcloud DMS` 命令**。
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
43
|
+
### Engine → KooCLI Service Mapping
|
|
44
|
+
|
|
45
|
+
| Engine | KooCLI Service | Description |
|
|
46
|
+
| -------- | ----------------- | -------------------- |
|
|
47
|
+
| Kafka | `hcloud Kafka` | 高吞吐分布式消息队列 |
|
|
48
|
+
| RabbitMQ | `hcloud RabbitMQ` | AMQP 消息代理 |
|
|
49
|
+
| RocketMQ | `hcloud RocketMQ` | 低延迟金融级消息队列 |
|
|
48
50
|
|
|
49
51
|
### Common Workflows
|
|
50
52
|
|
|
51
|
-
| Task
|
|
52
|
-
|
|
|
53
|
-
| List instances
|
|
54
|
-
|
|
|
55
|
-
| List
|
|
53
|
+
| Task | Service | Operation |
|
|
54
|
+
| ------------------------ | ---------- | ------------------------------------------------------------------ |
|
|
55
|
+
| List Kafka instances | `Kafka` | `ListInstances --cli-region=<r> --project_id=<p>` |
|
|
56
|
+
| List RabbitMQ instances | `RabbitMQ` | `ListInstancesDetails --cli-region=<r> --project_id=<p>` |
|
|
57
|
+
| List RocketMQ instances | `RocketMQ` | `ListInstances --cli-region=<r> --project_id=<p>` |
|
|
58
|
+
| Create Kafka instance | `Kafka` | `CreatePostPaidKafkaInstance --cli-region=<r> --project_id=<p>` |
|
|
59
|
+
| Create RabbitMQ instance | `RabbitMQ` | `CreatePostPaidInstanceByEngine --cli-region=<r> --project_id=<p>` |
|
|
60
|
+
| Create RocketMQ instance | `RocketMQ` | `CreateInstanceByEngine --cli-region=<r> --project_id=<p>` |
|
|
61
|
+
| List Kafka topics | `Kafka` | `ListInstanceTopics --cli-region=<r> --project_id=<p>` |
|
|
62
|
+
| List RocketMQ topics | `RocketMQ` | `ListRocketInstanceTopics --cli-region=<r> --project_id=<p>` |
|
|
56
63
|
|
|
57
64
|
Discover exact parameters with `--help` before executing any command.
|
|
58
65
|
|
|
@@ -125,13 +125,13 @@ hcloud <Service> <Op> --cli-debug=true
|
|
|
125
125
|
|
|
126
126
|
Credentials are resolved in this order (highest priority first):
|
|
127
127
|
|
|
128
|
-
| Priority | Source
|
|
129
|
-
| -------- |
|
|
130
|
-
| 1 | Runtime credentials
|
|
131
|
-
| 2 | Environment variables
|
|
132
|
-
| 3 | CodeArts
|
|
133
|
-
| 4 | Global config file
|
|
134
|
-
| 5 | KooCLI profile
|
|
128
|
+
| Priority | Source | Mechanism | Persistence |
|
|
129
|
+
| -------- | ------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------- |
|
|
130
|
+
| 1 | Runtime credentials | `huaweicloud_auth_init` tool | Memory (cleared on MCP restart) |
|
|
131
|
+
| 2 | Environment variables | `HW_ACCESS_KEY` / `HW_SECRET_KEY` | MCP process lifetime |
|
|
132
|
+
| 3 | CodeArts / CodeArts Work | `.codeartsdoer/mcp/mcp_settings.json` (project → user) or `.codeartswork/mcp/mcp_settings.json` (user) | File |
|
|
133
|
+
| 4 | Global config file | `~/.config/huaweicloud/credentials.json` | Permanent |
|
|
134
|
+
| 5 | KooCLI profile | `~/.hcloud/config.json` (KooCLI only) | Permanent |
|
|
135
135
|
|
|
136
136
|
When switching accounts within the same Agent session, use `huaweicloud_auth_init` to set runtime credentials. This overrides all other sources for the current MCP process.
|
|
137
137
|
|
|
@@ -2867,17 +2867,19 @@ async function cmdDoctor() {
|
|
|
2867
2867
|
? 'Codex Desktop'
|
|
2868
2868
|
: existsSync(join(codeartsPluginDir, 'src', 'mcp-server.mjs'))
|
|
2869
2869
|
? 'CodeArts'
|
|
2870
|
-
: existsSync(join(
|
|
2871
|
-
? '
|
|
2872
|
-
: existsSync(join(
|
|
2873
|
-
? '
|
|
2874
|
-
: existsSync(join(
|
|
2875
|
-
? '
|
|
2876
|
-
: existsSync(join(
|
|
2877
|
-
? '
|
|
2878
|
-
: existsSync(join(
|
|
2879
|
-
? '
|
|
2880
|
-
: ''
|
|
2870
|
+
: existsSync(join(codeartsWorkPluginDir, 'src', 'mcp-server.mjs'))
|
|
2871
|
+
? 'CodeArts Work'
|
|
2872
|
+
: existsSync(join(workbuddyPluginDir, 'src', 'mcp-server.mjs'))
|
|
2873
|
+
? 'WorkBuddy'
|
|
2874
|
+
: existsSync(join(dshPluginDir, 'src', 'mcp-server.mjs'))
|
|
2875
|
+
? 'DSH'
|
|
2876
|
+
: existsSync(join(officeacePluginDir, 'src', 'mcp-server.mjs'))
|
|
2877
|
+
? 'OfficeAce'
|
|
2878
|
+
: existsSync(join(hermesPluginDir, 'src', 'mcp-server.mjs'))
|
|
2879
|
+
? 'Hermes Agent'
|
|
2880
|
+
: existsSync(join(atomcodePluginDir, 'src', 'mcp-server.mjs'))
|
|
2881
|
+
? 'AtomCode'
|
|
2882
|
+
: '';
|
|
2881
2883
|
check('MCP server installed', mcpOk, 'Run: npx huaweicloud-devkit install');
|
|
2882
2884
|
|
|
2883
2885
|
if (mcpOk) {
|
|
@@ -2888,6 +2890,7 @@ async function cmdDoctor() {
|
|
|
2888
2890
|
opencodePluginDir,
|
|
2889
2891
|
codexPluginDir,
|
|
2890
2892
|
codeartsPluginDir,
|
|
2893
|
+
codeartsWorkPluginDir,
|
|
2891
2894
|
workbuddyPluginDir,
|
|
2892
2895
|
dshPluginDir,
|
|
2893
2896
|
officeacePluginDir,
|
|
@@ -2941,6 +2944,16 @@ async function cmdDoctor() {
|
|
|
2941
2944
|
}
|
|
2942
2945
|
} catch {}
|
|
2943
2946
|
}
|
|
2947
|
+
const codeartsWorkCfg = codeartsWorkMcpSettingsFile();
|
|
2948
|
+
if (!mcpConfigured && existsSync(codeartsWorkCfg)) {
|
|
2949
|
+
try {
|
|
2950
|
+
const cfg = JSON.parse(readFileSync(codeartsWorkCfg, 'utf8'));
|
|
2951
|
+
if (cfg.mcpServers && cfg.mcpServers['huaweicloud-devkit']) {
|
|
2952
|
+
mcpConfigured = true;
|
|
2953
|
+
mcpCfgTarget = 'CodeArts Work';
|
|
2954
|
+
}
|
|
2955
|
+
} catch {}
|
|
2956
|
+
}
|
|
2944
2957
|
const workbuddyCfg = workbuddyMcpConfigFile();
|
|
2945
2958
|
if (!mcpConfigured && existsSync(workbuddyCfg)) {
|
|
2946
2959
|
try {
|