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 |
|
Windows | Windows Server 2016 and later |
|
Additional restrictions for Windows instances:
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.
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.
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
Log on to the ECS console – Cloud Assistant. Select the region of the target instance at the top.
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.In the command execution window, configure key parameters, select the target ECS instance, and execute:
INSTALL_METHOD: Always set toplugin.AUTH_CHOICE: Model provider identifier, such asmodelstudio-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 usingENCRYPTED_API_KEY+KEY_PAIR_IDfor encrypted transmission. For details, see How to use an encrypted API key.
View the execution status on the Command Execution Records tab.
Successful execution: OpenClaw is installed. To access the OpenClaw Dashboard remotely, see Access WebUI over the public network.
Execution failed: Troubleshoot based on task output and Cloud Assistant logs. See Why did the public command fail?.
(Optional) After installation, OpenClaw uses the default model from this provider. To query, switch, or add model providers, see Model Configuration.
CLI
View public command information. Run the following command to view details for the
ACS-ECS-InstallOpenClaw-for-linux.shpublic 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.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.Nparameter.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.
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
Outputfield contains the script's standard output, and theErrorInfofield 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 |
| Operation type (required). | list / status |
| 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 |
| Operation type (required). | switch |
| 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 |
| Operation type (required). | setup |
| Provider identifier (required). | |
| Plaintext API key. Choose either this or | - |
| Encrypted API key. Choose either this or | - |
| Cloud Assistant data encryption key pair ID. Required when using | t-hy03a65fmrd**** |
| Custom endpoint URL (optional). | - |
| Custom provider ID (optional). | - |
| 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
Create a DingTalk app
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.

The DingTalk mobile client version must be ≥ 6.5.45.
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.
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.
Configure DingTalk channel using Cloud Assistant
Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.
On the Public Commands tab, search for and select
ACS-ECS-OpenClawChannel-for-linux.sh(for Windows instances, use the.ps1version). Click Execute Command.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-connectorplugin is installed automatically).Parameter
Description
Value
ACTIONOperation type.
setup
CHANNEL_TYPEChannel type.
dingtalk
PARAM_IDDingTalk app Client ID.
-
PARAM_SECRETDingTalk app Client Secret. We recommend using
ENCRYPTED_PARAM_SECRET+KEY_PAIR_IDfor encrypted transmission.-
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
Create a Lark app
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.
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.
Configure Lark channel using Cloud Assistant
Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.
On the Public Commands tab, search for and select
ACS-ECS-OpenClawChannel-for-linux.sh(for Windows instances, use the.ps1version). Click Execute Command.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
ACTIONOperation type.
setup
CHANNEL_TYPEChannel type.
feishu
PARAM_IDLark app App ID.
-
PARAM_SECRETLark app App Secret. We recommend using
ENCRYPTED_PARAM_SECRET+KEY_PAIR_IDfor encrypted transmission.-
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.
Add the bot by following this path: Group ··· > Settings > Group Bots > Add Bot.
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
Create a WeCom bot
Go to the WeCom admin console. After logging on, in the navigation pane on the left, choose Management Tools > Smart Bots.
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.
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.
Configure WeCom channel using Cloud Assistant
After successful command execution, OpenClaw automatically installs the
@wecom/wecom-openclaw-pluginplugin.Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.
On the Public Commands tab, search for and select
ACS-ECS-OpenClawChannel-for-linux.sh(for Windows instances, use the.ps1version). Click Execute Command.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
ACTIONOperation type.
setup
CHANNEL_TYPEChannel type.
wecom
PARAM_IDWeCom bot Bot ID.
-
PARAM_SECRETWeCom bot Secret. We recommend using
ENCRYPTED_PARAM_SECRET+KEY_PAIR_IDfor encrypted transmission.-
Test Bot
In a WeCom group chat, click Add Group Member, search for the created bot name, and add it to the group.
In a group with the bot added, @mention the bot to start a streaming conversation with OpenClaw.
QQ Bot
Create a QQ bot
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.
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.
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-qqbotplugin.Log on to the ECS console – Cloud Assistant. In the navigation pane on the left, choose O&M and Monitoring > Cloud Assistant.
On the Public Commands tab, search for and select
ACS-ECS-OpenClawChannel-for-linux.sh(for Windows instances, use the.ps1version). Click Execute Command.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
ACTIONOperation type.
setup
CHANNEL_TYPEChannel type.
qqbot
PARAM_IDQQ bot AppID.
-
PARAM_SECRETQQ bot AppSecret (bot secret). We recommend using
ENCRYPTED_PARAM_SECRET+KEY_PAIR_IDfor encrypted transmission.-
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 .
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 Gateway. | - |
| Stop Gateway. | - |
| Restart Gateway. | - |
| Check status and RPC probe. | DEEP, OUTPUT_FORMAT, TIMEOUT |
| Register as a system service. | PORT, FORCE |
| Uninstall system service. | - |
| Run in background (non-systemd environments). | PORT, BIND, FORCE |
| Get Dashboard URL. | - |
Parameter descriptions
Parameter | Description | Optional values |
| Operation type (required). | start / stop / restart / status / install / uninstall / run / dashboard |
| Port number (default 18789). | - |
| Binding mode (only for | loopback (default) / lan / auto |
| Force mode. | true / false (default) |
| Deep scan of system services (only for | true / false (default) |
| Output format (only for | json |
| Probe timeout in seconds (only for | - |
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 |
| Operation type (required).
| list / status / get / remove |
| Channel type, required for | feishu / wecom / dingtalk / qqbot |
| Verify credential validity (valid only for | true / false (default) |
| Output format (valid only for | 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 |
| Health check and automatic repair. | FIX, DEEP |
| System status overview. | OUTPUT_FORMAT, ALL, DEEP, TIMEOUT |
| Gateway health status. | OUTPUT_FORMAT, TIMEOUT |
Parameter descriptions
Parameter | Description | Values |
| Operation type (required). | doctor / status / health |
| Automatic repair (only for | true / false (default) |
| Deep scan ( | true / false (default) |
| Full diagnosis (only for | true / false (default) |
| Output format. | json |
| Timeout in seconds ( | - |
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 |
| Optional | Whether to delete the working directory ~/.openclaw.
|
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_CHOICEdoes 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 18789Windows:
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:18789in 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:
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 restartIn 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.Access
http://<ECS public IP>:18789in your browser.
WarningAfter 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:
ENCRYPTED_API_KEY: The encrypted API key, generated using Cloud Assistant command content encryption.KEY_PAIR_ID: The Cloud Assistant data encryption key pair ID, obtained when generating the encrypted key.
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:
API_KEY: The exclusive API Key for Token Plan Team Edition.BASE_URL: The Alibaba Cloud Model Studio API endpoint address, Token Plan Team Edition Base URL.MODEL_ID: Supported models for Token Plan Team Edition.
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 --versionList installed skills:
openclaw skills listShow 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 restartHow 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.