Documents

huawei-cloud-flexus-l-server-openclaw-deployment

Try it

Deploy the OpenClaw AI Agent platform on Huawei Cloud Flexus L Instance and configure models and channels via COC.

What it does

Provisions a Huawei Cloud Flexus L Instance (lightweight server) and deploys the OpenClaw AI Agent platform on it, then installs large language models (DeepSeek, Qwen, OpenAI-compatible) and messaging channels (WeCom, Feishu, DingTalk, QQ) through Cloud Operations Center (COC). Deploy, model install, and channel install each run as separate commands in interactive or non-interactive mode, using AK/SK credentials from environment variables or user input. The skill performs prerequisite checks on Gateway and UniAgent status before installation. Web UI access must be enabled manually in the Huawei Cloud console.

When to use it

  • Deploy an OpenClaw AI Agent platform on a Huawei Cloud Flexus L lightweight server
  • Install multiple messaging channels (WeCom, Feishu, DingTalk, QQ) on an existing OpenClaw instance
  • Switch or add LLMs such as DeepSeek, Qwen, or OpenAI-compatible models on an existing OpenClaw instance
  • Run non-interactive batch deployment of OpenClaw instances from automation scripts

The skill document

⚠️ Security Execution Rules (Highest Priority):

  1. All scripts MUST be executed via skill action=exec, NEVER run directly in shell
  2. NEVER print script contents or commands containing AK/SK/Token in conversation
  3. NEVER create temporary script files, prefer inline execution (python -c)
  4. On execution failure, only return error info, do NOT rewrite scripts or print full commands
  5. AK/SK/Token MUST be passed via environment variables, NEVER appear in conversation
  6. ABSOLUTELY NEVER expose, log, or print AK/SK/Token values in any form - this is a critical security requirement
  7. When using skill action=exec, credentials are automatically inherited from environment variables (HW_ACCESS_KEY, HW_SECRET_KEY, HW_SECURITY_TOKEN), no need to pass them as command line arguments

huawei-cloud-flexus-l-server-openclaw-deployment

Overview

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:

  • Automated instance creation
  • Model installation via COC (Cloud Operations Center)
  • Channel installation via COC (WeCom, Feishu, DingTalk, QQ)
  • Automatic prerequisite checks before installation (Gateway and UniAgent status)

Use Cases

ScenarioDescription
Enterprise AI Assistant SetupEnterprises need to quickly deploy an AI Agent platform for internal Q&A, customer service, etc.
Multi-Channel Bot IntegrationNeed to integrate multiple messaging channels (WeCom, Feishu, DingTalk) into a unified AI assistant
Quick LLM IntegrationExisting OpenClaw instance needs to quickly switch or add different LLMs (DeepSeek, Qwen, etc.)
Automated Operations DeploymentNeed to automatically batch deploy OpenClaw instances to multiple regions via scripts

Typical Use Cases

User may say:

  1. "I want to install OpenClaw on a Flexus L instance"
  2. "I want to configure DeepSeek model on my deployed OpenClaw"
  3. "Help me deploy OpenClaw with Feishu channel configured"

Prerequisites

Account Requirements

  • Huawei Cloud AK/SK credentials with the following permissions:
    • Create Flexus L Instances
    • Access COC (Cloud Operations Center) services

Credential Acquisition Methods:

This skill supports obtaining Huawei Cloud credentials through the following methods (in order of priority from high to low):

Credential Types:

  • Long-term AK/SK: Permanent credentials, no security_token required
  • Temporary AK/SK: Temporary credentials with limited validity period, security_token required
  1. Environment Variables (Default) (highest priority)

    • HW_ACCESS_KEY: Huawei Cloud Access Key AK
    • HW_SECRET_KEY: Huawei Cloud Access Key SK
    • HW_SECURITY_TOKEN: Security token (optional, only required for temporary credentials)
  2. User-specified Configuration File or Other Environment Variables (used when default environment variables are not available)

    • Configuration file path or other environment variables specified by user during interaction
  3. Interactive Input (when neither of the above methods is provided)

    • The program will prompt the user to enter AK/SK and other credential information

Important Notes:

  • Long-term AK/SK: Permanent credentials that never expire, no security_token needed
  • Temporary AK/SK: Obtained through IAM interface with limited validity period, must provide security_token

Architecture Diagram

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:

  • User/Agent: Skill caller that triggers OpenClaw deployment operations via natural language or API
  • Flexus L Instance: Huawei Cloud Elastic Cloud Server, serving as the target host for OpenClaw deployment
  • OpenClaw App: AI Agent collaboration platform running on the Flexus L instance
  • Model Config: Configuration for external LLM services (API_BASE, API_KEY, MODEL_IDS, PROVIDER)
  • Channel Config: Messaging channel configuration (WeCom, Feishu, DingTalk, QQ)

How to Use This Skill

Command Execution and Instructions

1. Deploy OpenClaw Instance (Create Huawei Cloud Flexus L Instance and deploy OpenClaw AI Agent platform) - Two Command Modes:

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  --sk  --non-interactive

# Using temporary AK/SK (security-token required)
python scripts/caller.py deploy --name openclaw-{timestamp} --region cn-north-4 --ak  --sk  --security-token  --non-interactive

Parameter Description:

ParameterDescriptionRequired (Non-interactive)Default (Interactive)Example
--nameOpenClaw instance nameNoopenclaw-{timestamp}--name openclaw-1780689482000
--regionTarget region ID where L instance (OpenClaw deployed server) is locatedNocn-north-4--region cn-north-4
--akHuawei Cloud Access Key AK (supports both long-term and temporary)YesPrompted--ak AXXX...
--skHuawei Cloud Access Key SK (supports both long-term and temporary)YesPrompted--sk SXXX...
--security-tokenSecurity token for temporary credentials (optional, only required for temporary AK/SK)NoPrompted--security-token XXXX...
--non-interactiveEnable non-interactive modeNofalse--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  --sk  --security-token  --non-interactive

Default Configuration for Huawei Cloud Flexus L Instance when Deploying OpenClaw Instance

Configuration ItemDefault ValueDescription
ImageOpenClaw 2026.1.30OpenClaw application image version
Plan Spechf.small.1.linux or ahf.small.1.linuxhf.small.1.linux for Beijing/Shanghai/Guangzhou, ahf.small.1.linux for Guiyang
Charging ModeMonthly subscriptionprePaid mode
EVS Disk50GBSystem disk size
CBR Backup50GBCloud backup capacity
HSS Host SecurityEnabledHost security service

Execution Result and Status Code Description:

  • On success, returns order ID and instance ID (resource ID, used for subsequent model and channel installation)
  • Instance creation takes approximately 2 minutes, progress can be viewed in Huawei Cloud console. During instance creation, the installation of models and channels will not be affected, and subsequent commands can be executed directly. Status Code Description: Status codes "200", "201", "202" all indicate successful instance creation.

2. Configure (Install) Large Model Parameters on L Instance with OpenClaw Installed - Two Command Modes (Requires deploying OpenClaw instance first)

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  --region-id cn-north-4 --model-params '' --ak  --sk  --non-interactive

# Using temporary AK/SK (security-token required)
python scripts/caller.py maas --resource-id  --region-id cn-north-4 --model-params '' --ak  --sk  --security-token  --non-interactive

Parameter Description:

ParameterDescriptionRequired (Non-interactive)Default (Interactive)Example
--resource-idL instance resource ID (instance ID returned after deploying OpenClaw instance)YesPrompted--resource-id 0e1234567890abcdef
--region-idRegion ID where L instance is located, consistent with the region selected when deploying the instanceYesPrompted--region-id cn-north-4
--model-paramsModel configuration parameters (JSON format), note: parameters must use valid JSON format, keys and values must be wrapped in double quotesYesPrompted--model-params '{"provider":"huawei","api_key":"your_maas_api_key","model_ids":["deepseek-v3.2"]}'
--akHuawei Cloud Access Key AK (supports both long-term and temporary)YesPrompted--ak AXXX...
--skHuawei Cloud Access Key SK (supports both long-term and temporary)YesPrompted--sk SXXX...
--security-tokenSecurity token for temporary credentials (optional, only required for temporary AK/SK)NoPrompted--security-token XXXX...
--timeoutScript execution timeout (seconds)No600--timeout 900
--non-interactiveEnable non-interactive modeNofalse--non-interactive

model-params Field Description:

FieldDescriptionRequired
providerModel provider name (e.g., "huawei") or API address (e.g., "https://api.openai.com/v1")Yes
api_keyModel API keyYes
model_idsArray 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  --sk  --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  --sk  --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  --sk  --security-token  --non-interactive

Status Code Description: Status codes "200", "201", "202" all indicate successful model installation.

3. channel - Configure (Install) Channels on L Instance with OpenClaw Installed - Two Command Modes (Requires deploying OpenClaw instance first)

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  --region-id cn-north-4 --channel-list '' --ak  --sk  --non-interactive

# Using temporary AK/SK (security-token required)
python scripts/caller.py channel --resource-id  --region-id cn-north-4 --channel-list '' --ak  --sk  --security-token  --non-interactive

Parameter Description:

ParameterDescriptionRequired (Non-interactive)Default (Interactive)Example
--resource-idL instance resource ID (instance ID returned after deploying OpenClaw instance)YesPrompted--resource-id 0e1234567890abcdef
--region-idRegion ID where instance is located, consistent with the region selected when deploying the instanceYesPrompted--region-id cn-north-4
--channel-listChannel configuration (JSON array format)YesPrompted'[{"channel":"wecom","id":"xxx","secret":"xxx"},{"channel":"feishu","id":"yyy","secret":"yyy"}]'
--akHuawei Cloud Access Key AK (supports both long-term and temporary)YesPrompted--ak AXXX...
--skHuawei Cloud Access Key SK (supports both long-term and temporary)YesPrompted--sk SXXX...
--security-tokenSecurity token for temporary credentials (optional, only required for temporary AK/SK)NoPrompted--security-token XXXX...
--timeoutScript execution timeout (seconds)No600--timeout 900
--non-interactiveEnable non-interactive modeNofalse--non-interactive

channel JSON Object Field Description:

FieldDescriptionRequired
channelChannel type: wecom (WeCom), feishu (Feishu), dingtalk (DingTalk), qqbot (QQ)Yes
idBot ID/APP ID/Client IDYes
secretBot secret/APP secret/Client secretYes

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  --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  --sk  --security-token  --non-interactive

Status Code Description: Status codes "200", "201", "202" all indicate successful channel installation.

Web UI Access

Web UI access needs to be manually enabled in Huawei Cloud console, operation steps:

  1. Log in to Huawei Cloud Flexus Application Server L Instance Console
  2. Find your OpenClaw instance in the instance list
  3. Click the instance name to enter the details page
  4. In the left menu of the details page, find and click "Application Details" option, then enter the "Basic Configuration" tab
  5. In the "Basic Configuration" tab, find the "Access OpenClaw Web Interface" option at the top left, click the "Enable" button. You will then get the URL address to access the OpenClaw Web interface.

Code Structure, File Responsibilities and Key Functions

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()`

Parameter Confirmation

Deployment Parameters

  • --name: OpenClaw instance name, optional parameter, default is openclaw-{timestamp}
  • --region: Target region ID, optional parameter, default is cn-north-4
  • --ak: Huawei Cloud temporary Access Key AK, required parameter
  • --sk: Huawei Cloud temporary Access Key SK, required parameter
  • --security-token: Security token for temporary credentials (required), required parameter
  • --non-interactive: Enable non-interactive mode, optional parameter

Model Configuration Parameters

  • --resource-id: L instance resource ID (instance ID returned after deploying OpenClaw instance), required parameter
  • --region-id: Region ID where L instance is located, consistent with the region selected when deploying the instance, required parameter
  • --model-params: Model configuration parameters (JSON format), required parameter
    • provider: Model provider name (e.g., "huawei") or API address (e.g., "https://api.openai.com/v1")
    • api_key: Model API key
    • model_ids: Array of model IDs to install (non-empty)
  • --ak: Huawei Cloud temporary Access Key AK, required parameter
  • --sk: Huawei Cloud temporary Access Key SK, required parameter
  • --security-token: Security token for temporary credentials (required), required parameter
  • --timeout: Script execution timeout (seconds), optional parameter, default 600 seconds

Channel Configuration Parameters

  • --resource-id: L instance resource ID (instance ID returned after deploying OpenClaw instance), required parameter
  • --region-id: Region ID where L instance is located, consistent with the region selected when deploying the instance, required parameter
  • --channel-list: Channel configuration (JSON array format), optional parameter
    • channel: Channel type: wecom (WeCom), feishu (Feishu), dingtalk (DingTalk), qqbot (QQ), required
    • id: Bot ID, required
    • secret: Bot secret, required
  • --ak: Huawei Cloud temporary Access Key AK, required parameter
  • --sk: Huawei Cloud temporary Access Key SK, required parameter
  • --security-token: Security token for temporary credentials (required), required parameter
  • --timeout: Script execution timeout (seconds), optional parameter, default 600 seconds

Environment Variable Support

All 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)

Common Issues Quick Solutions

IssueSolution
Instance creation failedCheck AK/SK permissions, ensure permission to create Flexus L instances
Model installation failedCheck if UniAgent status is ONLINE, if API Key is correct, if model-params parameter strictly uses JSON format
Channel installation failedCheck if bot parameters are correct, if bot is created on platform, if channel-list parameter strictly uses JSON array format

Related skills

Manages Huawei Cloud Flexus L server lifecycle: create, renew, and unsubscribe instances. Use this skill when the user mentions "Flexus L", "Huawei Cloud lig...

by huaweicloud-skills-team1 installs

One-click deployment of JiuwenSwarm multi-Agent collaboration platform on Huawei Cloud Flexus L instances. Usage scenarios: When users need to quickly deploy JiuwenSwarm/JiuwenClaw on Huawei Cloud Flexus L instances, when they need to automatically create cloud instances and deploy AI Agent platforms, when they need to configure model APIs and message channels (Xiaoyi/Feishu/DingTalk). Automatically create instances, deploy applications via COC, configure models and message channels. Trigger keywords: JiuwenSwarm deployment, JiuwenClaw deployment, 九问Swarm部署, 九问Claw部署, 一键部署JiuwenSwarm, AI智能体平台部署, 部署九问Swarm, 部署九问Claw,云服务器部署AI平台.

by huaweicloud-skills-team

Manage Huawei Cloud Flexus L instances from chat: list, inspect, start, stop, reboot, reconfigure, and check traffic.

by huaweicloud-skills-team6 installs

Use when installing or configuring OpenClaw with DingTalk, Feishu, Discord, and additional channels with Bailian/DashScope models on Linux hosts. Use when pr...

13 installs

More from huaweicloud-skills-team

Browse all skills

Manage Huawei Ascend NPUs with natural language commands that translate to npu-smi, locally or over SSH.

by huaweicloud-skills-team7 installs

Deploy and test LLM, VL, Embedding, and Rerank models on Huawei Cloud Ascend 910B DevServer with single- or dual-node topologies.

by huaweicloud-skills-team7 installs

Read-only queries against Huawei Cloud resources for inventory, verification, and parameter discovery.

by huaweicloud-skills-team6 installs

Query Huawei Cloud IAM resources (users, groups, policies, agencies, AK/SK, MFA, security settings) read-only via local Python SDK.

by huaweicloud-skills-team6 installs

Manage Huawei Cloud Flexus L instances from chat: list, inspect, start, stop, reboot, reconfigure, and check traffic.

by huaweicloud-skills-team6 installs