Install
openclaw skills install huawei-cloud-flexus-l-server-openclaw-deploymentCreate Huawei Cloud Flexus L Instance (Lightweight Server), deploy OpenClaw application platform on it, and support installation and configuration of models and channels for deployed OpenClaw instances. Web UI access needs to be manually enabled in Huawei Cloud console. Trigger words: "Deploy OpenClaw", "Deploy Flexus L Instance", "Deploy Huawei Cloud Lightweight Server", "Model setting", "Channel Setting", "部署OpenClaw", "部署Flexus L实例", "部署华为云轻量服务器", "设置模型", "设置通道"
openclaw skills install huawei-cloud-flexus-l-server-openclaw-deployment⚠️ Security Execution Rules (Highest Priority):
This skill supports one-click deployment of the OpenClaw AI Agent platform to Huawei Cloud Flexus L Instance. It provides a complete OpenClaw instance management workflow, from initial deployment to post-deployment configuration, including:
| Scenario | Description |
|---|---|
| Enterprise AI Assistant Setup | Enterprises need to quickly deploy an AI Agent platform for internal Q&A, customer service, etc. |
| Multi-Channel Bot Integration | Need to integrate multiple messaging channels (WeCom, Feishu, DingTalk) into a unified AI assistant |
| Quick LLM Integration | Existing OpenClaw instance needs to quickly switch or add different LLMs (DeepSeek, Qwen, etc.) |
| Automated Operations Deployment | Need to automatically batch deploy OpenClaw instances to multiple regions via scripts |
User may say:
Credential Acquisition Methods:
This skill supports obtaining Huawei Cloud credentials through the following methods (in order of priority from high to low):
Credential Types:
Environment Variables (Default) (highest priority)
HW_ACCESS_KEY: Huawei Cloud Access Key AKHW_SECRET_KEY: Huawei Cloud Access Key SKHW_SECURITY_TOKEN: Security token (optional, only required for temporary credentials)User-specified Configuration File or Other Environment Variables (used when default environment variables are not available)
Interactive Input (when neither of the above methods is provided)
Important Notes:
This skill is built on multiple Huawei Cloud services, involving the following cloud services and components:
User/Agent ──────▶│ Flexus L Instance │──────▶│ OpenClaw App │──────▶│ Model Config │ ──────▶│ Channel Config │
(Skill caller) (Target Host) (AI Agent Platform) (API_BASE/KEY) (WeCom/Feishu/DingTalk/QQ)
Component Description:
Command 1: Interactive Mode (The program will prompt for required parameters step by step)
python scripts/caller.py deploy
Command 2: Non-Interactive Mode
# Using long-term AK/SK (no security-token needed)
python scripts/caller.py deploy --name openclaw-{timestamp} --region cn-north-4 --ak <AK> --sk <SK> --non-interactive
# Using temporary AK/SK (security-token required)
python scripts/caller.py deploy --name openclaw-{timestamp} --region cn-north-4 --ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
Parameter Description:
| Parameter | Description | Required (Non-interactive) | Default (Interactive) | Example |
|---|---|---|---|---|
| --name | OpenClaw instance name | No | openclaw-{timestamp} | --name openclaw-1780689482000 |
| --region | Target region ID where L instance (OpenClaw deployed server) is located | No | cn-north-4 | --region cn-north-4 |
| --ak | Huawei Cloud Access Key AK (supports both long-term and temporary) | Yes | Prompted | --ak AXXX... |
| --sk | Huawei Cloud Access Key SK (supports both long-term and temporary) | Yes | Prompted | --sk SXXX... |
| --security-token | Security token for temporary credentials (optional, only required for temporary AK/SK) | No | Prompted | --security-token XXXX... |
| --non-interactive | Enable non-interactive mode | No | false | --non-interactive |
Note: OpenClaw only supports deployment in the following regions before June 2026 (before deploying to other regions, you can remind users to check the official website for the latest supported regions): China North-Beijing-4 (cn-north-4), China East-Shanghai-1 (cn-east-3), China South-Guangzhou (cn-south-1), China Southwest-Guiyang-1 (cn-southwest-2)
Command Examples:
# Example 1: Deploy with default configuration (interactive, will prompt for required parameters)
python scripts/caller.py deploy
# Example 2: Non-interactive mode deployment (suitable for automation scripts, creates directly without user confirmation)
python scripts/caller.py deploy --name openclaw-1780689482000 --region cn-north-4 --ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
Default Configuration for Huawei Cloud Flexus L Instance when Deploying OpenClaw Instance
| Configuration Item | Default Value | Description |
|---|---|---|
| Image | OpenClaw 2026.1.30 | OpenClaw application image version |
| Plan Spec | hf.small.1.linux or ahf.small.1.linux | hf.small.1.linux for Beijing/Shanghai/Guangzhou, ahf.small.1.linux for Guiyang |
| Charging Mode | Monthly subscription | prePaid mode |
| EVS Disk | 50GB | System disk size |
| CBR Backup | 50GB | Cloud backup capacity |
| HSS Host Security | Enabled | Host security service |
Execution Result and Status Code Description:
Command 1: Interactive Mode (The program will prompt for resource ID, region, model and other parameters step by step)
python scripts/caller.py maas
Command 2: Non-Interactive Mode
# Using long-term AK/SK (no security-token needed)
python scripts/caller.py maas --resource-id <Instance Resource ID> --region-id cn-north-4 --model-params '<Model configuration parameters>' --ak <AK> --sk <SK> --non-interactive
# Using temporary AK/SK (security-token required)
python scripts/caller.py maas --resource-id <Instance Resource ID> --region-id cn-north-4 --model-params '<Model configuration parameters>' --ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
Parameter Description:
| Parameter | Description | Required (Non-interactive) | Default (Interactive) | Example |
|---|---|---|---|---|
| --resource-id | L instance resource ID (instance ID returned after deploying OpenClaw instance) | Yes | Prompted | --resource-id 0e1234567890abcdef |
| --region-id | Region ID where L instance is located, consistent with the region selected when deploying the instance | Yes | Prompted | --region-id cn-north-4 |
| --model-params | Model configuration parameters (JSON format), note: parameters must use valid JSON format, keys and values must be wrapped in double quotes | Yes | Prompted | --model-params '{"provider":"huawei","api_key":"your_maas_api_key","model_ids":["deepseek-v3.2"]}' |
| --ak | Huawei Cloud Access Key AK (supports both long-term and temporary) | Yes | Prompted | --ak AXXX... |
| --sk | Huawei Cloud Access Key SK (supports both long-term and temporary) | Yes | Prompted | --sk SXXX... |
| --security-token | Security token for temporary credentials (optional, only required for temporary AK/SK) | No | Prompted | --security-token XXXX... |
| --timeout | Script execution timeout (seconds) | No | 600 | --timeout 900 |
| --non-interactive | Enable non-interactive mode | No | false | --non-interactive |
model-params Field Description:
| Field | Description | Required |
|---|---|---|
| provider | Model provider name (e.g., "huawei") or API address (e.g., "https://api.openai.com/v1") | Yes |
| api_key | Model API key | Yes |
| model_ids | Array of model IDs to install (non-empty), e.g., ["gpt-4", "gpt-3.5-turbo"] | Yes |
Command Examples:
# Example 1: Install Huawei Cloud MaaS platform models with long-term AK/SK
python scripts/caller.py maas \
--resource-id 0e1234567890abcdef \
--region-id cn-north-4 \
--model-params '{"provider":"huawei","api_key":"your_maas_api_key","model_ids":["deepseek-v3.2","qwen3-235b-a22b"]}' \
--ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
# Example 2: Install Huawei Cloud MaaS platform models with temporary AK/SK
python scripts/caller.py maas \
--resource-id 0e1234567890abcdef \
--region-id cn-north-4 \
--model-params '{"provider":"huawei","api_key":"your_maas_api_key","model_ids":["deepseek-v3.2","qwen3-235b-a22b"]}' \
--ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
# Example 3: Install custom OpenAI compatible models with long-term AK/SK
python scripts/caller.py maas \
--resource-id 0e1234567890abcdef \
--region-id cn-north-4 \
--model-params '{"provider":"https://api.openai.com/v1","api_key":"your_openai_key","model_ids":["gpt-4"]}' \
--ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
Status Code Description: Status codes "200", "201", "202" all indicate successful model installation.
Command 1: Interactive Mode
python scripts/caller.py channel
Command 2: Non-Interactive Mode
# Using long-term AK/SK (no security-token needed)
python scripts/caller.py channel --resource-id <Instance Resource ID> --region-id cn-north-4 --channel-list '<JSON array>' --ak <AK> --sk <SK> --non-interactive
# Using temporary AK/SK (security-token required)
python scripts/caller.py channel --resource-id <Instance Resource ID> --region-id cn-north-4 --channel-list '<JSON array>' --ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
Parameter Description:
| Parameter | Description | Required (Non-interactive) | Default (Interactive) | Example |
|---|---|---|---|---|
| --resource-id | L instance resource ID (instance ID returned after deploying OpenClaw instance) | Yes | Prompted | --resource-id 0e1234567890abcdef |
| --region-id | Region ID where instance is located, consistent with the region selected when deploying the instance | Yes | Prompted | --region-id cn-north-4 |
| --channel-list | Channel configuration (JSON array format) | Yes | Prompted | '[{"channel":"wecom","id":"xxx","secret":"xxx"},{"channel":"feishu","id":"yyy","secret":"yyy"}]' |
| --ak | Huawei Cloud Access Key AK (supports both long-term and temporary) | Yes | Prompted | --ak AXXX... |
| --sk | Huawei Cloud Access Key SK (supports both long-term and temporary) | Yes | Prompted | --sk SXXX... |
| --security-token | Security token for temporary credentials (optional, only required for temporary AK/SK) | No | Prompted | --security-token XXXX... |
| --timeout | Script execution timeout (seconds) | No | 600 | --timeout 900 |
| --non-interactive | Enable non-interactive mode | No | false | --non-interactive |
channel JSON Object Field Description:
| Field | Description | Required |
|---|---|---|
| channel | Channel type: wecom (WeCom), feishu (Feishu), dingtalk (DingTalk), qqbot (QQ) | Yes |
| id | Bot ID/APP ID/Client ID | Yes |
| secret | Bot secret/APP secret/Client secret | Yes |
Command Examples:
# Example 1: Install multiple channels (WeCom + Feishu) using long-term AK/SK
python scripts/caller.py channel \
--resource-id 0e1234567890abcdef \
--region-id cn-north-4 \
--channel-list '[{"channel":"wecom","id":"xxx","secret":"xxx"},{"channel":"feishu","id":"yyy","secret":"yyy"}]' \
--ak <AK> --sk <SK> --non-interactive
# Example 2: Install multiple channels (WeCom + Feishu) using temporary AK/SK
python scripts/caller.py channel \
--resource-id 0e1234567890abcdef \
--region-id cn-north-4 \
--channel-list '[{"channel":"wecom","id":"xxx","secret":"xxx"},{"channel":"feishu","id":"yyy","secret":"yyy"}]' \
--ak <Temporary AK> --sk <Temporary SK> --security-token <Security Token> --non-interactive
Status Code Description: Status codes "200", "201", "202" all indicate successful channel installation.
Web UI access needs to be manually enabled in Huawei Cloud console, operation steps:
This skill uses a modular architecture for easier maintenance:
scripts/
├── caller.py # Main entry - command line argument parsing, parameter parsing, command routing
├── lib.py # Core library - L instance creation, COC script management
├── utils.py # Utility functions - input prompts, credential configuration, region information
├── deploy.py # Deployment module - `do_deploy_openclaw()` function for OpenClaw instance creation
├── models.py # Model module - remote COC large model installation (with prerequisite checks), related functions `do_install_maas()`, `_check_prerequisites()`
├── channels.py # Channel module - remote COC channel installation (with prerequisite checks), related functions `do_install_channel()`, `_check_prerequisites()`
├── gateway.py # Gateway module - gateway status query (only for prerequisite checks), related functions `do_check_gateway()`
└── uniagent.py # UniAgent module - UniAgent status query (only for prerequisite checks), `do_check_uniagent()`
openclaw-{timestamp}cn-north-4provider: Model provider name (e.g., "huawei") or API address (e.g., "https://api.openai.com/v1")api_key: Model API keymodel_ids: Array of model IDs to install (non-empty)channel: Channel type: wecom (WeCom), feishu (Feishu), dingtalk (DingTalk), qqbot (QQ), requiredid: Bot ID, requiredsecret: Bot secret, requiredAll parameters can also be provided through environment variables:
HW_ACCESS_KEY: Huawei Cloud AK (corresponds to --ak parameter)HW_SECRET_KEY: Huawei Cloud SK (corresponds to --sk parameter)HW_SECURITY_TOKEN: Temporary credential security token (corresponds to --security-token parameter)HW_PROJECT_ID: Huawei Cloud Project ID (optional)| Issue | Solution |
|---|---|
| Instance creation failed | Check AK/SK permissions, ensure permission to create Flexus L instances |
| Model installation failed | Check if UniAgent status is ONLINE, if API Key is correct, if model-params parameter strictly uses JSON format |
| Channel installation failed | Check if bot parameters are correct, if bot is created on platform, if channel-list parameter strictly uses JSON array format |