huaweicloud-devkit 1.1.2-next.0 → 1.1.2-next.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/.agents/plugins/marketplace.json +18 -18
- package/README.md +182 -38
- package/README.zh-CN.md +180 -36
- package/bin/dsh-postinstall.cjs +77 -0
- package/bin/setup.cjs +7 -4
- package/cordis.patch.yml +13 -0
- package/integrations/atomcode/hooks/huaweicloud-telemetry.js +181 -0
- package/integrations/atomcode/hooks.json +9 -0
- package/integrations/dsh/hook-plugin.mjs +148 -0
- package/integrations/hermes/hooks/huaweicloud-telemetry.py +238 -0
- package/integrations/hermes/manifest.yaml +43 -0
- package/integrations/opencode/hooks/skill-tracker.js +115 -0
- package/integrations/opencode/opencode.json +1 -4
- package/integrations/workbuddy/hooks/telemetry-tracker.py +226 -0
- package/package.json +74 -43
- package/plugins/huaweicloud-core/.claude-plugin/plugin.json +4 -17
- package/plugins/huaweicloud-core/.codex-plugin/plugin.json +23 -33
- package/plugins/huaweicloud-core/.cursor-plugin/plugin.json +4 -17
- package/plugins/huaweicloud-core/.hermes-plugin/plugin.json +30 -0
- package/plugins/huaweicloud-core/.mcp.json +2 -5
- package/plugins/huaweicloud-core/.workbuddy-plugin/plugin.json +4 -18
- package/plugins/huaweicloud-core/assets/icon.png +0 -0
- package/plugins/huaweicloud-core/assets/logo-dark.png +0 -0
- package/plugins/huaweicloud-core/assets/logo.png +0 -0
- package/plugins/huaweicloud-core/hooks/huaweicloud-safety.py +104 -28
- package/plugins/huaweicloud-core/openclaw.plugin.json +20 -0
- package/plugins/huaweicloud-core/safety/policy.json +75 -99
- package/plugins/huaweicloud-core/safety/rules/cloud-risk-rules.json +196 -35
- package/plugins/huaweicloud-core/skills/huawei-apig/SKILL.md +38 -34
- package/plugins/huaweicloud-core/skills/huawei-billing/SKILL.md +21 -20
- package/plugins/huaweicloud-core/skills/huawei-cbr/SKILL.md +19 -19
- package/plugins/huaweicloud-core/skills/huawei-cce/SKILL.md +38 -32
- package/plugins/huaweicloud-core/skills/huawei-cloud-eye/SKILL.md +30 -30
- package/plugins/huaweicloud-core/skills/huawei-cts/SKILL.md +20 -20
- package/plugins/huaweicloud-core/skills/huawei-dds-dcs/SKILL.md +31 -31
- package/plugins/huaweicloud-core/skills/huawei-deployment/SKILL.md +21 -20
- package/plugins/huaweicloud-core/skills/huawei-dew/SKILL.md +40 -31
- package/plugins/huaweicloud-core/skills/huawei-dew/references/csms-usage.md +8 -1
- package/plugins/huaweicloud-core/skills/huawei-dew/references/kms-usage.md +6 -0
- package/plugins/huaweicloud-core/skills/huawei-ecs/SKILL.md +45 -37
- package/plugins/huaweicloud-core/skills/huawei-ecs/references/create-instance.md +57 -6
- package/plugins/huaweicloud-core/skills/huawei-ecs/references/flavors.md +11 -9
- package/plugins/huaweicloud-core/skills/huawei-ecs/references/hc-activity.md +27 -0
- package/plugins/huaweicloud-core/skills/huawei-ecs/references/troubleshooting.md +13 -13
- package/plugins/huaweicloud-core/skills/huawei-functiongraph/SKILL.md +44 -39
- package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/apig-event-format.md +12 -10
- package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/create-function.md +21 -20
- package/plugins/huaweicloud-core/skills/huawei-functiongraph/references/triggers.md +19 -19
- package/plugins/huaweicloud-core/skills/huawei-gaussdb/SKILL.md +20 -20
- package/plugins/huaweicloud-core/skills/huawei-getting-started/SKILL.md +27 -23
- package/plugins/huaweicloud-core/skills/huawei-iac/SKILL.md +93 -0
- package/plugins/huaweicloud-core/skills/huawei-iac/references/architectures.md +83 -0
- package/plugins/huaweicloud-core/skills/huawei-iac/references/resource-catalog.md +107 -0
- package/plugins/huaweicloud-core/skills/huawei-iac/references/state-file.md +104 -0
- package/plugins/huaweicloud-core/skills/huawei-iam/SKILL.md +30 -30
- package/plugins/huaweicloud-core/skills/huawei-iam/references/policy-examples.md +65 -39
- package/plugins/huaweicloud-core/skills/huawei-iam/references/quick-ref.md +9 -9
- package/plugins/huaweicloud-core/skills/huawei-modelarts/SKILL.md +33 -25
- package/plugins/huaweicloud-core/skills/huawei-obs/SKILL.md +46 -45
- package/plugins/huaweicloud-core/skills/huawei-obs/references/bucket-create.md +19 -19
- package/plugins/huaweicloud-core/skills/huawei-obs/references/bucket-lifecycle.md +12 -7
- package/plugins/huaweicloud-core/skills/huawei-obs/references/common-pitfalls.md +13 -12
- package/plugins/huaweicloud-core/skills/huawei-obs/references/single-file-share.md +4 -4
- package/plugins/huaweicloud-core/skills/huawei-rds/SKILL.md +71 -61
- package/plugins/huaweicloud-core/skills/huawei-sandbox/SKILL.md +776 -44
- package/plugins/huaweicloud-core/skills/huawei-sandbox/references/framework-commands.md +84 -0
- package/plugins/huaweicloud-core/skills/huawei-sandbox/references/nginx-templates.md +100 -0
- package/plugins/huaweicloud-core/skills/huawei-smn-dms/SKILL.md +36 -29
- package/plugins/huaweicloud-core/skills/huawei-voucher/SKILL.md +57 -0
- package/plugins/huaweicloud-core/skills/huawei-vpc/SKILL.md +39 -39
- package/plugins/huaweicloud-core/skills/huawei-vpc/references/network.md +22 -15
- package/plugins/huaweicloud-core/skills/huawei-vpc/references/security-group.md +20 -19
- package/plugins/huaweicloud-core/skills/huawei-vpc/references/subnet.md +15 -15
- package/plugins/huaweicloud-core/skills/huawei-waf-aad/SKILL.md +23 -20
- package/plugins/huaweicloud-core/skills/huaweicloud-api-and-sdk/SKILL.md +13 -13
- package/plugins/huaweicloud-core/skills/huaweicloud-api-and-sdk/agents/openai.yaml +3 -3
- package/plugins/huaweicloud-core/skills/huaweicloud-capability-discovery/SKILL.md +21 -2
- package/plugins/huaweicloud-core/skills/huaweicloud-capability-discovery/agents/openai.yaml +3 -3
- package/plugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/SKILL.md +30 -4
- package/plugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/agents/openai.yaml +3 -3
- package/plugins/huaweicloud-core/skills/huaweicloud-core/SKILL.md +68 -54
- package/plugins/huaweicloud-core/skills/huaweicloud-core/agents/openai.yaml +3 -3
- package/plugins/huaweicloud-core/skills/huaweicloud-core/references/report-issue.md +6 -6
- package/plugins/huaweicloud-core/skills/huaweicloud-core/references/select.md +15 -1
- package/plugins/huaweicloud-core/skills/huaweicloud-safety/SKILL.md +0 -1
- package/plugins/huaweicloud-core/skills/huaweicloud-safety/agents/openai.yaml +3 -3
- package/plugins/huaweicloud-core/skills/huaweicloud-troubleshooting/SKILL.md +36 -34
- package/plugins/huaweicloud-core/skills/huaweicloud-troubleshooting/agents/openai.yaml +3 -3
- package/plugins/huaweicloud-core/src/auth/agent-registration.mjs +142 -5
- package/plugins/huaweicloud-core/src/auth/credentials.mjs +217 -5
- package/plugins/huaweicloud-core/src/auth/reconcile.mjs +174 -0
- package/plugins/huaweicloud-core/src/auth/service.mjs +57 -2
- package/plugins/huaweicloud-core/src/data/icons-manifest.v1.json +3517 -0
- package/plugins/huaweicloud-core/src/detect-framework.mjs +366 -0
- package/plugins/huaweicloud-core/src/hcloud-cli.mjs +203 -16
- package/plugins/huaweicloud-core/src/icon-library.mjs +176 -0
- package/plugins/huaweicloud-core/src/mcp-protocol.mjs +88 -0
- package/plugins/huaweicloud-core/src/mcp-server-remote.mjs +107 -0
- package/plugins/huaweicloud-core/src/mcp-server.mjs +154 -99
- package/plugins/huaweicloud-core/src/proxy/proxy-agent.mjs +20 -102
- package/plugins/huaweicloud-core/src/proxy/proxy-config.mjs +11 -4
- package/plugins/huaweicloud-core/src/risk-rule-engine.mjs +4 -1
- package/plugins/huaweicloud-core/src/safety-policy.mjs +123 -68
- package/plugins/huaweicloud-core/src/sandbox/hdkitservice-api.mjs +48 -12
- package/plugins/huaweicloud-core/src/sandbox/hwlink-api.mjs +25 -26
- package/plugins/huaweicloud-core/src/sandbox/sandbox-file-server.py +45 -0
- package/plugins/huaweicloud-core/src/sandbox/session-manager.mjs +943 -10
- package/plugins/huaweicloud-core/src/sandbox/uninstall-cleanup.mjs +50 -0
- package/plugins/huaweicloud-core/src/search-market.mjs +49 -14
- package/plugins/huaweicloud-core/src/setup-cli.mjs +3091 -498
- package/plugins/huaweicloud-core/src/telemetry/agent-detect.mjs +40 -0
- package/plugins/huaweicloud-core/src/telemetry/agent-registry.mjs +328 -0
- package/plugins/huaweicloud-core/src/telemetry/telemetry.mjs +378 -0
- package/plugins/huaweicloud-core/src/tools.mjs +1272 -146
- package/plugins/huaweicloud-core/src/update-check.mjs +383 -0
- package/plugins/huaweicloud-core/src/ws-exec/hwlink-exec-client.js +72 -38
- package/plugins/huaweicloud-core/src/ws-exec/hwlink-fair-queue.js +10 -5
- package/plugins/huaweicloud-core/src/ws-exec/hwlink-multiplexer.js +13 -16
- package/plugins/huaweicloud-core/src/ws-exec/hwlink-packet.js +12 -16
- package/plugins/huaweicloud-core/src/ws-exec/hwlink-terminal-channel.js +46 -31
- package/plugins/huaweicloud-core/src/ws-exec/hwlink-tunnel-channel.mjs +268 -0
- package/plugins/huaweicloud-core/src/ws-exec/index.js +3 -0
- package/plugins/huaweicloud-core/src/ws-exec/ws-exec-client.js +40 -13
- package/plugins/huaweicloud-core/skills/huawei-cloud-find-skills/SKILL.md +0 -190
- package/plugins/huaweicloud-core/skills/huawei-cloud-find-skills/scripts/search-skills.mjs +0 -124
|
@@ -26,25 +26,25 @@ hcloud VPC CreateSubnet --vpc_id=xxx
|
|
|
26
26
|
|
|
27
27
|
## Key Constraints
|
|
28
28
|
|
|
29
|
-
| Constraint
|
|
30
|
-
|
|
29
|
+
| Constraint | Detail |
|
|
30
|
+
| ------------------------- | -------------------------------------------------------------- |
|
|
31
31
|
| Subnet bound to single AZ | Cross-AZ needs multiple subnets. AZ code format: `cn-south-1a` |
|
|
32
|
-
| CIDR must not overlap
|
|
33
|
-
| Gateway IP auto-assigned
|
|
34
|
-
| 5 IPs reserved per subnet | First 4 + broadcast reserved by platform
|
|
32
|
+
| CIDR must not overlap | Cannot overlap with other subnets in same VPC |
|
|
33
|
+
| Gateway IP auto-assigned | Default is first IP in CIDR range (e.g., 192.168.1.1 for /24) |
|
|
34
|
+
| 5 IPs reserved per subnet | First 4 + broadcast reserved by platform |
|
|
35
35
|
|
|
36
36
|
## Common Errors
|
|
37
37
|
|
|
38
|
-
| Error
|
|
39
|
-
|
|
40
|
-
| `[USE_ERROR]不正确的参数:name` | Missing nested prefix. Use `--vpc.name=` or `--subnet.name=`
|
|
41
|
-
| CIDR overlap
|
|
42
|
-
| AZ not found
|
|
38
|
+
| Error | Root Cause -> Fix |
|
|
39
|
+
| ------------------------------ | ---------------------------------------------------------------------------------- |
|
|
40
|
+
| `[USE_ERROR]不正确的参数:name` | Missing nested prefix. Use `--vpc.name=` or `--subnet.name=` |
|
|
41
|
+
| CIDR overlap | Subnet CIDR must be within VPC CIDR and not overlap others |
|
|
42
|
+
| AZ not found | Use `hcloud ECS NovaListAvailabilityZones --cli-region=<r>` to list valid AZ codes |
|
|
43
43
|
|
|
44
44
|
## CIDR Planning Reference
|
|
45
45
|
|
|
46
|
-
| Environment | VPC CIDR
|
|
47
|
-
|
|
48
|
-
| Dev
|
|
49
|
-
| Staging
|
|
50
|
-
| Production
|
|
46
|
+
| Environment | VPC CIDR | Subnet CIDR |
|
|
47
|
+
| ----------- | -------------- | ------------------------------------------------ |
|
|
48
|
+
| Dev | 192.168.0.0/16 | 192.168.1.0/24 |
|
|
49
|
+
| Staging | 10.0.0.0/16 | 10.0.1.0/24 |
|
|
50
|
+
| Production | 172.16.0.0/16 | 172.16.1.0/24 (public) + 172.16.2.0/24 (private) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: huawei-waf-aad
|
|
3
|
-
description:
|
|
3
|
+
description: 'Use when configuring Web Application Firewall (WAF) policies/rules, or Anti-DDoS (AAD) protection on Huawei Cloud. Triggers: WAF, AAD, firewall, DDoS, web protection, IP blacklist, rate limiting, CC attack. NOT for: security groups (use huawei-vpc), CTS audit (use huawei-cts).'
|
|
4
4
|
version: 1
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -16,40 +16,43 @@ Domain expertise for WAF and Anti-DDoS. Covers WAF policy/rules, AAD protection,
|
|
|
16
16
|
|
|
17
17
|
## Critical Warnings
|
|
18
18
|
|
|
19
|
-
| Trap
|
|
20
|
-
|
|
21
|
-
| WAF needs CNAME redirect
|
|
22
|
-
| Premium instance required
|
|
19
|
+
| Trap | Why |
|
|
20
|
+
| -------------------------- | ----------------------------------------------------------------- |
|
|
21
|
+
| WAF needs CNAME redirect | DNS must point to WAF endpoint, not server IP |
|
|
22
|
+
| Premium instance required | Cloud WAF needs a dedicated/premium WAF instance |
|
|
23
23
|
| AAD Standard vs Enterprise | Standard protects single IP. Enterprise protects entire IP ranges |
|
|
24
|
-
| Rule order matters
|
|
24
|
+
| Rule order matters | WAF rules evaluated top-to-bottom within a policy |
|
|
25
25
|
|
|
26
26
|
## Common Workflows
|
|
27
27
|
|
|
28
28
|
### WAF
|
|
29
29
|
|
|
30
|
-
| Task
|
|
31
|
-
|
|
32
|
-
| List WAF instances
|
|
33
|
-
| List policies
|
|
34
|
-
| Create custom rule
|
|
30
|
+
| Task | Operation |
|
|
31
|
+
| ------------------- | --------------------------------------------------------------- |
|
|
32
|
+
| List WAF instances | `ListCompositeHosts --cli-region=<r> --project_id=<p>` |
|
|
33
|
+
| List policies | `ListPolicy --cli-region=<r> --project_id=<p>` |
|
|
34
|
+
| Create custom rule | `BatchCreateCustomRule --cli-region=<r> --project_id=<p>` |
|
|
35
35
|
| Create IP blacklist | `BatchCreateWhiteblackipRule --cli-region=<r> --project_id=<p>` |
|
|
36
|
-
| Create CC rule
|
|
37
|
-
| Create geo rule
|
|
36
|
+
| Create CC rule | `BatchCreateCcRule --cli-region=<r> --project_id=<p>` |
|
|
37
|
+
| Create geo rule | `BatchCreateGeoIpRule --cli-region=<r> --project_id=<p>` |
|
|
38
38
|
|
|
39
39
|
### AAD
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
|
|
43
|
-
hcloud AAD
|
|
42
|
+
# List AAD instances (requires --cli-region=cn-north-4 or ap-southeast-1)
|
|
43
|
+
hcloud AAD ListInstance --cli-region=<r> --project_id=<p>
|
|
44
|
+
|
|
45
|
+
# List DDoS attack events
|
|
46
|
+
hcloud AAD ListDDoSAttackEvent --cli-region=<r> --project_id=<p>
|
|
44
47
|
```
|
|
45
48
|
|
|
46
49
|
## Troubleshooting
|
|
47
50
|
|
|
48
|
-
| Error
|
|
49
|
-
|
|
50
|
-
| Website unreachable after WAF
|
|
51
|
-
| WAF blocking legitimate traffic | Check rules order, adjust false positive settings
|
|
52
|
-
| AAD not responding
|
|
51
|
+
| Error | Fix |
|
|
52
|
+
| ------------------------------- | -------------------------------------------------------- |
|
|
53
|
+
| Website unreachable after WAF | Check CNAME record points to WAF endpoint |
|
|
54
|
+
| WAF blocking legitimate traffic | Check rules order, adjust false positive settings |
|
|
55
|
+
| AAD not responding | Standard AAD only protects single EIP. Check EIP binding |
|
|
53
56
|
|
|
54
57
|
## Security
|
|
55
58
|
|
|
@@ -11,12 +11,12 @@ Use this skill when the deliverable is application code, API integration, or pre
|
|
|
11
11
|
|
|
12
12
|
## Critical Warnings
|
|
13
13
|
|
|
14
|
-
| Trap
|
|
15
|
-
|
|
16
|
-
| `project_id` in path for most services
|
|
17
|
-
| Pagination is not automatic
|
|
18
|
-
| AK/SK signing algorithm
|
|
19
|
-
| Endpoint varies by service and region
|
|
14
|
+
| Trap | Why |
|
|
15
|
+
| ---------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
16
|
+
| `project_id` in path for most services | Many Huawei Cloud APIs require `project_id` in the URL path. Get it from IAM or KooCLI profile |
|
|
17
|
+
| Pagination is not automatic | APIs return paginated results. Always check for `next_marker` or `page_info` to avoid partial data |
|
|
18
|
+
| AK/SK signing algorithm | Huawei Cloud uses HMAC-SHA256 signing with specific header ordering. Use SDK, don't implement manually |
|
|
19
|
+
| Endpoint varies by service and region | Always verify at https://developer.huaweicloud.com/endpoint |
|
|
20
20
|
| Error response in `body` not HTTP status | Many errors return HTTP 200 with error details in the JSON body. Check `error_code` or `error_msg` fields |
|
|
21
21
|
|
|
22
22
|
## API Workflow
|
|
@@ -38,13 +38,13 @@ Use this skill when the deliverable is application code, API integration, or pre
|
|
|
38
38
|
|
|
39
39
|
## Troubleshooting
|
|
40
40
|
|
|
41
|
-
| Error
|
|
42
|
-
|
|
43
|
-
| Invalid project_id
|
|
44
|
-
| 401/AuthFailure
|
|
45
|
-
| 403/Forbidden
|
|
46
|
-
| Empty results
|
|
47
|
-
| Endpoint not reachable | Wrong region/service endpoint. Verify at developer.huaweicloud.com/endpoint
|
|
41
|
+
| Error | Root Cause -> Fix |
|
|
42
|
+
| ---------------------- | ------------------------------------------------------------------------------------------------ |
|
|
43
|
+
| Invalid project_id | Wrong or missing project_id in URL path. Use `hcloud IAM KeystoneListProjects` or KooCLI profile |
|
|
44
|
+
| 401/AuthFailure | Expired AK/SK or wrong signing algorithm. Regenerate AK/SK or check SDK version |
|
|
45
|
+
| 403/Forbidden | IAM permission missing. Check user/role has required action permissions |
|
|
46
|
+
| Empty results | Pagination missing — add `limit` and check `marker` |
|
|
47
|
+
| Endpoint not reachable | Wrong region/service endpoint. Verify at developer.huaweicloud.com/endpoint |
|
|
48
48
|
|
|
49
49
|
## Terraform Priority
|
|
50
50
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name:
|
|
3
|
-
short_description:
|
|
4
|
-
default_prompt:
|
|
2
|
+
display_name: 'Huawei Cloud API And SDK'
|
|
3
|
+
short_description: 'Build correct Huawei Cloud API requests and SDK integrations.'
|
|
4
|
+
default_prompt: 'Use $huaweicloud-api-and-sdk to plan this Huawei Cloud API or SDK integration.'
|
|
@@ -5,7 +5,6 @@ description: Discover Huawei Cloud capabilities for an agent task. Use when the
|
|
|
5
5
|
|
|
6
6
|
# Huawei Cloud Capability Discovery
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
**STOP - Do not answer from general knowledge.** Follow the procedure below.
|
|
10
9
|
|
|
11
10
|
Use this skill to turn vague developer intent into a precise Huawei Cloud capability path.
|
|
@@ -20,7 +19,27 @@ Use this skill to turn vague developer intent into a precise Huawei Cloud capabi
|
|
|
20
19
|
6. Prefer SDK docs when the deliverable is application code.
|
|
21
20
|
7. Prefer MCP only when an approved Huawei Cloud MCP tool exists for the needed operation.
|
|
22
21
|
8. Treat Terraform as a secondary V1 path for reviewed IaC, not the default.
|
|
23
|
-
9. When no built-in devkit skill matches
|
|
22
|
+
9. When no built-in devkit skill matches:
|
|
23
|
+
a. Search: use `huaweicloud_search_marketplace` to find a matching skill in the community marketplace
|
|
24
|
+
b. Install: run `npx skills add huaweicloud/huaweicloud-skills --skill <skill-name> -y -g`
|
|
25
|
+
c. Execute: load the installed skill and follow its procedure
|
|
26
|
+
10. When the deliverable is a PPT, architecture diagram (draw.io), or frontend page that needs official Huawei Cloud service logos, use the `huaweicloud_get_service_icon` MCP tool to get logo URLs from the official Icons library instead of guessing or hotlinking unofficial images.
|
|
27
|
+
|
|
28
|
+
## Scenario Routing
|
|
29
|
+
|
|
30
|
+
Match the scenario before picking a service. For "deploy a web app" requests, layer the recommendation instead of defaulting to a production service:
|
|
31
|
+
|
|
32
|
+
| Scenario | Recommended path |
|
|
33
|
+
| -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
34
|
+
| hello world / prototype / demo / temporary preview (free, quick try) | `huawei-sandbox` first — temporary runtime + public URL, ~8h validity, zero billed resources |
|
|
35
|
+
| production / long-term / custom domain / high availability | `huawei-functiongraph` / `huawei-ecs` (or `huawei-cce` for containers) |
|
|
36
|
+
|
|
37
|
+
Route to the sandbox when the developer signals free/quick preview intent ("免费", "快速", "预览", "hello world", "原型", "演示"); route to production services only when production-grade hosting is explicitly required.
|
|
38
|
+
|
|
39
|
+
## Official Service Logos
|
|
40
|
+
|
|
41
|
+
- Use `huaweicloud_get_service_icon` with the service name, alias, or Chinese name (e.g. `ecs`, `obs`, `modelarts`, `对象存储`). It returns the official CDN logo URL (`logo.source_url`), category, and product page link from https://open.huaweicloud.com/openplatform/icons.html.
|
|
42
|
+
- Prefer `logo.source_url` for web deliverables and the Icons library search page for browsing; do not scrape logos from third-party sites.
|
|
24
43
|
|
|
25
44
|
## Deployment Target Options
|
|
26
45
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name:
|
|
3
|
-
short_description:
|
|
4
|
-
default_prompt:
|
|
2
|
+
display_name: 'Huawei Cloud Capability Discovery'
|
|
3
|
+
short_description: 'Find the right Huawei Cloud capability path for a developer task.'
|
|
4
|
+
default_prompt: 'Use $huaweicloud-capability-discovery to route this scenario to Huawei Cloud capabilities.'
|
|
@@ -5,7 +5,6 @@ description: Safe Huawei Cloud KooCLI usage and authentication guidance. Use whe
|
|
|
5
5
|
|
|
6
6
|
# Huawei Cloud CLI And Auth
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
**STOP - Do not answer from general knowledge.** Follow the procedure below.
|
|
10
9
|
|
|
11
10
|
Use KooCLI `hcloud` for local inspection and reviewed operations. Never ask the user to paste AK/SK, SK, tokens, passwords, or credential files into chat.
|
|
@@ -15,16 +14,21 @@ Use KooCLI `hcloud` for local inspection and reviewed operations. Never ask the
|
|
|
15
14
|
Official guide: `https://support.huaweicloud.com/qs-hcli/hcli_02_003.html`.
|
|
16
15
|
|
|
17
16
|
### Windows
|
|
17
|
+
|
|
18
18
|
1. Download and unzip: `https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-windows-amd64.zip`
|
|
19
19
|
2. Extract to `%USERPROFILE%\hcloud`, add to user `PATH`
|
|
20
20
|
3. Verify: `hcloud version`
|
|
21
21
|
|
|
22
22
|
### Linux (amd64 / arm64)
|
|
23
|
+
|
|
23
24
|
One-liner (recommended):
|
|
25
|
+
|
|
24
26
|
```bash
|
|
25
27
|
curl -sSL https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh -y
|
|
26
28
|
```
|
|
29
|
+
|
|
27
30
|
Or manual download:
|
|
31
|
+
|
|
28
32
|
```bash
|
|
29
33
|
# amd64
|
|
30
34
|
curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-amd64.tar.gz"
|
|
@@ -33,15 +37,20 @@ tar -zxvf huaweicloud-cli-linux-amd64.tar.gz
|
|
|
33
37
|
curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-arm64.tar.gz"
|
|
34
38
|
tar -zxvf huaweicloud-cli-linux-arm64.tar.gz
|
|
35
39
|
```
|
|
40
|
+
|
|
36
41
|
Move to PATH: `mv $(pwd)/hcloud ~/.local/bin/`
|
|
37
42
|
Verify: `hcloud version`
|
|
38
43
|
|
|
39
44
|
### macOS (amd64 / arm64)
|
|
45
|
+
|
|
40
46
|
One-liner (recommended):
|
|
47
|
+
|
|
41
48
|
```bash
|
|
42
49
|
curl -sSL https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh -y
|
|
43
50
|
```
|
|
51
|
+
|
|
44
52
|
Or manual download:
|
|
53
|
+
|
|
45
54
|
```bash
|
|
46
55
|
# amd64
|
|
47
56
|
curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-mac-amd64.tar.gz"
|
|
@@ -50,6 +59,7 @@ tar -zxvf huaweicloud-cli-mac-amd64.tar.gz
|
|
|
50
59
|
curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-mac-arm64.tar.gz"
|
|
51
60
|
tar -zxvf huaweicloud-cli-mac-arm64.tar.gz
|
|
52
61
|
```
|
|
62
|
+
|
|
53
63
|
Move to PATH: `mv $(pwd)/hcloud /usr/local/bin/`
|
|
54
64
|
Verify: `hcloud version`
|
|
55
65
|
|
|
@@ -60,9 +70,8 @@ Agent processes find executables through `PATH`. If OpenCode/Codex cannot find `
|
|
|
60
70
|
**NEVER let AK/SK enter shell history. This is the #1 credential leak vector.**
|
|
61
71
|
|
|
62
72
|
- Create AK/SK in the Huawei Cloud console under `My Credentials -> Access Keys`.
|
|
63
|
-
- **
|
|
64
|
-
-
|
|
65
|
-
- **Non-interactive** (DANGEROUS — AK/SK in shell history): `hcloud configure set --cli-access-key=<AK> --cli-secret-key=<SK> --cli-region=<region>`. Only use in ephemeral CI/CD shells. User must execute outside agent chat.
|
|
73
|
+
- **Configure credentials ONLY via `npx huaweicloud-devkit auth init`** — the single entry point. It writes the unified `~/.config/huaweicloud/credentials.json` and mirrors it to KooCLI (`~/.hcloud/config.json`) and OBS (`~/.obsutilconfig`), without AK/SK entering shell history.
|
|
74
|
+
- Never configure KooCLI on its own: do not ask the user to run `hcloud configure init` or `hcloud configure set --cli-access-key=... --cli-secret-key=... --cli-region=...` (AK/SK would leak into shell history). If KooCLI lacks credentials, tell the user to run `npx huaweicloud-devkit auth init`.
|
|
66
75
|
- If MCP is available, use `huaweicloud_show_profile_redacted` to check status without ever seeing credentials.
|
|
67
76
|
- Never paste AK/SK, passwords, tokens, or profile files into the agent conversation.
|
|
68
77
|
- KooCLI stores credentials in `~/.hcloud/config.json`, NOT environment variables. `HCLOUD_ACCESS_KEY` / `HCLOUD_SECRET_KEY` / `HCLOUD_REGION` env vars are NOT read by KooCLI 7.x.
|
|
@@ -111,8 +120,25 @@ hcloud <Service> <ListOp> --cli-output=json --cli-query "items[?status=='ACTIVE'
|
|
|
111
120
|
hcloud <Service> <Op> --cli-debug=true
|
|
112
121
|
```
|
|
113
122
|
|
|
123
|
+
## Credential Resolution Priority
|
|
124
|
+
|
|
125
|
+
Credentials are resolved in this order (highest priority first):
|
|
126
|
+
|
|
127
|
+
| Priority | Source | When active | Persistence |
|
|
128
|
+
| -------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------ | --------------------------- |
|
|
129
|
+
| 1 | Runtime (session) credentials | `huaweicloud_auth_init` / `huaweicloud_auth_switch action=temporary` set them | Memory (MCP restart clears) |
|
|
130
|
+
| 2 | S1 global file with `configuredBySession: true` | set by `huaweicloud_auth_switch action=persist` (session-configured account wins over env) | Permanent (S1) |
|
|
131
|
+
| 3 | Environment variables | `HW_ACCESS_KEY` / `HW_SECRET_KEY` (platform/devspace-injected default account) | MCP process lifetime |
|
|
132
|
+
| 4 | CodeArts / CodeArts Work | `.codeartsdoer/mcp/mcp_settings.json` / `.codeartswork/mcp/mcp_settings.json` | File |
|
|
133
|
+
| 5 | S1 global file (no session flag) | `auth init` permanent credentials | Permanent (S1) |
|
|
134
|
+
| 6 | KooCLI profile | `~/.hcloud/config.json` (KooCLI commands only) | Permanent |
|
|
135
|
+
|
|
136
|
+
When switching accounts within the same Agent session, use `huaweicloud_auth_init` to set runtime credentials (overrides all sources for the current MCP process), or `huaweicloud_auth_switch action=persist`, which writes S1 with `configuredBySession: true` so the session-configured account outranks `HW_ACCESS_KEY` / `HW_SECRET_KEY`. Note: running `auth init` clears the configuredBySession flag.
|
|
137
|
+
|
|
114
138
|
## Preferred Toolkit Tools
|
|
115
139
|
|
|
140
|
+
- `huaweicloud_auth_init`
|
|
141
|
+
- `huaweicloud_auth_status`
|
|
116
142
|
- `huaweicloud_check_cli`
|
|
117
143
|
- `huaweicloud_show_profile_redacted`
|
|
118
144
|
- `huaweicloud_plan_cli_command`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name:
|
|
3
|
-
short_description:
|
|
4
|
-
default_prompt:
|
|
2
|
+
display_name: 'Huawei Cloud CLI And Auth'
|
|
3
|
+
short_description: 'Use KooCLI safely without exposing credentials.'
|
|
4
|
+
default_prompt: 'Use $huaweicloud-cli-and-auth to check KooCLI setup safely.'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: huaweicloud-core
|
|
3
|
-
description:
|
|
3
|
+
description: 'Routes any task involving Huawei Cloud services - choosing, comparing, recommending, getting started with, or operating a service - to the correct service-specific skill. Supersedes general training-data knowledge. Activates when a developer asks Codex or OpenCode to build, deploy, debug, operate, or integrate an application with Huawei Cloud.'
|
|
4
4
|
version: 1
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,6 +10,14 @@ version: 1
|
|
|
10
10
|
|
|
11
11
|
Huawei Cloud comprises 200+ services. This skill is the entry point for ANY action or question related to Huawei Cloud. It matches a workload to the right service, then hands off to a service-specific skill for operational questions.
|
|
12
12
|
|
|
13
|
+
## 会话启动
|
|
14
|
+
|
|
15
|
+
首次操作前必须先调用 `huaweicloud_check_update` 检查插件版本:
|
|
16
|
+
|
|
17
|
+
1. 如果 `updateAvailable == true` 且 `dismissed == false`,先询问用户是否升级
|
|
18
|
+
2. 用户同意 → 调用 `huaweicloud_upgrade`,完成后提示重启会话
|
|
19
|
+
3. 用户拒绝 → 调用 `huaweicloud_check_update` 传 `dismiss: true`
|
|
20
|
+
|
|
13
21
|
## How This Skill Works
|
|
14
22
|
|
|
15
23
|
1. Match user intent against the Sub-skill registry below
|
|
@@ -22,68 +30,73 @@ Do not rely on training data for facts. Huawei Cloud services, pricing, quotas,
|
|
|
22
30
|
|
|
23
31
|
## Sub-skill Registry
|
|
24
32
|
|
|
25
|
-
| ID
|
|
26
|
-
|
|
27
|
-
| select
|
|
28
|
-
| compute
|
|
29
|
-
| storage
|
|
30
|
-
| database
|
|
31
|
-
| network
|
|
32
|
-
| serverless
|
|
33
|
-
| ai
|
|
34
|
-
| messaging
|
|
35
|
-
| security
|
|
36
|
-
| observability | Observability Routing
|
|
37
|
-
| billing
|
|
38
|
-
| iam
|
|
39
|
-
| deployment
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
33
|
+
| ID | Name | Trigger Phrases | Next Steps |
|
|
34
|
+
| ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
35
|
+
| select | Service Selection | which service, what should I use, compare, recommend | Read references/select.md | select |
|
|
36
|
+
| compute | Compute Routing | server, VM, instance, ECS, BMS, GPU, HPC | Handoff to huawei-ecs or huawei-cce |
|
|
37
|
+
| storage | Storage Routing | store files, bucket, OBS, backup, disk, EVS, SFS (long-term storage/CDN intent only) | Handoff to huawei-obs or huawei-cbr |
|
|
38
|
+
| database | Database Routing | database, SQL, NoSQL, cache, RDS, GaussDB, DDS, DCS | Handoff to huawei-rds or huawei-gaussdb |
|
|
39
|
+
| network | Network Routing | VPC, subnet, security group, EIP, NAT, VPN | Handoff to huawei-vpc |
|
|
40
|
+
| serverless | Serverless Routing | function, Lambda, serverless, FunctionGraph, API gateway | Handoff to huawei-functiongraph or huawei-apig |
|
|
41
|
+
| ai | AI/ML Routing | AI, model, LLM, Pangu, training, inference, RAG | Handoff to huawei-modelarts |
|
|
42
|
+
| messaging | Messaging Routing | message queue, notification, Kafka, RabbitMQ, event, SMN | Handoff to huawei-smn-dms |
|
|
43
|
+
| security | Security Routing | secret, credential, encrypt, KMS, WAF, firewall, DDoS | Handoff to huawei-dew or huawei-waf-aad |
|
|
44
|
+
| observability | Observability Routing | monitor, alarm, log, audit, trace, Cloud Eye | Handoff to huawei-cloud-eye or huawei-cts |
|
|
45
|
+
| billing | Billing Routing | cost, bill, budget, spending, invoice | Handoff to huawei-billing |
|
|
46
|
+
| iam | IAM Routing | permission, policy, role, user, group, AK/SK | Handoff to huawei-iam |
|
|
47
|
+
| deployment | Deployment Routing | deploy, host, publish, CI/CD, pipeline, release | CI/CD pipeline -> huawei-deployment; deploy/host/preview a web app or static website (no CI/CD target) -> present deployment-target options first, see "Deployment Target Options" below |
|
|
48
|
+
| iac | IaC Orchestration | 部署方案, 资源编排, 购买资源, 搭建环境, 部署一套, 成本估算, 销毁部署, provision resources, architecture proposal, multi-resource deployment | Handoff to huawei-iac - multi-resource purchase orchestration with cost gating and ordered destroy. Single web app preview still goes to huawei-sandbox first |
|
|
49
|
+
| sandbox | Sandbox Routing | sandbox, DevStation, workspace, terminal, preview, temporary runtime | Handoff to huawei-sandbox |
|
|
50
|
+
| cli | CLI and Auth Routing | install hcloud, configure KooCLI, AK/SK setup | Handoff to huaweicloud-cli-and-auth |
|
|
51
|
+
| safety | Safety Routing | is this safe, approve command, risk review | Handoff to huaweicloud-safety |
|
|
52
|
+
| troubleshoot | Troubleshooting Routing | error, bug, failed, AccessDenied, quota | Handoff to huaweicloud-troubleshooting |
|
|
53
|
+
| api-sdk | API/SDK Routing | API call, SDK, REST, integration, code example | Handoff to huaweicloud-api-and-sdk |
|
|
54
|
+
| report-issue | Issue Reporting | wrong service, you picked wrong, incorrect | Read references/report-issue.md |
|
|
55
|
+
| voucher | Voucher Routing | 领券, 代金券, 优惠券, 激励金, 领取, voucher, coupon, incentive | Handoff to huawei-voucher |
|
|
46
56
|
|
|
47
57
|
## Service Map
|
|
48
58
|
|
|
49
|
-
| Workload
|
|
50
|
-
|
|
51
|
-
| Web application hosting | ECS
|
|
52
|
-
| Containerized microservices
|
|
53
|
-
| Static file storage / CDN (long-term)
|
|
54
|
-
| Relational database (MySQL/PG)
|
|
55
|
-
| Distributed SQL database
|
|
56
|
-
| Document database (MongoDB API)
|
|
57
|
-
| In-memory cache
|
|
58
|
-
| Serverless functions
|
|
59
|
-
| API management
|
|
60
|
-
| AI model training/inference
|
|
61
|
-
| Message queuing
|
|
62
|
-
| Push notifications
|
|
63
|
-
| Secret management
|
|
64
|
-
| Key management
|
|
65
|
-
| DDoS protection
|
|
66
|
-
| Web firewall
|
|
67
|
-
| Monitoring dashboards
|
|
68
|
-
| Audit trails
|
|
69
|
-
| Backup / disaster recovery
|
|
70
|
-
| CI/CD pipeline
|
|
71
|
-
| Temporary runtime / web app preview
|
|
72
|
-
| Getting started
|
|
59
|
+
| Workload | Primary Service | Skill |
|
|
60
|
+
| ------------------------------------------------ | -------------------- | ------------------------ |
|
|
61
|
+
| Web application hosting (production / long-term) | ECS | huawei-ecs |
|
|
62
|
+
| Containerized microservices | CCE | huawei-cce |
|
|
63
|
+
| Static file storage / CDN (long-term) | OBS | huawei-obs |
|
|
64
|
+
| Relational database (MySQL/PG) | RDS | huawei-rds |
|
|
65
|
+
| Distributed SQL database | GaussDB | huawei-gaussdb |
|
|
66
|
+
| Document database (MongoDB API) | DDS | huawei-dds-dcs |
|
|
67
|
+
| In-memory cache | DCS (Redis) | huawei-dds-dcs |
|
|
68
|
+
| Serverless functions | FunctionGraph | huawei-functiongraph |
|
|
69
|
+
| API management | APIG | huawei-apig |
|
|
70
|
+
| AI model training/inference | ModelArts | huawei-modelarts |
|
|
71
|
+
| Message queuing | DMS (Kafka/RabbitMQ) | huawei-smn-dms |
|
|
72
|
+
| Push notifications | SMN | huawei-smn-dms |
|
|
73
|
+
| Secret management | DEW (CSMS) | huawei-dew |
|
|
74
|
+
| Key management | DEW (KMS) | huawei-dew |
|
|
75
|
+
| DDoS protection | AAD | huawei-waf-aad |
|
|
76
|
+
| Web firewall | WAF | huawei-waf-aad |
|
|
77
|
+
| Monitoring dashboards | Cloud Eye (CES) | huawei-cloud-eye |
|
|
78
|
+
| Audit trails | CTS | huawei-cts |
|
|
79
|
+
| Backup / disaster recovery | CBR | huawei-cbr |
|
|
80
|
+
| CI/CD pipeline | CloudDeploy | huawei-deployment |
|
|
81
|
+
| Temporary runtime / web app preview | Sandbox (DevStation) | huawei-sandbox |
|
|
82
|
+
| Getting started | Account setup | huaweicloud-cli-and-auth |
|
|
83
|
+
| Incentive voucher | Voucher | huawei-voucher |
|
|
84
|
+
|
|
85
|
+
**Web app scenario layering**: for "deploy a web app", prefer `huawei-sandbox` for free/quick try (hello world, prototype, demo, temporary preview — temporary runtime + public URL, ~8h validity, zero billed resources); route to `huawei-functiongraph` / `huawei-ecs` (or `huawei-cce`) for production / long-term / custom-domain / high-availability hosting. When the chosen target requires **multiple purchased resources** (e.g. VPC + subnet + ECS + EIP + RDS, or OBS + CDN + DNS) or the user asks for an architecture/cost proposal first, hand off to `huawei-iac` for orchestrated provisioning with a mandatory cost gate.
|
|
73
86
|
|
|
74
87
|
## Deployment Target Options
|
|
75
88
|
|
|
76
89
|
When the intent is to **deploy, host, or preview a web app or static website** (no explicit target named), NEVER default to a single service such as OBS. Ask the developer to choose a target and present the options in this order:
|
|
77
90
|
|
|
78
|
-
| #
|
|
79
|
-
|
|
80
|
-
| 1
|
|
81
|
-
| 2
|
|
82
|
-
| 3
|
|
83
|
-
| 4
|
|
91
|
+
| # | Option | When to choose | Skill |
|
|
92
|
+
| --- | -------------------------------------- | ---------------------------------------------------------- | -------------- |
|
|
93
|
+
| 1 | **Sandbox (DevStation) — recommended** | Temporary runtime, quick preview, demo; instant public URL | huawei-sandbox |
|
|
94
|
+
| 2 | OBS static website hosting | Long-term static hosting / CDN, no backend | huawei-obs |
|
|
95
|
+
| 3 | ECS | Needs a server runtime (backend, custom server) | huawei-ecs |
|
|
96
|
+
| 4 | CCE | Containerized workloads, scaling | huawei-cce |
|
|
84
97
|
|
|
85
98
|
- Recommended prompt: "这个项目是 Web 应用/静态网站,建议优先部署到沙箱(临时运行环境,立即可预览)。也可选择 OBS 静态托管、ECS 或 CCE,你想部署到哪里?"
|
|
86
|
-
- If the developer explicitly names a target (e.g. "deploy to OBS"),
|
|
99
|
+
- If the developer explicitly names a target (e.g. "deploy to OBS"), the SANDBOX target hands off directly to `huawei-sandbox`; every other target (OBS / ECS / CCE / FunctionGraph / ...) hands off to `huawei-iac` for orchestration - iac loads the corresponding service skill for commands and adds the mandatory cost+balance gate, batch approval, state tracking, and ordered destroy. Direct handoff to the bare service skill skips these safety stages and must not happen for deployment intent. **Existing network resources (a reusable VPC) do NOT downgrade this to a single-service task - the purchase itself (compute, EIP, disk, rules) is what triggers iac.**
|
|
87
100
|
- If the developer has no preference, recommend the sandbox first.
|
|
88
101
|
|
|
89
102
|
## Capability Sources
|
|
@@ -100,6 +113,7 @@ When the intent is to **deploy, host, or preview a web app or static website** (
|
|
|
100
113
|
|
|
101
114
|
- Use huaweicloud_search_docs to discover skills covering a topic
|
|
102
115
|
- Use huaweicloud_retrieve_skill to load a full SKILL.md after routing
|
|
116
|
+
- Use huaweicloud_auth_init to switch credentials at runtime when different accounts co-exist in the same session
|
|
103
117
|
- If no built-in skill matches, consult huaweicloud-capability-discovery for external marketplace options
|
|
104
118
|
- Use huaweicloud_list_regions before creating regional resources
|
|
105
119
|
- Use huaweicloud_get_regional_availability when unsure about service-region pairs
|
|
@@ -108,4 +122,4 @@ When the intent is to **deploy, host, or preview a web app or static website** (
|
|
|
108
122
|
|
|
109
123
|
## Quality Bar
|
|
110
124
|
|
|
111
|
-
Prefer short, precise instructions with commands the developer can run. Give source names and exact fields to verify. Avoid inventing service behavior. When uncertain, route to Huawei Cloud Skills or official API/SDK documentation.
|
|
125
|
+
Prefer short, precise instructions with commands the developer can run. Give source names and exact fields to verify. Avoid inventing service behavior. When uncertain, route to Huawei Cloud Skills or official API/SDK documentation.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name:
|
|
3
|
-
short_description:
|
|
4
|
-
default_prompt:
|
|
2
|
+
display_name: 'Huawei Cloud Core'
|
|
3
|
+
short_description: 'Route Huawei Cloud tasks to Skills, CLI, API, SDK, MCP, or Terraform.'
|
|
4
|
+
default_prompt: 'Use $huaweicloud-core to choose the right Huawei Cloud capability path.'
|
|
@@ -12,9 +12,9 @@ Use when the user reports an issue with a previous routing decision.
|
|
|
12
12
|
|
|
13
13
|
## Common Corrections
|
|
14
14
|
|
|
15
|
-
| Wrong Routing
|
|
16
|
-
|
|
17
|
-
| ECS for containers
|
|
18
|
-
| OBS for block storage
|
|
19
|
-
| RDS for cache
|
|
20
|
-
| FunctionGraph for long-running tasks | ECS or CCE
|
|
15
|
+
| Wrong Routing | Likely Correct |
|
|
16
|
+
| ------------------------------------ | ------------------------ |
|
|
17
|
+
| ECS for containers | CCE |
|
|
18
|
+
| OBS for block storage | EVS (via huawei-ecs) |
|
|
19
|
+
| RDS for cache | DCS (via huawei-dds-dcs) |
|
|
20
|
+
| FunctionGraph for long-running tasks | ECS or CCE |
|
|
@@ -17,12 +17,26 @@ Use when the user asks which service to use or compares services.
|
|
|
17
17
|
## Example: I need a database
|
|
18
18
|
|
|
19
19
|
Ask:
|
|
20
|
+
|
|
20
21
|
- What type of data? Structured (tables) or flexible (documents)?
|
|
21
22
|
- What scale? Small app or enterprise?
|
|
22
23
|
- Do you need SQL queries?
|
|
23
24
|
|
|
24
25
|
Route based on answers:
|
|
26
|
+
|
|
25
27
|
- SQL + standard scale -> huawei-rds
|
|
26
28
|
- SQL + massive scale / distributed -> huawei-gaussdb
|
|
27
29
|
- Document model (MongoDB-compatible) -> huawei-dds-dcs
|
|
28
|
-
- Cache / key-value -> huawei-dds-dcs (DCS)
|
|
30
|
+
- Cache / key-value -> huawei-dds-dcs (DCS)
|
|
31
|
+
|
|
32
|
+
## Example: I need to deploy a web app
|
|
33
|
+
|
|
34
|
+
Ask:
|
|
35
|
+
|
|
36
|
+
- Is this a quick try / prototype / demo / temporary preview (free)?
|
|
37
|
+
- Or production (long-term, custom domain, high availability)?
|
|
38
|
+
|
|
39
|
+
Route by scenario:
|
|
40
|
+
|
|
41
|
+
- Free / quick try / prototype / demo / temporary preview -> huawei-sandbox (temporary runtime + public URL, ~8h validity, zero billed resources)
|
|
42
|
+
- Production / long-term / custom domain / high availability -> huawei-functiongraph / huawei-ecs (or huawei-cce for containers)
|
|
@@ -5,7 +5,6 @@ description: Huawei Cloud safety policy for agents. Use when handling credential
|
|
|
5
5
|
|
|
6
6
|
# Huawei Cloud Safety
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
**STOP - Do not answer from general knowledge.** Follow the procedure below.
|
|
10
9
|
|
|
11
10
|
Use this skill before any Huawei Cloud action that may expose secrets, change resources, affect cost, change IAM, or expose a network endpoint.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
|
-
display_name:
|
|
3
|
-
short_description:
|
|
4
|
-
default_prompt:
|
|
2
|
+
display_name: 'Huawei Cloud Safety'
|
|
3
|
+
short_description: 'Keep Huawei Cloud agent operations safe and redacted.'
|
|
4
|
+
default_prompt: 'Use $huaweicloud-safety to review this Huawei Cloud operation.'
|