OpenClaw is an open source personal AI assistant platform that lets you interact with AI through various messaging channels. You can configure it to access AI models from Alibaba Cloud Model Studio. It supports four access methods: pay-as-you-go, Coding Plan, Token Plan Personal Edition, and Token Plan Team Edition.
Install OpenClaw
OpenClaw requires Node.js 22.19.0 or later. To check your version:
node --version
If Node.js is not installed or your version is older than 22.19.0, download and install it from the Node.js official website.
macOS / Linux
We recommend using the official installation script:
curl -fsSL https://openclaw.ai/install.sh | bash
Alternatively, install it globally using npm:
npm install -g openclaw@latest
Windows
In PowerShell:
iwr -useb https://openclaw.ai/install.ps1 | iex
Alternatively, install it globally using npm:
npm install -g openclaw@latest
After installation, OpenClaw automatically starts the configuration wizard. You can also run openclaw onboard to configure it manually.
|
Parameter |
Recommendation |
|
I understand this is powerful and inherently risky. Continue? |
Select Yes |
|
Onboarding mode |
Select QuickStart |
|
Model/auth provider |
Select Skip for now (you can configure a Model Studio model later) |
|
Filter models by provider |
Select All providers |
|
Default model |
Select Keep current |
|
Select channel (QuickStart) |
Select Skip for now (you can configure a channel later) |
|
Configure skills now? (recommended) |
Select No |
|
Enable hooks? |
Press the Spacebar to select an option, then press Enter. |
|
How do you want to hatch your bot? |
Select Do this later |
Configure access credentials
Token Plan Personal Edition
|
Item |
Description |
|
API Key |
Dedicated API Key for the Token Plan Personal Edition |
|
Base URL |
|
|
Available models |
All models included in the Token Plan Personal Edition |
The configuration file is located at ~/.openclaw/openclaw.json. OpenClaw automatically reads this file on startup.
The example disables gateway authentication (auth.mode: none), suitable only for single-machine local use. For shared or remote access, run openclaw doctor --fix to enable token authentication.
For a new configuration: Copy the following content into the configuration file. Replace YOUR_API_KEY with your API Key for the Token Plan Personal Edition.
For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{
"meta": {
"lastTouchedVersion": "2026.2.1",
"lastTouchedAt": "2026-02-03T08:20:00.000Z"
},
"models": {
"mode": "merge",
"providers": {
"bailian-token-plan": {
"baseUrl": "https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic",
"apiKey": "YOUR_API_KEY",
"api": "anthropic-messages",
"models": [
{
"id": "qwen3.8-max",
"name": "qwen3.8-max",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 983616,
"maxTokens": 131072,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"compat": { "thinkingFormat": "openai" }
}, {
"id": "qwen3.7-max",
"name": "qwen3.7-max",
"reasoning": false,
"input": ["text"],
"contextWindow": 1000000,
"maxTokens": 65536,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"compat": { "thinkingFormat": "openai" }
},
{
"id": "qwen3.7-plus",
"name": "qwen3.7-plus",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 65536,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"compat": { "thinkingFormat": "openai" }
},
{
"id": "qwen3.6-flash",
"name": "qwen3.6-flash",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 32768,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"compat": { "thinkingFormat": "openai" }
},
{
"id": "glm-5.2",
"name": "glm-5.2",
"reasoning": false,
"input": ["text"],
"contextWindow": 1000000,
"maxTokens": 16384,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"compat": { "thinkingFormat": "openai" }
},
{
"id": "deepseek-v4-pro",
"name": "deepseek-v4-pro",
"reasoning": false,
"input": ["text"],
"contextWindow": 163840,
"maxTokens": 32768,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "deepseek-v4-pro-0813",
"name": "deepseek-v4-pro-0813",
"reasoning": false,
"input": ["text"],
"contextWindow": 163840,
"maxTokens": 32768,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "deepseek-v4-flash-0731",
"name": "deepseek-v4-flash-0731",
"reasoning": false,
"input": ["text"],
"contextWindow": 1000000,
"maxTokens": 393216,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "bailian-token-plan/qwen3.8-max"
},
"models": {
"bailian-token-plan/qwen3.8-max": {}, "bailian-token-plan/qwen3.7-max": {},
"bailian-token-plan/qwen3.7-plus": {},
"bailian-token-plan/qwen3.6-flash": {},
"bailian-token-plan/glm-5.2": {},
"bailian-token-plan/deepseek-v4-pro": {},
"bailian-token-plan/deepseek-v4-pro-0813": {},
"bailian-token-plan/deepseek-v4-flash-0731": {}
}
}
},
"gateway": {
"mode": "local",
"auth": { "mode": "none" }
}
}
Token Plan Team Edition
|
Item |
Description |
|
API Key |
Dedicated API Key for the Token Plan Team Edition |
|
Base URL |
|
|
Available models |
All models included in the Token Plan Team Edition |
The configuration file is located at ~/.openclaw/openclaw.json. OpenClaw automatically reads this file on startup.
The example disables gateway authentication (auth.mode: none), suitable only for single-machine local use. For shared or remote access, run openclaw doctor --fix to enable token authentication.
Method 1: Terminal
-
Open the configuration file
nano ~/.openclaw/openclaw.json -
Add the configuration
For a new configuration: Copy the following content into the configuration file. Replace
YOUR_API_KEYwith your API Key for the Token Plan Team Edition.For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{ "meta": { "lastTouchedVersion": "2026.2.1", "lastTouchedAt": "2026-02-03T08:20:00.000Z" }, "models": { "mode": "merge", "providers": { "bailian-token-plan": { "baseUrl": "https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic", "apiKey": "YOUR_API_KEY", "api": "anthropic-messages", "models": [ { "id": "qwen3.8-max", "name": "qwen3.8-max", "reasoning": true, "input": ["text", "image"], "contextWindow": 983616, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.7-max", "name": "qwen3.7-max", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.7-plus", "name": "qwen3.7-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-flash", "name": "qwen3.6-flash", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "deepseek-v4-pro", "name": "deepseek-v4-pro", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v4-pro-0813", "name": "deepseek-v4-pro-0813", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v4-flash", "name": "deepseek-v4-flash", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v4-flash-0731", "name": "deepseek-v4-flash-0731", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 393216, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v3.2", "name": "deepseek-v3.2", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "kimi-k2.7-code", "name": "kimi-k2.7-code", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "kimi-k2.6", "name": "kimi-k2.6", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-5.2", "name": "glm-5.2", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-5.1", "name": "glm-5.1", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } } ] } } }, "agents": { "defaults": { "model": { "primary": "bailian-token-plan/qwen3.8-max" }, "models": { "bailian-token-plan/qwen3.8-max": {}, "bailian-token-plan/qwen3.7-max": {}, "bailian-token-plan/qwen3.7-plus": {}, "bailian-token-plan/qwen3.6-plus": {}, "bailian-token-plan/qwen3.6-flash": {}, "bailian-token-plan/deepseek-v4-pro": {}, "bailian-token-plan/deepseek-v4-pro-0813": {}, "bailian-token-plan/deepseek-v4-flash": {}, "bailian-token-plan/deepseek-v4-flash-0731": {}, "bailian-token-plan/deepseek-v3.2": {}, "bailian-token-plan/kimi-k2.7-code": {}, "bailian-token-plan/kimi-k2.6": {}, "bailian-token-plan/kimi-k2.5": {}, "bailian-token-plan/glm-5.2": {}, "bailian-token-plan/glm-5.1": {}, "bailian-token-plan/glm-5": {}, "bailian-token-plan/MiniMax-M2.5": {} } } }, "gateway": { "mode": "local", "auth": { "mode": "none" } } } -
Save and exit
Press
Ctrl+X, pressYto confirm saving, and then pressEnterto confirm the file name. -
Apply the configuration
To apply the changes, restart the gateway with the following command:
openclaw gateway restart
Method 2: Web UI
-
Start the Web UI
In your terminal, run the following command to start the Web UI:
openclaw dashboardIn the left menu, choose Configuration > Settings > Advanced, and click Open to open the configuration editor.
-
Add the configuration
For a new configuration: Copy the following content into the configuration file. Replace
YOUR_API_KEYwith your API Key for the Token Plan Team Edition.For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{ "meta": { "lastTouchedVersion": "2026.2.1", "lastTouchedAt": "2026-02-03T08:20:00.000Z" }, "models": { "mode": "merge", "providers": { "bailian-token-plan": { "baseUrl": "https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic", "apiKey": "YOUR_API_KEY", "api": "anthropic-messages", "models": [ { "id": "qwen3.8-max", "name": "qwen3.8-max", "reasoning": true, "input": ["text", "image"], "contextWindow": 983616, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.7-max", "name": "qwen3.7-max", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.7-plus", "name": "qwen3.7-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-flash", "name": "qwen3.6-flash", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "deepseek-v4-pro", "name": "deepseek-v4-pro", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v4-pro-0813", "name": "deepseek-v4-pro-0813", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v4-flash", "name": "deepseek-v4-flash", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v4-flash-0731", "name": "deepseek-v4-flash-0731", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 393216, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "deepseek-v3.2", "name": "deepseek-v3.2", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "kimi-k2.7-code", "name": "kimi-k2.7-code", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 32768, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "kimi-k2.6", "name": "kimi-k2.6", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-5.2", "name": "glm-5.2", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-5.1", "name": "glm-5.1", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } } ] } } }, "agents": { "defaults": { "model": { "primary": "bailian-token-plan/qwen3.8-max" }, "models": { "bailian-token-plan/qwen3.8-max": {}, "bailian-token-plan/qwen3.7-max": {}, "bailian-token-plan/qwen3.7-plus": {}, "bailian-token-plan/qwen3.6-plus": {}, "bailian-token-plan/qwen3.6-flash": {}, "bailian-token-plan/deepseek-v4-pro": {}, "bailian-token-plan/deepseek-v4-pro-0813": {}, "bailian-token-plan/deepseek-v4-flash": {}, "bailian-token-plan/deepseek-v4-flash-0731": {}, "bailian-token-plan/deepseek-v3.2": {}, "bailian-token-plan/kimi-k2.7-code": {}, "bailian-token-plan/kimi-k2.6": {}, "bailian-token-plan/kimi-k2.5": {}, "bailian-token-plan/glm-5.2": {}, "bailian-token-plan/glm-5.1": {}, "bailian-token-plan/glm-5": {}, "bailian-token-plan/MiniMax-M2.5": {} } } }, "gateway": { "mode": "local", "auth": { "mode": "none" } } } -
Save the configuration
In the Web UI configuration page, click the save button to complete the configuration.
-
Apply the configuration
To apply the changes, restart the gateway with the following command:
openclaw gateway restart
Coding Plan
|
Item |
Description |
|
API Key |
Dedicated API Key for the Coding Plan, in the format |
|
Base URL |
|
|
Available models |
All models included in the Coding Plan |
The configuration file is located at ~/.openclaw/openclaw.json. OpenClaw automatically reads this file on startup.
The example disables gateway authentication (auth.mode: none), suitable only for single-machine local use. For shared or remote access, run openclaw doctor --fix to enable token authentication.
Method 1: Terminal
-
Open the configuration file
nano ~/.openclaw/openclaw.json -
Add the configuration
For a new configuration: Copy the following content into the configuration file. Replace
YOUR_API_KEYwith your Coding Plan API Key.For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{ "meta": { "lastTouchedVersion": "2026.2.1", "lastTouchedAt": "2026-02-03T08:20:00.000Z" }, "models": { "mode": "merge", "providers": { "bailian-coding-plan": { "baseUrl": "https://coding.dashscope.aliyuncs.com/apps/anthropic", "apiKey": "YOUR_API_KEY", "api": "anthropic-messages", "models": [ { "id": "qwen3.7-plus", "name": "qwen3.7-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.5-plus", "name": "qwen3.5-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3-max-2026-01-23", "name": "qwen3-max-2026-01-23", "reasoning": false, "input": ["text"], "contextWindow": 262144, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3-coder-next", "name": "qwen3-coder-next", "reasoning": false, "input": ["text"], "contextWindow": 262144, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-4.7", "name": "glm-4.7", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } } ] } } }, "agents": { "defaults": { "model": { "primary": "bailian-coding-plan/qwen3.7-plus" }, "models": { "bailian-coding-plan/qwen3.7-plus": {}, "bailian-coding-plan/qwen3.6-plus": {}, "bailian-coding-plan/qwen3.5-plus": {}, "bailian-coding-plan/qwen3-max-2026-01-23": {}, "bailian-coding-plan/qwen3-coder-next": {}, "bailian-coding-plan/qwen3-coder-plus": {}, "bailian-coding-plan/MiniMax-M2.5": {}, "bailian-coding-plan/glm-5": {}, "bailian-coding-plan/glm-4.7": {}, "bailian-coding-plan/kimi-k2.5": {} } } }, "gateway": { "mode": "local", "auth": { "mode": "none" } } } -
Save and exit
Press
Ctrl+X, pressYto confirm saving, and then pressEnterto confirm the file name. -
Apply the configuration
To apply the changes, restart the gateway with the following command:
openclaw gateway restart
Method 2: Web UI
-
Start the Web UI
In your terminal, run the following command to start the Web UI:
openclaw dashboardIn the left menu, choose Configuration > Settings > Advanced, and click Open to open the configuration editor.
-
Add the configuration
For a new configuration: Copy the following content into the configuration file. Replace
YOUR_API_KEYwith your Coding Plan API Key.For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{ "meta": { "lastTouchedVersion": "2026.2.1", "lastTouchedAt": "2026-02-03T08:20:00.000Z" }, "models": { "mode": "merge", "providers": { "bailian-coding-plan": { "baseUrl": "https://coding.dashscope.aliyuncs.com/apps/anthropic", "apiKey": "YOUR_API_KEY", "api": "anthropic-messages", "models": [ { "id": "qwen3.7-plus", "name": "qwen3.7-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.5-plus", "name": "qwen3.5-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3-max-2026-01-23", "name": "qwen3-max-2026-01-23", "reasoning": false, "input": ["text"], "contextWindow": 262144, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3-coder-next", "name": "qwen3-coder-next", "reasoning": false, "input": ["text"], "contextWindow": 262144, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus", "reasoning": false, "input": ["text"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "glm-4.7", "name": "glm-4.7", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": false, "input": ["text", "image"], "contextWindow": 262144, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } } ] } } }, "agents": { "defaults": { "model": { "primary": "bailian-coding-plan/qwen3.7-plus" }, "models": { "bailian-coding-plan/qwen3.7-plus": {}, "bailian-coding-plan/qwen3.6-plus": {}, "bailian-coding-plan/qwen3.5-plus": {}, "bailian-coding-plan/qwen3-max-2026-01-23": {}, "bailian-coding-plan/qwen3-coder-next": {}, "bailian-coding-plan/qwen3-coder-plus": {}, "bailian-coding-plan/MiniMax-M2.5": {}, "bailian-coding-plan/glm-5": {}, "bailian-coding-plan/glm-4.7": {}, "bailian-coding-plan/kimi-k2.5": {} } } }, "gateway": { "mode": "local", "auth": { "mode": "none" } } } -
Save the configuration
In the Web UI configuration page, click the save button to complete the configuration.
-
Apply the configuration
To apply the changes, restart the gateway with the following command:
openclaw gateway restart
Pay-as-you-go
|
Item |
Description |
|
API Key |
Model Studio API Key, in the format |
|
Base URL |
Ensure your Base URL, API Key, and model all correspond to the same region:
|
|
Available models |
All models available in the Model Market |
The configuration file is located at ~/.openclaw/openclaw.json. OpenClaw automatically reads this file on startup. The following examples use the China (Beijing) region. If you use a different region, replace the baseUrl with the corresponding URL from the table above.
The example disables gateway authentication (auth.mode: none), suitable only for single-machine local use. For shared or remote access, run openclaw doctor --fix to enable token authentication.
Method 1: Terminal
-
Open the configuration file
nano ~/.openclaw/openclaw.json -
Add the configuration
For a new configuration: Copy the following content into the configuration file. Replace
YOUR_API_KEYwith your Model Studio API Key.For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{ "meta": { "lastTouchedVersion": "2026.2.1", "lastTouchedAt": "2026-02-03T08:20:00.000Z" }, "models": { "mode": "merge", "providers": { "bailian": { "baseUrl": "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/apps/anthropic", "apiKey": "YOUR_API_KEY", "api": "anthropic-messages", "models": [ { "id": "qwen3.7-plus", "name": "qwen3.7-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "deepseek-v3.2", "name": "deepseek-v3.2", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } } ] } } }, "agents": { "defaults": { "model": { "primary": "bailian/qwen3.6-plus" }, "models": { "bailian/qwen3.6-plus": {}, "bailian/MiniMax-M2.5": {}, "bailian/glm-5": {}, "bailian/deepseek-v3.2": {} } } }, "gateway": { "mode": "local", "auth": { "mode": "none" } } } -
Save and exit
Press
Ctrl+X, pressYto confirm saving, and then pressEnterto confirm the file name. -
Apply the configuration
To apply the changes, restart the gateway with the following command:
openclaw gateway restart
Method 2: Web UI
-
Start the Web UI
In your terminal, run the following command to start the Web UI:
openclaw dashboardIn the left menu, choose Configuration > Settings > Advanced, and click Open to open the configuration editor.
-
Add the configuration
For a new configuration: Copy the following content into the configuration file. Replace
YOUR_API_KEYwith your Model Studio API Key.For an existing configuration: To preserve your current settings, do not replace the entire file content. See How to safely modify an existing configuration.
{ "meta": { "lastTouchedVersion": "2026.2.1", "lastTouchedAt": "2026-02-03T08:20:00.000Z" }, "models": { "mode": "merge", "providers": { "bailian": { "baseUrl": "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/apps/anthropic", "apiKey": "YOUR_API_KEY", "api": "anthropic-messages", "models": [ { "id": "qwen3.7-plus", "name": "qwen3.7-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": false, "input": ["text", "image"], "contextWindow": 1000000, "maxTokens": 65536, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } }, { "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } }, { "id": "deepseek-v3.2", "name": "deepseek-v3.2", "reasoning": false, "input": ["text"], "contextWindow": 163840, "maxTokens": 16384, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "compat": { "thinkingFormat": "openai" } } ] } } }, "agents": { "defaults": { "model": { "primary": "bailian/qwen3.6-plus" }, "models": { "bailian/qwen3.6-plus": {}, "bailian/MiniMax-M2.5": {}, "bailian/glm-5": {}, "bailian/deepseek-v3.2": {} } } }, "gateway": { "mode": "local", "auth": { "mode": "none" } } } -
Save the configuration
In the Web UI configuration page, click the save button to complete the configuration.
-
Apply the configuration
To apply the changes, restart the gateway with the following command:
openclaw gateway restart
Connect to message channels
DingTalk
Step 1: Create a DingTalk application
-
Select or create an organization
-
Log in to the DingTalk Open Platform, select an organization for which you have developer permissions, or select an organization and then obtain developer permissions.
-
If you do not have developer permissions, create a new organization. You can use the DingTalk mobile app to scan the QR code below to quickly create one.
-
-
Create a DingTalk bot application
-
Sign in to the DingTalk Open Platform. In the top menu bar, select Application Development.
-
Click Create Application. Enter an application name (e.g., "AI Assistant") and description, and then click Save. You will be redirected to the application details page.
-
On the Add Application Capabilities page, add a Bot.
-
Configure the bot:
-
Enable the Bot Configuration switch.
-
Fill in the bot name and other required fields.
-
For message receiving mode, keep the default Stream mode.
-
Click Publish.
-
-
-
Get application credentials
In the left navigation pane, click Credentials and Basic Information to get the Client ID and Client Secret, which you will need for deployment.
-
Publish the application
-
In the left navigation pane of the application details page, click Version Management and Release.
-
Click Create New Version and enter a version number, such as 1.0.0.
-
Set the visibility range, for example, to Visible only to me.
-
Click Save, and then confirm the publication.
-
Step 2: Install the DingTalk channel plugin
If you deploy OpenClaw using the Simple Application Server deployment solution or the Elastic Desktop Service deployment solution, the plugin is typically pre-installed.
-
Install the DingTalk channel plugin:
openclaw plugins install @soimy/dingtalk -
Confirm the plugin is loaded:
openclaw plugins listThe output should include the
dingtalkplugin with a status ofloaded.
Step 3: Configure the DingTalk channel
If you deploy OpenClaw using the Simple Application Server deployment solution or the Elastic Desktop Service deployment solution, you can typically configure these settings in the graphical user interface.
Add the channels and plugins.allow configurations to ~/.openclaw/openclaw.json. Replace YOUR_DINGTALK_APPKEY and YOUR_DINGTALK_APPSECRET with the credentials that you obtained in Step 1. Add channels and plugins to the corresponding locations in the existing configuration file, and do not overwrite existing configurations such as models and agents.
If you deploy OpenClaw using Simple Application Server or Elastic Desktop Service, you can typically configure these settings in the graphical user interface. For details, see the documentation for the respective product.
{
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "YOUR_DINGTALK_APPKEY",
"clientSecret": "YOUR_DINGTALK_APPSECRET",
"robotCode": "YOUR_DINGTALK_APPKEY",
"dmPolicy": "open",
"groupPolicy": "open",
"messageType": "markdown"
}
},
"plugins": {
"allow": ["dingtalk"],
"entries": {
"dingtalk": {
"enabled": true
}
}
}
}
In the preceding configuration, both dmPolicy and groupPolicy are set to open, which is suitable for testing or personal use. In a production environment, we recommend setting these to allowlist to restrict access to specific users and groups to reduce security risks.
To switch to allowlist mode, change dmPolicy and groupPolicy to "allowlist", and add the allowFrom field with the employee IDs and group IDs that are allowed to access. Example:
"dmPolicy": "allowlist",
"groupPolicy": "allowlist",
"allowFrom": ["your-employee-id", "group-id"]
Step 4: Test
-
Restart the gateway:
openclaw gateway restart -
Check the DingTalk channel status:
openclaw statusIn the Channels section, DingTalk should be
ONwith a status ofOK - configured. -
Find your bot in a DingTalk group chat and send it a message to test the connection.
Lark
Step 1: Create a Lark application
-
Go to the Lark Open Platform and click Create Custom Enterprise App. Enter an application name and description, select an application icon, and then click Create.
-
In the left navigation pane, click Credentials and Basic Information and copy the App ID (in the format
cli_xxx) and App Secret. -
In the left navigation pane, click permission management. Click Batch Import/Export Permissions, paste the following JSON configuration, click Next, Confirm New Permissions, and then click Apply for Activation.
-
In the left navigation pane, click , select the Add by Capability tab, find the Robot card, and click Configure.
-
Configure event subscriptions.
-
In the left navigation pane of the Lark Open Platform, click Events & Callbacks. On the Event Configuration tab, under Subscription Method, select Use long-lived connection to receive events, and then click Save.
-
On the event configuration page, click Add Event, search for the event
im.message.receive_v1(Receive Message), and then click Confirm Add.
-
-
On the Version Management and Release page, create a new version. Enter the Application Version Number and Update Description, click Save, and then submit for review and publish.
Step 2: Configure the Lark bot
-
Configure the Lark channel:
openclaw channels addFollow the interactive prompts to complete the configuration.
-
Select Lark.
-
Enter the App ID.
-
Enter the App Secret.
After the configuration is complete, restart the gateway.
-
-
Test the connection by mentioning the @bot in the group or sending it a direct message.
-
To add the bot to a group chat, go to .
-
Click the bot's avatar and then click Send Message to start a direct message. The bot will reply with a message containing a pairing code.
-
Copy the last line of the reply and send it in your OpenClaw chat. OpenClaw will then complete the pairing with the Lark bot.
Step 3: Test
-
Restart the gateway:
openclaw gateway restart -
Check the Lark channel status:
openclaw statusIn the Channels section, Lark should be
ONwith a status ofOK. -
Send a message in Lark to test.
Ensure your WeChat version is 8.0.70 or later.
Step 1: Install the WeChat channel plugin
-
Install the WeChat channel plugin:
npx -y @tencent-weixin/openclaw-weixin-cli@latest install -
After installation, the terminal displays a QR code. Scan it with WeChat to link your account. Once linked, a chat window with ClawBot opens in WeChat.
-
Confirm the plugin is loaded:
openclaw plugins listThe output should include the
openclaw-weixinplugin with a status ofloaded.
Step 2: Test
-
Restart the gateway:
openclaw gateway restart -
In WeChat, find ClawBot and send it a message to test the connection.
Step 1: Install the QQ channel plugin
-
Install the QQ channel plugin:
openclaw plugins install @sliverp/qqbot -
Confirm the plugin is loaded:
openclaw plugins listThe output should include the
qqbotplugin with a status ofloaded.
Step 2: Create a QQ bot
-
Go to the QQ Open Platform to register and sign in with your developer account.
-
Create a bot on the OpenClaw Exclusive Page to get an AppID and AppSecret.
NoteThe AppSecret is not stored in plain text and is shown only once. Viewing it again forces a reset, so you must save it to a secure location.
-
After creation, a chat window with the bot automatically opens in QQ.
Step 3: Connect to the QQ channel
-
Add the
channelsandplugins.allowconfigurations to~/.openclaw/openclaw.json. ReplaceYOUR_APP_IDandYOUR_APP_SECRETwith the credentials that you obtained in Step 2. Add thechannelsandpluginsconfigurations to the corresponding locations in your existing configuration file. Do not overwrite existing configurations, such asmodelsandagents.{ "channels": { "qqbot": { "enabled": true, "appId": "YOUR_APP_ID", "clientSecret": "YOUR_APP_SECRET", "dmPolicy": "open", "allowFrom": ["*"] } }, "plugins": { "allow": ["qqbot"], "entries": { "qqbot": { "enabled": true, "config": {} } } } }In the preceding configuration, setting
dmPolicytoopenallows direct messages, and settingallowFromto["*"]allows messages from all users. This is suitable for testing or personal use. In a production environment, we recommend restricting access based on your security requirements. -
After the configuration is complete, restart the gateway.
openclaw gateway restart -
In QQ, send a message to the bot to test the connection.
Common commands
|
Command |
Description |
Example |
|
/help |
Lists available commands. |
/help |
|
/status |
Shows the current model, session, and gateway status. |
/status |
|
/model <model_name> |
Switches the model for the current session. |
/model qwen3.7-max |
|
/new |
Starts a new session. |
/new |
|
/compact |
Compresses conversation history to free up context window space. |
/compact |
|
/think <level> |
Sets the inference depth. Available levels are off, low, medium, and high. |
/think high |
|
/skills |
Lists available skills. |
/skills |
Use cases
Use case 1: Schedule AI news pushes
Using OpenClaw's scheduled task feature, you can have an AI automatically fetch news from a specified website and push it to you daily via DingTalk, without needing additional skills or plugins.
Use case 2: Additional scheduled push templates
Use case 3: Automate Xiaohongshu operations
You can use OpenClaw to automate your Xiaohongshu account for end-to-end tasks such as content creation, automatic posting, and comment replies.
Use case 4: Monitor and analyze stocks
OpenClaw can analyze stock trends and provide technical analysis and investment advice.
AI-generated content is for reference only. It does not constitute investment advice or a basis for decisions.
Learn more
Skill
Skills are extensible modules that provide new capabilities. The agent automatically matches and loads the appropriate Skill based on the user's request. OpenClaw allows you to view and enable built-in Skills, install community Skills from ClawHub, or create custom Skills.
Viewing existing skills
-
View your installed Skills and their status:
# List installed Skills openclaw skills list # Check Skill status (enabled, disabled, missing dependencies, etc.) openclaw skills check # View detailed information for a specific Skill openclaw skills info <skill-name> -
Built-in Skills are disabled by default. To enable them, you must add them to the
skills.allowBundledallowlist in~/.openclaw/openclaw.json. OpenClaw loads only the built-in Skills listed in this array.{ "skills": { "allowBundled": [ "github", "weather", "summarize", "coding-agent", "clawhub", "nano-pdf", "google-web-search", "image-lab" ] } }Some built-in Skills require a third-party API key to function. Configure these keys in the
skills.entriesfield of~/.openclaw/openclaw.json. For details, refer to the Skills Configuration documentation.
Finding more skills
You can find and install more Skills using one of the following methods.
-
Search and install from ClawHub
ClawHub offers over 3,000 community Skills. You can browse them on the website or search for them from the command line.
# Search by keyword npx clawhub search [keyword] # Browse recently updated Skills npx clawhub exploreAfter you find a suitable Skill, run the following command to install it. Then, restart the gateway to apply the Skill.
npx clawhub install <skill-name> -
Ask OpenClaw directly
Describe your needs directly in the chat, for example,
Help me find a Skill that can check the weather. OpenClaw will automatically search for and install a matching Skill.
Creating a custom skill
-
Create a directory for your Skill.
mkdir -p ~/.openclaw/workspace/skills/my-custom-skill -
In this directory, create the
SKILL.mdfile. The file consists of two parts: YAML front matter and Markdown instructions. Thenameanddescriptionfields are required. The Agent uses thedescriptionto determine whether to load the Skill. Ensure that the description is accurate.--- name: my-custom-skill description: Short description --- # My Custom Skill When a user requests XXX, do the following: 1. Use the bash tool to run the xxx command 2. Parse the output 3. Return the result to the user as a table -
Restart the gateway to apply the Skill.
# Restart the gateway openclaw gateway restart # Check if the Skill is active openclaw skills list
For more information on Skill configuration, see the OpenClaw Official Documentation.
Connecting to an MCP service
OpenClaw uses Model Context Protocol (MCP) plugins to extend the agent's tool calling capabilities, adding features such as web search and web scraping. For a specific example, see Add a Web Search MCP.