Install
openclaw skills install huawei-cloud-ascend-commandHuawei Ascend NPU natural language management skill, supporting both local direct connection and SSH remote modes. Provides comprehensive npu-smi command capabilities including device queries, configuration management, firmware upgrade, vNPU virtualization, certificate management, and compute power testing (FLOPS). Enables remote management and monitoring of Ascend NPU devices with real-time metrics tracking. Use this skill when the user wants to: (1) query NPU device status and health, (2) monitor temperature, power, memory/HBM utilization, (3) configure ECC settings and fan modes, (4) perform firmware upgrades, (5) manage vNPU virtualization, (6) run compute power tests, (7) check certificate information. Trigger: user mentionsnpu', 'ascend', 'NPU', 'Ascend', 'temperature', 'power', 'HBM', 'firmware', 'upgrade', 'vNPU', 'virtualization', 'certificate', 'FLOPS', 'compute', 'health', 'memory', 'utilization', 'ECC', 'fan', '昇腾', '昇腾卡', '昇腾状态', '显存', '算力', '设备查询', 'NPU监控'"
openclaw skills install huawei-cloud-ascend-commandProvides Huawei Ascend NPU natural language command translation and execution. Supports full npu-smi commands: device queries, configuration management, firmware upgrade, vNPU virtualization, certificate management, and compute power testing.
This skill provides natural language management for Huawei Ascend NPU devices via npu-smi commands. Supports both local direct execution and SSH remote modes.
Related Skills:
huawei-cloud-ascend-remote-connect - General SSH remote operations (disk, Docker, logs, processes)npu-smi-skill - Alternative NPU management implementationmodel-deploy-test-skill - Model deployment and testing on Ascend DevServerCapabilities:
┌─────────────────────────────────────────────────────────────────────┐
│ Agent Orchestration │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 1. Parse user intent → Match Trigger keywords │ │
│ │ 2. Prepare params → host, user, password explicit │ │
│ │ 3. Invoke Skill → skill exec --name ascend-command │ │
│ │ 4. Return result → User │ │
│ └────────────────────────────┬────────────────────────────────┘ │
│ │ Explicit param passing (Rule 1) │
│ ▼ │
├─────────────────────────────────────────────────────────────────────┤
│ User Interaction Layer │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Natural Language Commands / CLI Arguments │ │
│ │ (NPU health check, temperature, firmware upgrade) │ │
│ └────────────────────────────┬────────────────────────────────┘ │
│ │ │
│ ▼ │
├─────────────────────────────────────────────────────────────────────┤
│ Skill Core Components (Stateless (Rule 2)) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Command Executor│←→│ NPU Client │←→│ Trend Recorder │ │
│ │ - NL Parsing │ │ - npu-smi cmd │ │ - Metric Log │ │
│ │ - Command Route│ │ - Local/SSH │ │ - Trend Analysis│ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │ │ │
│ ▼ ▼ │
├─────────────────────────────────────────────────────────────────────┤
│ Huawei Cloud Ascend Infrastructure │
│ Data Flow: Agent → Skill(host,user,pwd) → SSH → npu-smi → Response │
└─────────────────────────────────────────────────────────────────────┘
User request: "Query NPU status on 116.204.23.145"
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Agent parses intent │
│ - Keyword "NPU" → Match ascend-command │
│ - IP address → SSH params needed │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Agent prepares params (explicit, Rule 1) │
│ --host 116.204.23.145 │
│ --user root │
│ --password *** │
│ --command "NPU list" │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Skill executes (Stateless, Rule 2) │
│ - NpuClient(host, user, password) explicit receive │
│ - Execute npu-smi command │
│ - Return result │
└─────────────────────────────────────────────────────────────┘
│
▼
Return to user
| Skill | Purpose | Orchestration Scenario |
|---|---|---|
huawei-cloud-ascend-remote-connect | SSH remote ops | Agent selects when user needs disk/Docker/logs |
npu-smi-skill | NPU management | Alternative impl, Agent selects by scenario |
model-deploy-test-skill | Model deploy | Use ascend-command to monitor NPU after deploy |
Note: No direct calls between Skills, orchestrated by Agent based on user intent.
Prerequisite check: Python3 required
python3 --version # Python3 >= 3.8
Security rules (must be followed):
- Prohibited from reading, echoing, or printing password values
- Prohibited from asking the user to input passwords directly in the conversation
- Only allowed to read credentials from command line arguments
| Parameter | Required | Description |
|---|---|---|
| command | Yes (one-shot) | Natural language command to execute |
| host | No | SSH remote host IP address |
| user | No | SSH username |
| password | No | SSH password |
The following operations require explicit user confirmation:
python3 scripts/main.py --command "NPU health check"
python3 scripts/main.py --command "NPU list" --host 192.168.1.100 --user root --password xxx
python3 scripts/main.py
List all NPU devices
NPU health check
Get NPU temperature
Get NPU power usage
Get NPU memory info
Set ECC mode
Set fan mode
Query firmware version
Upgrade firmware
Query vNPU info
Create vNPU
Run FLOPS test
Run FP32 FLOPS test
Run multi-device FLOPS test
All command outputs follow a structured format:
{
"status": "success",
"command": "npu-smi info -l",
"description": "List all NPU devices"
}
[ERROR] <error-code>
Message: <error-description>
Suggestion: <troubleshooting-tip>
Environment Check
python3 --version # Verify Python 3.8+
Local Command Test
python3 scripts/main.py --command "NPU list"
Remote Command Test
python3 scripts/main.py --host <ascend-ip> --user root --password <pwd> --command "NPU health check"
| Test Case | Expected Output |
|---|---|
| Environment check | Python version >= 3.8 |
| Local command | NPU device information or "npu-smi not found" |
| Remote command | NPU status from remote server |
executor.py: NPU command executor (main entry)
handle_command(text), confirm_sensitive()npu_client.py: NPU client
list_devices(), get_health(), get_temperature(), get_power(), get_memory(), set_ecc_enable(), upgrade_query(), create_vnpu(), get_tls_cert()| Natural Language | Command | Description |
|---|---|---|
| List all NPU devices | npu-smi info -l | List all NPU devices |
| NPU card info | npu-smi info -m | Card and chip mapping |
| NPU info | npu-smi info | Full NPU information |
| Natural Language | Command | Description |
|---|---|---|
| NPU health check | npu-smi info -t health -i 0 | Check device health |
| Check NPU status | npu-smi info -t health -i 0 | Check device health |
| Natural Language | Command | Description |
|---|---|---|
| NPU temperature | npu-smi info -t temp -i 0 -c 0 | Get temperature |
| NPU power | npu-smi info -t power -i 0 -c 0 | Get power usage |
| NPU memory | npu-smi info -t memory -i 0 -c 0 | Get memory info |
| NPU utilization | npu-smi info -t usages -i 0 -c 0 | Get utilization |
| Natural Language | Command | Description |
|---|---|---|
| Set ECC | npu-smi set -t ecc-enable -i 0 -c 0 -d 1 | Enable ECC (requires confirmation) |
| Set fan mode | npu-smi set -t pwm-mode -d 0 | Set fan mode (requires confirmation) |
| Natural Language | Command | Description |
|---|---|---|
| Firmware version | npu-smi upgrade -b mcu -i 0 | Query firmware version |
| Upgrade firmware | npu-smi upgrade -t mcu -i 0 -f file.hpm | Upload firmware (requires confirmation) |
| Natural Language | Command | Description |
|---|---|---|
| vNPU info | npu-smi info -t info-vnpu -i 0 -c 0 | Query vNPU info |
| Template info | npu-smi info -t template-info -i 0 | Query template info |
| Create vNPU | npu-smi set -t create-vnpu -i 0 -c 0 -f vir04 | Create vNPU (requires confirmation) |
| Natural Language | Command | Description |
|---|---|---|
| Certificate info | npu-smi info -t tls-cert -i 0 -c 0 | View TLS certificate |
| Certificate expiration | npu-smi info -t tls-cert-period -i 0 -c 0 | Query certificate expiration threshold |
Default behavior: single device FP16, fast return (~2 seconds)
| Natural Language | Command | Description |
|---|---|---|
| FLOPS test | ascend-dmi -f -d 0 -t fp16 -q | Default: NPU 0, FP16 |
| NPU FLOPS | ascend-dmi -f -d 0 -t fp16 -q | Same as above |
| NPU 3 FLOPS | ascend-dmi -f -d 3 -t fp16 -q | Specify NPU 3 |
| FP32 FLOPS | ascend-dmi -f -d 0 -t fp32 -q | FP32 precision |
| All devices FLOPS | 8 devices async parallel | All NPUs tested simultaneously |
Execution strategy:
| Optimization | Description | Effect |
|---|---|---|
| SSH persistent connection | ControlMaster reuse | Connection time ~0.1s |
| Batch execution | execute_batch() for multiple commands | Reduce SSH round trips |
| Parallel query | test_flops_parallel() 8-device async test | 16s -> 2s |
| Single parse | parse_full_info() get all card info at once | O(N) -> O(1) |
Connection Mode Selection
Command Execution Tips
Performance Monitoring
Troubleshooting
npu-smi infonpu-smi info -t board -i <npu_id>Trigger Keywords
huawei-cloud-ascend-command/
├── SKILL.md # Skill description (required)
├── scripts/ # Scripts directory (required)
│ ├── __init__.py # Module export
│ ├── main.py # Skill entry file (required)
│ ├── executor.py # NPU command executor
│ └── npu_client.py # NPU client
└── references/ # Reference documentation
├── acceptance-criteria.md # Acceptance criteria
├── verification-method.md # Verification steps
├── troubleshooting.md # Troubleshooting guide
├── device-queries.md # Device queries reference
├── configuration.md # Configuration reference
├── firmware-upgrade.md # Firmware upgrade reference
├── virtualization.md # Virtualization reference
└── certificate-management.md # Certificate management
| Document | Description |
|---|---|
| acceptance-criteria.md | Acceptance criteria for skill validation |
| verification-method.md | Verification steps and test methods |
| troubleshooting.md | Troubleshooting guide and common issues |
| device-queries.md | Device queries command reference |
| configuration.md | Configuration management reference |
| firmware-upgrade.md | Firmware upgrade reference |
| virtualization.md | Virtualization management reference |
| certificate-management.md | Certificate management reference |