文档

huawei-cloud-kunpeng-source-code-migrate

试用

Analyze the migrability of C/C++/ASM/Fortran/Go/Java/Python/Scala source code to Kunpeng (ARM64) platform using Huawei DevKit CLI tool. Connect to the source server via SSH, install DevKit, scan source code, and generate a migration assessment report. If the user does not have a remote server, this skill can automatically provision a Kunpeng ECS instance on Huawei Cloud (Guiyang Region 1) using hcloud CLI. Use this skill when the user wants to: (1) assess source code portability/migrability to Kunpeng ARM platform, (2) scan C/C++/ASM/Fortran/Go/Java/Python/Scala code for migration issues, (3) generate a Kunpeng migration report for their software project, (4) check source code compatibility with ARM64/Kunpeng architecture, (5) provision a Kunpeng server on Huawei Cloud for migration assessment. Trigger: user mentions "鲲鹏移植", "鲲鹏迁移", "Kunpeng migration", "Kunpeng porting", "源码迁移", "源码移植", "ARM64迁移", "ARM移植评估", "DevKit", "可迁移性分析", "migrability", "porting assessment", "migration report",

它能做什么

Analyze the migrability of C/C++/ASM/Fortran/Go/Java/Python/Scala source code to Kunpeng (ARM64) platform using Huawei DevKit CLI tool. Connect to the source server via SSH, install DevKit, scan source code, and generate a migration assessment report. If the user does not have a remote server, this skill can automatically provision a Kunpeng ECS instance on Huawei Cloud (Guiyang Region 1) using hcloud CLI. Use this skill when the user wants to: (1) assess source code portability/migrability to Kunpeng ARM platform, (2) scan C/C++/ASM/Fortran/Go/Java/Python/Scala code for migration issues, (3) generate a Kunpeng migration report for their software project, (4) check source code compatibility with ARM64/Kunpeng architecture, (5) provision a Kunpeng server on Huawei Cloud for migration assessment. Trigger: user mentions "鲲鹏移植", "鲲鹏迁移", "Kunpeng migration", "Kunpeng porting", "源码迁移", "源码移植", "ARM64迁移", "ARM移植评估", "DevKit", "可迁移性分析", "migrability", "porting assessment", "migration report", "鲲鹏评估", "购买鲲鹏服务器", "鲲鹏云服务器", "Kunpeng ECS"

技能文档

Kunpeng Source Code Migration Assessment

Analyze the migrability of C/C++/ASM/Fortran/Go/Java/Python/Scala source code to Kunpeng (ARM64) platform using Huawei DevKit CLI tool.

Overview

This skill assesses source code migrability to the Kunpeng (ARM64) platform using Huawei DevKit CLI. It connects to a source server via SSH (or installs locally), installs DevKit, scans source code, and generates a migration assessment report. If the user has no remote server, it can automatically provision a Kunpeng ECS instance on Huawei Cloud (Guiyang Region 1) via hcloud CLI.

Architecture: Local detection + remote execution + SFTP transfer. All SSH operations use the unified scripts/ssh_client.py (paramiko + password env var), cross-platform consistent. See the Architecture section below for the full tree.

Applicable scenarios:

  • Assess source code portability/migrability to Kunpeng ARM platform
  • Scan C/C++/ASM/Fortran/Go/Java/Python/Scala code for migration issues
  • Generate a Kunpeng migration assessment report for a software project
  • Check source code compatibility with ARM64/Kunpeng architecture
  • Provision a Kunpeng server on Huawei Cloud for migration assessment

Report save path (fixed unless user explicitly requests otherwise): Windows → C:\devkit-report\, Linux/macOS → /home/devkit-report/.

Prerequisites

CLI version requirements:

ToolVersionPurpose
Python3.xRun ssh_client.py, detect_os.py, paramiko dependency
paramikolatest stableSSH connection (pip install paramiko)
hcloud (KooCLI)>= 3.2.0Only needed for provisioning path (Step 3d)
DevKit CLIauto-installed by install_devkit.shSource code migration scan

Authentication:

  • SSH credentials (existing server, Step 3c): User must set env vars KUNPENG_SERVER_HOST, KUNPENG_SERVER_PORT (default 22), KUNPENG_SERVER_USER (default root), MIGRATE_SSH_PASS in their own terminal. AI must NEVER ask for or echo these values.
  • Huawei Cloud AK/SK (provisioning path, Step 3d): User must run hcloud configure set --cli-region=cn-southwest-2 --cli-access-key= --cli-secret-key= in their own terminal. AI must NEVER ask for AK/SK.

IAM permissions (Step 3d only): Required for provisioning a Kunpeng ECS on Huawei Cloud. Minimum set: ECS create/list/delete, VPC create/get/delete, Subnet, SecurityGroup, EIP create/delete, IMS list, IAM projects list. See references/iam-policies.md for the full policy JSON and setup instructions.

OS support: DevKit local install supports openEuler/CentOS/Ubuntu/Kylin/UOS/EulerOS/Debian/SUSE/NeoKylin. Windows and macOS are NOT supported for local install — must use a remote Linux server.

Core Commands

1. Local OS detection:

python /scripts/detect_os.py

2. SSH connection & remote execution (unified paramiko client):

python /scripts/ssh_client.py test                              # Test SSH connection
python /scripts/ssh_client.py exec "uname -a" 30                # Execute remote command
python /scripts/ssh_client.py put                # SFTP upload single file
python /scripts/ssh_client.py put-dir    # SFTP upload directory
python /scripts/ssh_client.py get-report                        # Download migration report

3. DevKit installation:

bash /scripts/install_devkit.sh --yes

4. Source code migration scan (DevKit CLI):

# C/C++ project (with build command):
devkit porting src-mig -i /home/project -s 'c, c++, asm' -b make -c 'make all' -p gcc9.3.0 -o /tmp/devkit-report -r all

# Java/Python project (no build command):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/devkit-report -r all

5. Kunpeng ECS auto-provisioning (Step 3d only):

bash /scripts/provision_kunpeng_server.sh --confirm

6. hcloud CLI install & configure (Step 3d only):

curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-amd64.tar.gz"
tar -xzf huaweicloud-cli-linux-amd64.tar.gz && chmod +x hcloud && sudo mv hcloud /usr/local/bin/
hcloud configure set --cli-region=cn-southwest-2 --cli-access-key= --cli-secret-key=
hcloud version   # Expected: >= 3.2.0

Parameter Confirmation

AI must confirm the following parameters with the user before execution.

SSH connection parameters (env vars, set by user in their own terminal):

ParameterEnv VarRequiredDefaultDescription
Server addressKUNPENG_SERVER_HOSTYes-Remote server IP/hostname
SSH portKUNPENG_SERVER_PORTNo22SSH port
SSH usernameKUNPENG_SERVER_USERNorootSSH login user
SSH passwordMIGRATE_SSH_PASSYes-Read by paramiko, never in argv, wiped from os.environ after each connection

DevKit scan parameters (confirm with user before scanning):

ParameterCLI optionRequiredDefaultDescription
Source path-iYes-Source code directory (MUST ask user first)
Output dir-oYes/tmp/devkit-reportReport output dir (must exist)
Languages-sYes-c, c++, asm, fortran, go, java, python, scala (lowercase, comma-separated)
Build command-cNoNonee.g. 'make all'
Build tool-bNoNonemake/cmake/automake/go/bazel/blade
Compiler version-pNoNonee.g. gcc9.3.0
Report format-rNoallall/json/html/csv
Target OS-tNoauto-detecte.g. openEuler22.03
Concurrency-npNo1Concurrent processes

⚠️ AI MUST ask the user for the source code path before scanning. Do NOT scan or upload local files without user confirmation.

⛔ Prohibited Operations

Prohibited OperationReason
❌ Ask user to input SSH credentials in conversationCredentials must only be read from environment variables
❌ Echo/print SSH password or any credentialsPrevent credential leakage
❌ Store credentials in plain text filesCredentials must only exist in environment variables
❌ Execute destructive commands on remote server (rm -rf, format, etc.)Prevent irreversible damage
❌ Modify source code without user confirmationMigration assessment is read-only
❌ Install packages outside DevKit scopeOnly DevKit and its dependencies may be installed
❌ Scan without asking the user for the source code pathMust always ask where the source code is
❌ Delete any cloud resources without explicit user confirmationResource deletion is irreversible and HIGH-RISK
❌ Execute any hcloud ... Delete* command autonomouslyAll delete operations require explicit user confirmation

If a user requests a prohibited operation, refuse and inform: "Per security constraints, this skill does not allow [specific operation]. Please perform this operation manually if needed."

Architecture

Kunpeng Source Code Migration Assessment
├── DetectLocalOS     (Detect agent OS → determine DevKit install path)
├── PrepareServer     (Determine where to install DevKit and run scan)
│   ├── LocalInstall  (Install DevKit locally — only if OS is supported)
│   ├── RemoteInstall (Install DevKit on remote server via SSH)
│   │   ├── HasServer (Configure SSH via ssh_client.py: paramiko + password env var)
│   │   └── NoServer  (Install hcloud CLI → Provision Kunpeng ECS → Configure SSH)
│   └── NotSupported  (Local OS not supported → must use remote server)
├── ConnectServer     (SSH connect via paramiko + MIGRATE_SSH_PASS env var)
├── InstallDevKit     (Detect OS and install DevKit CLI tool)
└── ScanSourceCode    (Scan source code → generate report → save to fixed local path)
    └── ReportSave    (Windows: C:\devkit-report\ | Linux/macOS: /home/devkit-report/)

⚠️ Task 0 (DetectLocalOS + PrepareServer) MUST be executed first — it determines the entire workflow path.

SSH Connection Strategy

All SSH operations use the unified scripts/ssh_client.py (paramiko + password from env var). No ssh/scp commands, no ControlMaster, no key injection, no Huawei Cloud region dependency. Works identically on Windows, Linux, and macOS.

Environment variables (set by user in their own terminal; AI never sees values):

VariableDescriptionDefault
KUNPENG_SERVER_HOSTRemote server IP/hostname(required)
KUNPENG_SERVER_PORTSSH port22
KUNPENG_SERVER_USERSSH usernameroot
MIGRATE_SSH_PASSSSH password (read by paramiko, never in argv, wiped after each connection)(required)

Setting env vars (cross-platform):

# Linux / macOS (current session):
export KUNPENG_SERVER_HOST=''
export KUNPENG_SERVER_PORT='22'
export KUNPENG_SERVER_USER='root'
export MIGRATE_SSH_PASS=''

# Windows PowerShell (current session):
$env:KUNPENG_SERVER_HOST=''
$env:KUNPENG_SERVER_PORT='22'
$env:KUNPENG_SERVER_USER='root'
$env:MIGRATE_SSH_PASS=''

# Windows (persistent, GUI): Settings > Environment Variables > User > New
# (requires IDE/terminal restart)

Credential resolution priority (first match wins):

  1. Current process env vars (export / $env:)
  2. /tmp/kunpeng_server_env.sh (Linux/macOS) or %TEMP%/kunpeng_server_env.sh (Windows)
  3. Windows user-level registry (winreg) — fallback for GUI-set vars
  4. Default value

ssh_client.py subcommands:

SubcommandDescription
testVerify SSH connection (echo SSH_OK && uname -a)
exec "" [timeout]Execute a shell command on the remote server
put Upload a single file via SFTP
put-dir Upload a directory recursively via SFTP
get Download a single file via SFTP
get-dir Download a directory recursively via SFTP
get-report [remote_dir] [local_dir]Download DevKit report (filtered by Code_Porting_*.{html,json,csv,txt}). Defaults: remote=/tmp/devkit-report, local=C:\devkit-report (Win) or /home/devkit-report (Linux)
save-envSave connection info (host/port/user) to a temp env file (no password)

📦 SFTP-First File Transfer (Critical for Windows + MSYS2)

⚠️ On Windows + MSYS2/Git Bash, the shell converts Unix paths in command arguments to Windows paths before Python sees them (e.g., /tmp/fooC:/Users/.../Temp/2/foo). This cannot be fixed from within Python's sys.argv.

Rule: For file transfer, always use paramiko SFTP API directly from Python, not ssh_client.py CLI subcommands.

import os, paramiko
host = os.environ.get('KUNPENG_SERVER_HOST')
port = int(os.environ.get('KUNPENG_SERVER_PORT', '22'))
user = os.environ.get('KUNPENG_SERVER_USER', 'root')
password = os.environ.get('MIGRATE_SSH_PASS')
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host, port=port, username=user, password=password, timeout=30)
sftp = client.open_sftp()
sftp.put(r'C:\local\install_devkit.sh', '/tmp/install_devkit.sh')
sftp.chmod('/tmp/install_devkit.sh', 0o755)
sftp.close()
client.close()

AI agent workflow:

  1. File transfer → paramiko SFTP API directly (see above)
  2. Command executionssh_client.py exec "" (short commands only)
  3. Script execution → upload via SFTP, then exec "bash /tmp/script.sh"

When ssh_client.py put/get detects a mangled Windows path, it exits with an error directing you to use the paramiko SFTP API directly. See references/scripts-guide.md#sftp-first-file-transfer and references/troubleshooting.md#7-msys2-path-conversion-error-windows-only.

Built-in Scripts

AI MUST use these scripts instead of manually executing step-by-step commands.

📄 Detailed guide → references/scripts-guide.md

ScriptDescription
detect_os.pyLocal OS detection (outputs os_type/arch/local_install_supported)
ssh_client.pyUnified cross-platform SSH client (paramiko + env vars). Subcommands: test, exec, put, put-dir, get, get-dir, get-report, save-env
install_devkit.shDevKit CLI installation (auto-detect OS/arch, download, install, verify)
provision_kunpeng_server.shKunpeng ECS provisioning (Huawei Cloud Guiyang Region 1)

Supported Languages

LanguageFile ExtensionsMigration Concerns
C.c, .hInline assembly, platform-specific headers, byte order, pointer size
C++.cpp, .cc, .cxx, .hppSame as C, plus name mangling, ABI compatibility
Assembly (ASM).s, .S, .asmArchitecture-specific instructions, registers, calling conventions
Fortran.f, .f90, .f95, .f03Compiler intrinsics, MPI library compatibility
Go.goCGO calls, assembly files, architecture-specific build tags
Java.javaJNI native libraries, architecture-specific dependencies
Python.pyC extensions (Cython, CFFI), native bindings
Scala.scalaJNI calls, native library dependencies

Core Workflows

Task 0: Detect Local OS and Prepare Environment

This is the FIRST task. It detects the agent's local OS and determines the DevKit installation path.

Step 1: Detect local OS:

python /scripts/detect_os.py

Outputs os_type, os_name, os_version, arch, local_install_supported as key=value pairs. Works on all platforms without external dependencies.

⚠️ AI MUST use detect_os.py instead of manually running uname -m, cat /etc/os-release, PowerShell, etc.

DevKit-supported local OS list:

OSMinimum VersionNotes
openEuler20.03 LTSRecommended for Kunpeng
CentOS7.6Also supports 8.0
Ubuntu18.04Also supports 20.04, 22.04
KylinV10Domestic OS
UOS20Domestic OS
EulerOS2.8Also supports 2.9
Debian10Also supports 11
SUSE12
NeoKylinV7Domestic OS

Windows and macOS are NOT supported for local DevKit installation. DevKit must be installed on a remote Linux server.

Step 2: Ask user where to install DevKit

  • If local OS IS supported (LOCAL_INSTALL_SUPPORTED=true): Ask "local install" or "remote server install"
    • "local install" → Step 3a
    • "remote server install" → Step 3b
  • If local OS is NOT supported: Ask "existing remote Linux server" or "provision Kunpeng server on Huawei Cloud"
    • "existing remote Linux server" → Step 3c
    • "provision Kunpeng server" → Step 3d

Step 3a: Local Install

  1. Install DevKit: bash /scripts/install_devkit.sh --yes
  2. Ask user for local source code path
  3. Run DevKit scan locally (no SSH needed)
  4. Skip Task 1 — proceed directly to Task 3 with local paths

📄 Details → references/task-local-devkit.md

Step 3b: Remote Install — Ask about remote server

Ask "existing remote Linux server" or "provision Kunpeng server" → Step 3c or 3d.

Step 3c: User has remote server — Configure SSH

User sets KUNPENG_SERVER_HOST/PORT/USER and MIGRATE_SSH_PASS in their terminal (AI never sees values). Verify:

python /scripts/ssh_client.py test

⚠️ No region dependency: Remote server can be on any cloud or on-premises. No hcloud CLI needed for SSH.

After verification succeeds, proceed to Task 1.

Step 3d: User has no server — Provision Kunpeng ECS on Huawei Cloud

⛔ CRITICAL: AI MUST use provision_kunpeng_server.sh to create ALL cloud resources. NEVER manually call hcloud APIs individually.

  1. Check hcloud CLI installation and authentication
  2. Confirm provisioning with user (present spec and estimated cost)
  3. Execute: bash /scripts/provision_kunpeng_server.sh --confirm
    • Creates VPC → Subnet → Security Group + SSH rule → EIP → ECS
    • Generates random root password, saves to /tmp/kunpeng_server_env.sh as MIGRATE_SSH_PASS (chmod 600)
  4. Load env: source /tmp/kunpeng_server_env.sh
  5. Verify SSH: python /scripts/ssh_client.py test
  6. Proceed to Task 1
  7. After scan completes (Task 3): Present Resource Cleanup Reminder

📄 Details → references/task-prepare-server.md

Task 1: Connect to Source Code Server via SSH

Verify connection using python /scripts/ssh_client.py test. All subsequent operations use ssh_client.py subcommands (see SSH Connection Strategy above).

📄 Details → references/task-connect-server.md

Task 2: Install DevKit CLI Tool

Install DevKit CLI on the target machine using scripts/install_devkit.sh. The script auto-detects OS/architecture, installs dependencies, downloads the correct package, and verifies installation.

⚠️ AI MUST use scripts/install_devkit.sh instead of manually running step-by-step commands.

📄 Details → references/task-install-devkit.md

Task 3: Scan Source Code and Generate Migration Report

⚠️ CRITICAL RULES:

  1. MUST ask user for the source code path before scanning. Do NOT scan without user confirmation.
  2. MUST NOT scan local source code without permission.
  3. MUST NOT upload local files to remote server without permission.
  4. CAN list available source code directories on remote server to help user choose.

Report save path (local download):

Agent OSLocal Report Save Path
WindowsC:\devkit-report
Linux / macOS/home/devkit-report

The skill MUST create the directory if it does not exist. Report files (HTML, JSON, CSV) MUST be saved directly under / (no project_name subdirectory). This path is fixed unless user explicitly requests a different location.

Downloading the report:

# Download with defaults (remote=/tmp/devkit-report, local=C:\devkit-report on Windows):
python /scripts/ssh_client.py get-report

# Or specify custom paths:
python /scripts/ssh_client.py get-report /tmp/devkit-report /home/devkit-report

⚠️ AI MUST use get-report (or paramiko SFTP API) to download the report. Do NOT use exec with base64/cat to download files.

📄 Details → references/task-scan-source-code.md


DevKit CLI Command Reference

The primary tool is Kunpeng DevKit CLI (devkit command).

Source migration command:

devkit porting src-mig -i  -o  -s '' [options]

Required parameters:

ParameterDescriptionExample
-iSource code directory path/home/user/project
-oOutput directory for report (must exist)/tmp/devkit-report
-sSource language(s), comma-separated'c, c++, asm'

Optional parameters:

ParameterDescriptionDefaultExample
-cBuild/compiling commandNone'make all'
-bBuild toolNonemake, cmake, automake, go, bazel, blade
-pCompiler versionNonegcc9.3.0
-fFortran compiler versionNonegfortran9
-tTarget OSAuto-detectopenEuler22.03
-rReport formatallall, json, html, csv
-lLog level1 (INFO)0(DEBUG), 1(INFO), 2(WARN), 3(ERROR)
-npConcurrent processes14
--ignoreIgnore rules config fileBuilt-in/path/to/ignore_rules.json
--ignore-pathSource paths to ignoreNone/path/to/exclude
--kp-compatibilityKunpeng cross-generation compatibility checkOff(flag)

Language values (-s): c, c++, asm, fortran, go, java, python, scala (lowercase, comma-separated)

Compiler versions (-p): gcc4.8.5, gcc7.3.0, gcc9.3.0, gcc10.3.0, gcc12.3.0, bisheng compiler3.0.0, bisheng compiler4.0.0, gcc for openeuler3.0.3, etc.

Scan examples:

# C/C++ project with make build:
devkit porting src-mig -i /home/project -s 'c, c++, asm' -b make -c 'make all' -p gcc9.3.0 -o /tmp/report -r all

# Java/Python project (interpreted, no build command):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/report -r all

⚠️ The devkit binary must be run from its installation directory (e.g., cd /usr/local/devkit && ./devkit), or the directory must be in PATH. The output directory (-o) must already exist.

📄 Full CLI reference → references/devkit-cli-reference.md


References

DocumentDescription
scripts-guide.mdBuilt-in scripts: SSH client, provisioning, DevKit installation
prerequisites.mdPrerequisites and authentication
iam-policies.mdIAM permission policies for ECS provisioning (Step 3d)
cli-installation-guide.mdhcloud (KooCLI) installation guide
task-prepare-server.mdTask 0: Detect OS, prepare environment
task-local-devkit.mdTask 0a: Local DevKit install
task-connect-server.mdTask 1: SSH connect to server
task-install-devkit.mdTask 2: Install DevKit CLI
task-scan-source-code.mdTask 3: Scan source code
devkit-cli-reference.mdDevKit CLI command reference
devkit-installation-guide.mdDevKit installation guide
migration-report-guide.mdMigration report interpretation
troubleshooting.mdTroubleshooting and common issues
acceptance-criteria.mdAcceptance criteria
verification-method.mdVerification methods

Resource Cleanup Reminder

⚠️ After the scan completes and the report is presented, AI MUST remind the user to clean up provisioned resources (applies to Step 3d provisioning path only). Present as TEXT ONLY — never execute delete commands.

### 🧹 Resource Cleanup Reminder

The following resources were created during this assessment and incur ongoing charges:

| Resource Type | Resource ID | Details |
|---------------|-------------|---------|
| ECS Instance  |         | ,  |
| VPC           |         |  |
| Subnet        |         |  |
| EIP           |         |  |
| Security Group|         |  |

To delete these resources, execute the following commands manually:

  [delete commands here]

⚠️ WARNING: Deletion is IRREVERSIBLE. Verify resource IDs before executing.
⚠️ AI will NOT execute these commands. Please run them manually.

For Step 3c (existing server) and Step 3a (local install): No cleanup reminder needed — user provided their own server or installed DevKit locally.

相关技能

Install Kunpeng DevKit in WebUI mode on Huawei Cloud. Create a Kunpeng (aarch64) ECS via Python SDK with random password, encrypt password via Python KMS SDK, use hcloud CLI for EIP/VPC operations, use Python paramiko SSH (password in process memory only) to install DevKit-All-x.x.x-Linux-Kunpeng.tar.gz, including framework and all plugins (porting/affinity/devtools/debugger/sys_perf/java_perf/sys_diagnosis). Use this skill when the user wants to: (1) install DevKit on a new Kunpeng ECS, (2) install DevKit on an existing Kunpeng ECS. Trigger: user mentions "DevKit", "Kunpeng DevKit", "install DevKit", "DevKit WebUI", "Kunpeng DevKit", "DevKit-All", "鲲鹏DevKit", "安装DevKit", "鲲鹏开发套件"

2 次安装

Huawei Cloud CCE container migration planning skill using Python SDK dispatcher for read-only resource inventory, dependency mapping, migration batch design,...

5 次安装1 星标

Provides guidance for Huawei Cloud KooCLI command-line tool operations. Covers KooCLI installation, IAM authentication configuration, access credential confi...

作者 huaweicloud-skills-team1 次安装

为华为云 CCE 容器环境生成一份按维度打分的云原生评估报告,并给出分优先级的整改建议。

作者 huaweicloud-skills-team

Audit Huawei Cloud skills for quality, security, and compliance using a two-check pipeline: skillspector (AI security) and gitleaks (credential leak). Generates structured reports with issue details and fix strategies. Triggers include: "审计技能","技能审计","检查技能质量","扫描技能问题","技能安全审计", "audit skill","check skill quality","scan skills for issues","skill audit", "华为云技能审计","技能合规检查","skill gate","质量门禁","技能检查", "audit huawei cloud skill","verify skill compliance","技能质量检查","跑审计","安全扫描".

2 次安装

Query the total number of Huawei Cloud services available through KooCLI offline metadata. Returns the count of all supported cloud services from the cached service catalog. Triggers include: "how many Huawei Cloud services", "count Huawei Cloud services", "华为云服务总数", "华为云有多少个服务", "查询华为云服务数量".

1 次安装