All Products
Search
Document Center

Elastic Compute Service:Deploy OpenClaw

Last Updated:Jun 12, 2026

OpenClaw can be deployed on ECS instances using either Compute Nest or Cloud Assistant public commands.

Deployment method comparison

Deployment method

Use case

Advantage

Compute Nest

One-stop activation with trial support.

Fill out a visual form. ECS and OpenClaw installation and configuration are automated. Easy integration with messaging channels.

Cloud Assistant public command

Batch deployment and O&M without logging in.

No need to log on to the instance. Enter parameters to complete full-lifecycle operations such as installation, model switching, channel integration, and health diagnostics. Supports batch execution.

Deployment steps

Compute Nest

Compute Nest provides a one-click OpenClaw deployment solution. You can activate and use it immediately without manual installation or instance environment configuration. For complete steps, see Deploy OpenClaw with one click using Compute Nest.

Cloud Assistant

Applicable scope

Before running a public command, ensure the target ECS instance meets the following conditions:

  • Cloud Assistant status: The Cloud Assistant Agent is installed on the instance and its status is Normal. If it is not installed, install the Cloud Assistant Agent.

  • Network environment: The instance must have public network access to pull OpenClaw dependency packages and model configurations.

Supported operating systems

Operating system

Supported versions

Public command

Linux

Alibaba Cloud Linux 3, Ubuntu 22.04/24.04, Debian 12, Rocky Linux 8/9, AlmaLinux 8/9, and CentOS Stream 8/9

ACS-ECS-InstallOpenClaw-for-linux.sh

Windows

Windows Server 2016 and later

ACS-ECS-InstallOpenClaw-for-windows.ps1

Additional restrictions for Windows instances:

  1. Due to OpenClaw limitations, the Gateway starts only after a user logs on to the desktop. Ensure a user is logged on before running the command.

  2. The Windows command cannot run under the default system user. Specify an execution user (such as Administrator) in the parameters. To run as a regular user, configure Cloud Assistant command execution for regular users on Windows instances.

Important

Use an ECS instance with at least 4 vCPUs and 4 GiB of memory. If you use shared-resource instances (such as ecs.t6 or ecs.s6 series), choose a higher specification to ensure stable installation and operation.

1. Install

Use the Cloud Assistant public command ACS-ECS-InstallOpenClaw-for-linux.sh (for Linux instances) or ACS-ECS-InstallOpenClaw-for-windows.ps1 (for Windows instances) to complete installation with one click. You can use either the console or CLI:

Console
  1. Log on to the ECS console – Cloud Assistant. Select the region of the target instance at the top.

  2. Switch to the Public Commands tab. In the search box, enter the command name (such as ACS-ECS-InstallOpenClaw). Find the target command card and click Execute.

  3. In the command execution window, configure key parameters, select the target ECS instance, and execute:

    • INSTALL_METHOD: Always set to plugin.

    • AUTH_CHOICE: Model provider identifier, such as modelstudio-standard-api-key-cn (Qwen Standard Edition). For the full list, see Supported model providers.

    • API_KEY: The API key for the corresponding provider. We recommend using ENCRYPTED_API_KEY + KEY_PAIR_ID for encrypted transmission. For details, see How to use an encrypted API key.

  4. View the execution status on the Command Execution Records tab.

  5. (Optional) After installation, OpenClaw uses the default model from this provider. To query, switch, or add model providers, see Model Configuration.

CLI
  1. View public command information. Run the following command to view details for the ACS-ECS-InstallOpenClaw-for-linux.sh public command:

    aliyun ecs DescribeCommands \
      --RegionId 'cn-hangzhou' \
      --CommandId 'ACS-ECS-InstallOpenClaw-for-linux.sh'
    To view the command for Windows instances, replace the CommandId parameter with ACS-ECS-InstallOpenClaw-for-windows.ps1.
  2. Run the public command to install OpenClaw. Replace the region ID and instance ID in the following example with your actual values. You can find the region ID in the upper-left corner of the console and the instance ID on the Instances page.

    To install on multiple instances at once, specify up to 100 instance IDs using the --InstanceId.N parameter.
    aliyun ecs InvokeCommand \
      --RegionId '<region ID, such as cn-hangzhou>' \
      --CommandId 'ACS-ECS-InstallOpenClaw-for-linux.sh' \
      --InstanceId.1 '<instance ID, such as i-bp1xxxxxxxxxxxx>'
    If you configure a model during installation, we recommend using an encrypted API key instead of passing it in plaintext. See How to use an encrypted API key.
  3. View the execution result. The command returns an InvokeId. Use this ID to query the result:

    aliyun ecs DescribeInvocationResults \
      --RegionId '<region ID>' \
      --InvokeId '<invocation ID, such as t-hz0xxxxxxxxxxxx>'

    In the response, the Output field contains the script's standard output, and the ErrorInfo field contains error messages.

2. Deployment configuration

After installation, configure models and messaging channels as needed. Complete all configurations using Cloud Assistant public commands without logging on to the instance.

2.1 Model configuration

Corresponding public command: ACS-ECS-OpenClawModel-for-linux.sh (for Windows instances, use ACS-ECS-OpenClawModel-for-windows.ps1). A default model is configured during installation. Query, switch, or add providers based on the following scenarios.

Query models

Query the list of configured models. This is useful before switching to confirm available MODEL_ID values or to check configuration status and authentication overview during troubleshooting.

In the Cloud Assistant console, go to the Public Commands tab and run ACS-ECS-OpenClawModel-for-linux.sh. Fill in the parameters as shown in the table.

Parameter

Description

Values

ACTION

Operation type (required). list lists configured models. status shows configuration status and authentication overview.

list / status

OUTPUT_FORMAT

Output format (optional, defaults to table).

json / plain

Switch default model

Switch the default model among already configured models. The change takes effect immediately for new sessions. First, get available MODEL_ID values using Query models.

In the Cloud Assistant console, go to the Public Commands tab and run ACS-ECS-OpenClawModel-for-linux.sh. Fill in the parameters as shown in the table.

Parameter

Description

Values / Example

ACTION

Operation type (required).

switch

MODEL_ID

Model ID (required), formatted as "provider/model-name". Get this value from Query models.

modelstudio/qwen3.5-plus

Add new provider

Add a new model provider to OpenClaw (such as OpenAI, DeepSeek, or a custom endpoint). After completion, the provider's default model becomes available. To switch to another model, use Switch default model.

In the Cloud Assistant console, go to the Public Commands tab and run ACS-ECS-OpenClawModel-for-linux.sh. Fill in the parameters as shown in the table.

Parameter

Description

Values / Example

ACTION

Operation type (required).

setup

AUTH_CHOICE

Provider identifier (required).

See Supported model providers

API_KEY

Plaintext API key. Choose either this or ENCRYPTED_API_KEY. We recommend using the encrypted version.

-

ENCRYPTED_API_KEY

Encrypted API key. Choose either this or API_KEY. Generate the encrypted key using Cloud Assistant command content encryption.

-

KEY_PAIR_ID

Cloud Assistant data encryption key pair ID. Required when using ENCRYPTED_API_KEY.

t-hy03a65fmrd****

BASE_URL

Custom endpoint URL (optional).

-

CUSTOM_PROVIDER_ID

Custom provider ID (optional).

-

CUSTOM_COMPATIBILITY

API compatibility mode (optional).

openai (default) / anthropic

2.2 Messaging channel configuration

Corresponding public command: ACS-ECS-OpenClawChannel-for-linux.sh (for Windows instances, use the .ps1 version). Supports Lark, WeCom, DingTalk, and QQ Bot channels. Choose a channel to configure below, or switch to the Manage configured channels tab to query or remove existing channels.

DingTalk
  1. Create a DingTalk app

    1. Select or create an organization.

      Select an organization

      Go to the DingTalk Open Platform. When you log on, you see the following prompt. Select an organization where you have developer permissions, or select an organization and obtain developer permissions.

      Create an organization

      If you do not have an available organization, use the DingTalk mobile app to scan the QR code below to create a new organization.

      image

      The DingTalk mobile client version must be ≥ 6.5.45.
    2. In the developer console, click Create Now under One-click automatic creation of OpenClaw robot. The platform preconfigures OpenClaw robot information. Modify the configuration as needed for your business, then click Confirm to create.

      If you plan to create multiple apps, modify the robot name or icon during creation to distinguish them later.
    3. After successful creation, copy and save the app's Client ID and Client Secret. You can still view these in the navigation pane on the left under Credentials and Basic Information for the created app, even after closing the window.

  2. Configure DingTalk channel using Cloud Assistant

    1. Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.

    2. On the Public Commands tab, search for and select ACS-ECS-OpenClawChannel-for-linux.sh (for Windows instances, use the .ps1 version). Click Execute Command.

    3. Select the target ECS instance where OpenClaw is deployed. Fill in the parameters as shown in the table. Click Execute and wait for the command to succeed. After successful execution, the DingTalk channel is added to OpenClaw (the @dingtalk-real-ai/dingtalk-connector plugin is installed automatically).

      Parameter

      Description

      Value

      ACTION

      Operation type.

      setup

      CHANNEL_TYPE

      Channel type.

      dingtalk

      PARAM_ID

      DingTalk app Client ID.

      -

      PARAM_SECRET

      DingTalk app Client Secret. We recommend using ENCRYPTED_PARAM_SECRET + KEY_PAIR_ID for encrypted transmission.

      -

  3. Test Bot

    Create a group chat or add the bot to an existing group. In a DingTalk group, @mention the bot to chat, or search for the bot to start a private conversation for testing.

    • Group chat: Go to the DingTalk group Group Settings page. Click the Bot card area. On the Bot Management page, click Add Bot. In the search box, enter the target bot name, select it, click Add, then click Finish Adding. @mention the bot in the group to chat.

    • Private chat: In the DingTalk search bar at the top, search for the created bot name. Click the bot's profile picture to enter the private chat page and talk to the bot.

Lark
  1. Create a Lark app

    1. Go to the Lark Open Platform. On the Create Lark agent application card, click Create Now and follow the prompts to complete creation. This method automatically preconfigures required permissions and event subscriptions for OpenClaw.

    2. In the navigation pane on the left, go to the Credentials and Basic Information page. Copy the App ID (formatted like cli_xxx) and App Secret.

  2. Configure Lark channel using Cloud Assistant

    1. Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.

    2. On the Public Commands tab, search for and select ACS-ECS-OpenClawChannel-for-linux.sh (for Windows instances, use the .ps1 version). Click Execute Command.

    3. Select the target ECS instance where OpenClaw is deployed. Fill in the parameters as shown in the table. Click Execute and wait for the command to succeed. After successful execution, the Lark channel is added to OpenClaw (the Lark plugin is enabled automatically).

      Parameter

      Description

      Value

      ACTION

      Operation type.

      setup

      CHANNEL_TYPE

      Channel type.

      feishu

      PARAM_ID

      Lark app App ID.

      -

      PARAM_SECRET

      Lark app App Secret. We recommend using ENCRYPTED_PARAM_SECRET + KEY_PAIR_ID for encrypted transmission.

      -

  3. Test the bot

    Create a group chat or add the bot to an existing group. In a Lark group, @mention the bot to chat, or search for the bot to start a private conversation for testing.

    To use the bot in external groups, see the Lark official documentation Bot support for external groups and external user private chats.
    1. Add the bot by following this path: Group ··· > Settings > Group Bots > Add Bot.

    2. Click the bot's profile picture, then click Send Message to send a private message to the bot. @mention the bot to send a message in the group.

WeCom
  1. Create a WeCom bot

    1. Go to the WeCom admin console. After logging on, in the navigation pane on the left, choose Management Tools > Smart Bots.

    2. Click Create Bot and select Manual Creation. Fill in the basic bot information. Scroll to the bottom of the page and click Create via API Mode.

    3. Configure the following parameters and click Save:

      • Visible Scope: Configure the bot's visible scope as needed.

      • API Configuration: In the Connection Method section, select Use persistent connection. In the Configuration Method section under Secret, click Click to Get and copy and save the Bot ID and Secret.

      • Available Permissions: Configure the bot's permissions as needed.

  2. Configure WeCom channel using Cloud Assistant

    After successful command execution, OpenClaw automatically installs the @wecom/wecom-openclaw-plugin plugin.

    1. Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.

    2. On the Public Commands tab, search for and select ACS-ECS-OpenClawChannel-for-linux.sh (for Windows instances, use the .ps1 version). Click Execute Command.

    3. Select the target ECS instance where OpenClaw is deployed. Fill in the parameters as shown in the table. Click Execute and wait for the command to succeed. After successful execution, the WeCom channel is added to OpenClaw.

      Parameter

      Description

      Value

      ACTION

      Operation type.

      setup

      CHANNEL_TYPE

      Channel type.

      wecom

      PARAM_ID

      WeCom bot Bot ID.

      -

      PARAM_SECRET

      WeCom bot Secret. We recommend using ENCRYPTED_PARAM_SECRET + KEY_PAIR_ID for encrypted transmission.

      -

  3. Test Bot

    1. In a WeCom group chat, click Add Group Member, search for the created bot name, and add it to the group.

    2. In a group with the bot added, @mention the bot to start a streaming conversation with OpenClaw.

QQ Bot
  1. Create a QQ bot

    1. Go to the Tencent QQ Open Platform. At the bottom of the page, under the Longxia dedicated entry, click Go to Use. In the mobile login area, use the QQ mobile app to scan the QR code and complete login.

    2. Click Create Bot, follow the prompts to generate a new QQ bot, and save the bot's AppID and AppSecret.

      Keep the AppSecret (bot secret) secure. AppSecret cannot be saved in plaintext. If you lose it or forget it, you must regenerate it, which immediately invalidates the original secret.
  2. Configure QQ bot channel using Cloud Assistant

    Use the Cloud Assistant public command to configure the QQ bot channel in OpenClaw. After successful execution, OpenClaw automatically installs the @tencent-connect/openclaw-qqbot plugin.

    1. Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.

    2. On the Public Commands tab, search for and select ACS-ECS-OpenClawChannel-for-linux.sh (for Windows instances, use the .ps1 version). Click Execute Command.

    3. Select the target ECS instance where OpenClaw is deployed. Fill in the parameters as shown in the table. Click Execute and wait for the command to succeed. After successful execution, the QQ bot channel is added to OpenClaw (the QQ bot plugin is enabled automatically).

      Parameter

      Description

      Value

      ACTION

      Operation type.

      setup

      CHANNEL_TYPE

      Channel type.

      qqbot

      PARAM_ID

      QQ bot AppID.

      -

      PARAM_SECRET

      QQ bot AppSecret (bot secret). We recommend using ENCRYPTED_PARAM_SECRET + KEY_PAIR_ID for encrypted transmission.

      -

  3. Test the bot

    In QQ, search for and add the created bot. Chat directly with the bot in private, or add it to a test group and @mention the bot to start a streaming conversation with OpenClaw.

3. Verification

Access Dashboard (WebUI): By default, the Gateway listens on 127.0.0.1:18789, allowing only local access. To access over the public network, we recommend using an SSH tunnel:

ssh -L 18789:127.0.0.1:18789 root@<ECS public IP>

Access http://localhost:18789 in your local browser to open the Dashboard. For other access methods (Nginx reverse proxy, LAN listening) and security considerations, see Access WebUI over the public network.

4. Additional operations

Besides model and messaging channel configuration, common operations include Gateway service management, managing configured channels, health diagnostics, and uninstallation cleanup. All commands require logging on to the ECS console – Cloud Assistant and navigating to O&M and Monitoring > Cloud Assistant > Public Commands.

Gateway service management

Corresponding public command: ACS-ECS-OpenClawGateway-for-linux.sh (for Windows instances, use the .ps1 version). Manage Gateway service start/stop, install/uninstall, background running, and Dashboard access.

ACTION operations

ACTION

Description

Optional parameters

start

Start Gateway.

-

stop

Stop Gateway.

-

restart

Restart Gateway.

-

status

Check status and RPC probe.

DEEP, OUTPUT_FORMAT, TIMEOUT

install

Register as a system service.

PORT, FORCE

uninstall

Uninstall system service.

-

run

Run in background (non-systemd environments).

PORT, BIND, FORCE

dashboard

Get Dashboard URL.

-

Parameter descriptions

Parameter

Description

Optional values

ACTION

Operation type (required).

start / stop / restart / status / install / uninstall / run / dashboard

PORT

Port number (default 18789).

-

BIND

Binding mode (only for run).

loopback (default) / lan / auto

FORCE

Force mode.

true / false (default)

DEEP

Deep scan of system services (only for status).

true / false (default)

OUTPUT_FORMAT

Output format (only for status).

json

TIMEOUT

Probe timeout in seconds (only for status).

-

Manage configured channels

Use the same public command ACS-ECS-OpenClawChannel-for-linux.sh to query, check, or remove configured channels. In the Cloud Assistant console, on the Public Commands tab, select the target instance and fill in the parameters as shown in the table.

Parameter

Description

Value

ACTION

Operation type (required).

  • list: List configured channels.

  • status: Check connection status (use with PROBE=true to verify credential validity).

  • get: Get configuration for a specific channel (requires CHANNEL_TYPE).

  • remove: Disable a specific channel (requires CHANNEL_TYPE).

list / status / get / remove

CHANNEL_TYPE

Channel type, required for get/remove.

feishu / wecom / dingtalk / qqbot

PROBE

Verify credential validity (valid only for status).

true / false (default)

OUTPUT_FORMAT

Output format (valid only for list/status/get).

json / plain

Diagnosis and health check

Corresponding public command: ACS-ECS-OpenClawDiagnose-for-linux.sh (for Windows instances, use the .ps1 version). Perform health checks, view system status, and automatically fix common issues.

ACTION operations

ACTION

Description

Optional parameters

doctor

Health check and automatic repair.

FIX, DEEP

status

System status overview.

OUTPUT_FORMAT, ALL, DEEP, TIMEOUT

health

Gateway health status.

OUTPUT_FORMAT, TIMEOUT

Parameter descriptions

Parameter

Description

Values

ACTION

Operation type (required).

doctor / status / health

FIX

Automatic repair (only for doctor).

true / false (default)

DEEP

Deep scan (doctor/status).

true / false (default)

ALL

Full diagnosis (only for status).

true / false (default)

OUTPUT_FORMAT

Output format.

json

TIMEOUT

Timeout in seconds (status/health).

-

Uninstall and cleanup

Corresponding public command: ACS-ECS-UninstallOpenClaw-for-linux.sh (for Windows instances, use the .ps1 version). Uninstall OpenClaw. The command first detects and deletes Cloud Assistant plugins. If OpenClaw was not installed via a plugin, it runs npm uninstall -g openclaw.

Parameter descriptions

Parameter

Required

Description

REMOVE_WORKDIR

Optional

Whether to delete the working directory ~/.openclaw.

  • true: Purge all configuration data.

  • false (default): Keep configuration for easy reinstallation.

Warning

To uninstall OpenClaw due to an API key leak or security incident, set the REMOVE_WORKDIR parameter to true to completely purge credential data from disk.

FAQ

Why did the public command fail during Cloud Assistant deployment?

Common failure reasons include the following:

  • Invalid API key: AUTH_CHOICE does not match the actual provider, or the key has expired or has an incorrect format.

  • Port conflict: Port 18789 is already in use. Run the following command to check:

    • Linux: netstat -tlnp | grep 18789

    • Windows: netstat -ano | findstr 18789

  • Long installation time: On Windows instances, add the OpenClaw installation directory (default C:\Users\<username>\.openclaw) to the Microsoft Defender real-time protection exclusion path. Do not disable real-time protection.

For more reasons and troubleshooting steps, see View execution results and fix common issues.

After installing OpenClaw using Cloud Assistant, how do I access the WebUI remotely over the public network?

After OpenClaw installation, the Gateway service listens on 127.0.0.1:18789 by default, allowing only local access. To access the WebUI (Dashboard) over the public network, use one of the following methods:

  • Method 1: SSH tunnel forwarding (recommended): Run the following command in your local terminal, then access http://localhost:18789 in your local browser.

    ssh -L 18789:127.0.0.1:18789 root@<ECS public IP>
  • Method 2: Connect to OpenClaw without public network access using Session Manager CLI

  • Method 3: Change Gateway binding mode to LAN:

    1. Log on to the ECS instance and change the Gateway binding mode from loopback to lan (listen on all network interfaces):

      openclaw config set gateway.bind lan
      openclaw gateway restart
    2. In the ECS security group, allow inbound TCP traffic on port 18789. Restrict the authorization object to your office or home egress IP range instead of 0.0.0.0/0.

    3. Access http://<ECS public IP>:18789 in your browser.

    Warning

    After changing to lan mode, the Gateway listens on all network interfaces. Restrict access to port 18789 in the security group to specific source IPs. Do not open it to all public addresses.

How do I use an encrypted API key during Cloud Assistant deployment?

To avoid transmitting API keys in plaintext, we recommend using Cloud Assistant data encryption to encrypt the API key. After encryption, pass it using the following parameters:

CLI example:

aliyun ecs InvokeCommand \
  --RegionId '<region ID>' \
  --CommandId 'ACS-ECS-InstallOpenClaw-for-linux.sh' \
  --InstanceId.1 '<instance ID>' \
  --Parameters '{"AUTH_CHOICE":"modelstudio-standard-api-key-cn","ENCRYPTED_API_KEY":"<encrypted key>","KEY_PAIR_ID":"<OOS key pair ID>"}'

How do I configure installation parameters to set up Alibaba Cloud Model Studio Token Plan during Cloud Assistant deployment?

When installing with Alibaba Cloud Model Studio Token Plan, set AUTH_CHOICE to custom-api-key and configure the following parameters:

Which model providers are supported in Cloud Assistant deployment of OpenClaw?

The following table lists supported values for the AUTH_CHOICE parameter. When installing or switching models, use the corresponding AUTH_CHOICE value.

AUTH_CHOICE

Provider

modelstudio-standard-api-key-cn

Qwen Standard Plan (CN, pay-as-you-go)

modelstudio-standard-api-key

Qwen Standard Plan (Global, pay-as-you-go)

modelstudio-api-key-cn

Qwen Coding Plan (CN, subscription)

modelstudio-api-key

Qwen Coding Plan (Global, subscription)

openai-api-key

OpenAI

anthropic-api-key

Anthropic

deepseek-api-key

DeepSeek

gemini-api-key

Google Gemini

mistral-api-key

Mistral AI

openrouter-api-key

OpenRouter

xai-api-key

xAI (Grok)

volcengine-api-key

VolcEngine

byteplus-api-key

BytePlus

qianfan-api-key

Baidu Qianfan

moonshot-api-key

Moonshot AI / Kimi K2.5 (International Website)

moonshot-api-key-cn

Moonshot AI / Kimi K2.5 (Chinese mainland site)

kimi-code-api-key

Kimi Code

xiaomi-api-key

Xiaomi

zai-api-key

Z.AI

zai-coding-global

Z.AI Coding Plan (Global)

zai-coding-cn

Z.AI Coding Plan (CN)

zai-global

Z.AI (Global)

zai-cn

Z.AI (CN)

together-api-key

Together AI

huggingface-api-key

Hugging Face

venice-api-key

Venice AI

kilocode-api-key

Kilo Gateway

litellm-api-key

LiteLLM

synthetic-api-key

Synthetic

chutes-api-key

Chutes

opencode-zen

OpenCode (Zen catalog)

opencode-go

OpenCode (Go catalog)

minimax-global-api

MiniMax (Global)

minimax-cn-api

MiniMax (CN)

ai-gateway-api-key

Vercel AI Gateway

custom-api-key

Custom endpoint (requires BASE_URL + MODEL_ID)

What are the common OpenClaw command-line tools (CLI)?

Log on to the ECS instance terminal and switch to the root user to run the following commands.

  • Check OpenClaw version:

    openclaw --version
  • List installed skills:

    openclaw skills list
  • Show plugin management command help:

    openclaw plugins -h

How do I restart the OpenClaw Gateway service?

Log on to the ECS instance and run the following command in the terminal to restart the Gateway service:

openclaw gateway restart

How do I install or add Skills in OpenClaw?

OpenClaw supports three methods to add Skills: interactive chat, URL installation, and relay installation.

  • Interactive creation (for new Skills)

    OpenClaw includes a built-in Skill Creator component. Chat directly with Skill Creator to describe your needs, and it automatically creates a new Skill.

  • URL installation (for reusing existing Skills)

    To install a pre-built Skill, send its URL to OpenClaw, and the system automatically completes the installation.

  • Relay installation (for restricted network environments)

    If the ECS instance cannot access external code repositories like GitHub, download the Skill file locally, upload it to an accessible storage location (such as OSS), and send the new URL to OpenClaw for installation.