All Products
Search
Document Center

Alibaba Cloud Model Studio:OpenClaw

Last Updated:Apr 30, 2026

Connect OpenClaw to Alibaba Cloud Token Plan Team Edition. OpenClaw (formerly Moltbot/Clawdbot) is an open source personal AI assistant platform for interacting with AI through various messaging channels.

Install OpenClaw

Qwen Code

OpenClaw requires the Node.js environment. To avoid potential issues during manual installation, use Qwen Code to handle the setup and verification.

  1. Install and configure Qwen Code.

  2. In your terminal, run the following command to start Qwen Code.

    qwen
  3. In the Qwen Code dialog box, enter the following prompt.

    macOS/Linux installation prompt

      Please help me install OpenClaw. Run the following commands sequentially to complete the installation and initial configuration:                                                          
      1. Prerequisite: Node.js (v22.0 or later) must be installed. Check with 'node --version'. If the version is lower, you need to upgrade or install a newer version. Do not uninstall your existing Node.js.                      
      2. curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard                                             
      3. openclaw gateway install
      4. openclaw onboard --non-interactive --accept-risk --flow quickstart --auth-choice skip --skip-channels --skip-skills
      5. Verify that OpenClaw is running correctly by executing 'openclaw status'.

    Windows installation prompt

    Please help me install OpenClaw on Windows by running the following steps in order:
    
    ## Execution instructions
    
    All PowerShell commands must be run in the following format:
    ```
    powershell -ExecutionPolicy Bypass -Command "<command>"
    ```
    
    ### Notes:
    1. For multi-line content, use the `write_file` tool to create a file and avoid here-string syntax.
    2. After you modify an environment variable, you must explicitly refresh `$env:Path` to use it in the same session.
    3. For commands that involve network downloads, set a long timeout (>= 120000ms).
    
    ---
    
    ## Step 1: Check prerequisites
    
    Check if the following tools are installed and output their version numbers:
    - `node --version` (requires v22 or later)
    - `npm --version`
    - `git --version`
    
    If all tools are installed and the Node.js version is 22 or higher, skip to Step 4.
    
    ---
    
    ## Step 2: Install Node.js (if not installed or version is below 22)
    
    1. Detect the system architecture (x64, x86, or ARM64).
    2. Download the Node.js zip package from the official source and extract it:
    ```
    powershell -ExecutionPolicy Bypass -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri 'https://nodejs.org/dist/v24.0.0/node-v24.0.0-win-x64.zip' -OutFile \"$env:TEMP\node24.zip\"; Expand-Archive \"$env:TEMP\node24.zip\" -DestinationPath \"$env:LOCALAPPDATA\nodejs-v24\" -Force; Remove-Item \"$env:TEMP\node24.zip\""
    ```
    3. Add it to the system PATH (permanent; available in new terminals):
    ```
    powershell -ExecutionPolicy Bypass -Command "$nodePath = \"$env:LOCALAPPDATA\nodejs-v24\node-v24.0.0-win-x64\"; $machinePath = [Environment]::GetEnvironmentVariable('PATH', 'Machine'); [Environment]::SetEnvironmentVariable('PATH', \"$nodePath;$machinePath\", 'Machine'); $env:Path = \"$nodePath;$env:Path\"; node --version; npm --version"
    ```
    
    ---
    
    ## Step 3: Install Git (if not installed)
    
    1. Download the Git installer from the official source and perform a silent installation:
    ```
    powershell -ExecutionPolicy Bypass -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri 'https://github.com/git-for-windows/git/releases/download/v2.53.0.windows.2/Git-2.53.0.2-64-bit.exe' -OutFile \"$env:TEMP\Git-Installer.exe\"; Start-Process -FilePath \"$env:TEMP\Git-Installer.exe\" -ArgumentList '/VERYSILENT','/NORESTART','/NOCANCEL','/SP-','/CLOSEAPPLICATIONS','/RESTARTAPPLICATIONS','/COMPONENTS=icons,ext\reg\shellhere,assoc,assoc_sh' -Wait; Remove-Item \"$env:TEMP\Git-Installer.exe\""
    ```
    2. Refresh the PATH and verify the installation:
    ```
    powershell -ExecutionPolicy Bypass -Command "$machinePath = [Environment]::GetEnvironmentVariable('PATH', 'Machine'); $env:Path = \"$machinePath;$env:Path\"; git --version"
    ```
    
    ---
    
    ## Step 4: Install OpenClaw
    
    Refresh the PATH and perform a global installation:
    ```
    powershell -ExecutionPolicy Bypass -Command "$machinePath = [Environment]::GetEnvironmentVariable('PATH', 'Machine'); $userPath = [Environment]::GetEnvironmentVariable('PATH', 'User'); $env:Path = \"$machinePath;$userPath;$env:Path\"; npm install -g openclaw@latest"
    ```
    
    ---
    
    ## Step 5: Verify the installation
    
    ```
    powershell -ExecutionPolicy Bypass -Command "$machinePath = [Environment]::GetEnvironmentVariable('PATH', 'Machine'); $userPath = [Environment]::GetEnvironmentVariable('PATH', 'User'); $env:Path = \"$machinePath;$userPath;$env:Path\"; openclaw --version"
    ```
    
    ---
    
    ## Step 6: Install Gateway
    
    ```
    openclaw gateway install
    ```
    
    ---
    
    ## Step 7: Automate the initial configuration
    
    Use the `write_file` tool to create a configuration file and automatically configure all settings in QuickStart mode:
    
    Configuration file path: `%USERPROFILE%\.openclaw\config.yaml`
    
    Configuration file content:
    ```yaml
    # OpenClaw Configuration - QuickStart mode
    
    workspace:
      name: default
      directory: .
    
    gateway:
      mode: local
      auth:
        token: openclaw-quickstart-token
    
    session:
      scope: personal
      dmScope: per-channel
    
    channels:
      - type: tui
        enabled: true
    
    skills:
      enabled: false
    
    hooks:
      enabled: false
    
    security:
      acknowledged: true
      mode: personal
    
    ui:
      hatch: tui
    ```
    
    After you create the configuration file, run the following command:
    ```
    powershell -ExecutionPolicy Bypass -Command "[Environment]::SetEnvironmentVariable('OPENCLAW_GATEWAY_TOKEN', 'openclaw-quickstart-token', 'User')"
    ```
    
    ---
    
    ## Step 8: Start and use OpenClaw
    
    ```
    # Start the TUI interface
    openclaw tui
    
    # Or, check the status
    openclaw status
    
    # View the Dashboard (open in a browser)
    # http://127.0.0.1:18789/
    ```
  4. Authorize Qwen Code to run commands until the installation is complete.

  5. Enter /exit to exit Qwen Code.

    /exit

Manual

  1. Install or update Node.js

    1. Run the following command in a terminal to check your Node.js version. OpenClaw requires v22.0 or later. A "command not found" error means Node.js is not installed. If the version is below v22.0, update it.

      To open a terminal: On macOS, open the Terminal application. On Windows, open Terminal, PowerShell, or cmd.
      node -v
    2. Download and install: Visit Node.js, select an LTS version with a version number >= 22.x.x, and download the installation package for your operating system. Then, run the installer.

      For example, on Windows, download the Windows Installer (.msi). On macOS, download the macOS Installer (.pkg).
  2. Run one of the following commands to start the OpenClaw installation.

    1. macOS/Linux:

      To open a terminal, press Command + Space, type terminal, and press the Enter key. Then, run the following command:

      curl -fsSL https://openclaw.ai/install.sh | bash
    2. Windows:

      In the taskbar search box, enter PowerShell, select Run as administrator, and in PowerShell, run the following command:

      iwr -useb https://openclaw.ai/install.ps1 | iex
  3. After the installation is complete, follow the on-screen prompts to configure OpenClaw. Refer to the table below for recommended settings.

    Parameter

    Value

    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 this later.

    Filter models by provider

    Select "All providers"

    Default model

    Keep the default setting.

    Select channel (QuickStart)

    Select "Skip for now". You can configure this later.

    Configure skills now? (recommended)

    Select "No". You can configure this later.

    Enable hooks?

    Press the Spacebar to select "Skip for now", then press the Enter key.

    How do you want to hatch your bot?

    Select "Hatch in TUI".

Configure Token Plan Team Edition in OpenClaw

  • We recommend using Method 1 for a guided configuration with an AI agent, such as Qwen Code. If you are familiar with OpenClaw, you can use Method 2 to modify the configuration file directly.

Method 1: Guided configuration

  1. Install and configure Qwen Code.

  2. In your terminal, run the following command to start Qwen Code.

    qwen
  3. In the Qwen Code dialog, enter the following prompt.

    Qwen Code guided configuration prompt

    Please help me configure OpenClaw to connect to Token Plan Team Edition. Follow these steps:
    
    ## Step 1: Obtain the API key
    First, ask: "Please provide your Token Plan Team Edition API key."
    Wait for the user to provide the API key before proceeding.
    
    ## Step 2: Modify the configuration file
    1. Open the configuration file: ~/.openclaw/openclaw.json
       - If the file does not exist, create it.
       - Important: The file must be in .json format.
    
    2. Find or create the following fields and merge the configuration. This preserves existing configurations and adds new fields.
       - Use "mode": "merge" to avoid overwriting existing configurations.
       - Replace YOUR_API_KEY with the user's API key.
    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian": {
            "baseUrl": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
            "apiKey": "YOUR_API_KEY",
            "api": "openai-completions",
            "models": [
              {
                "id": "qwen3.6-plus",
                "name": "qwen3.6-plus",
                "reasoning": false,
                "input": ["text", "image"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "MiniMax-M2.5",
                "name": "MiniMax-M2.5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 196608,
                "maxTokens": 32768
              },
              {
                "id": "glm-5",
                "name": "glm-5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 202752,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "deepseek-v3.2",
                "name": "deepseek-v3.2",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 163840,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              }
            ]
          }
        }
      },
      "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"
      }
    } 
    3. Save the file.
    
    ## Step 3: Restart and verify
    1. Run `openclaw gateway restart` to restart the gateway and apply the configuration.
    2. Run `openclaw models list` to verify that the configuration is successful.
       - Check if the output contains models that start with `bailian/`.
       - Check if each model has a `configured` tag.
       - If you encounter errors, fix them based on the error messages.
  4. Authorize Qwen Code to run commands until the configuration is complete.

  5. After the configuration is complete, Qwen Code displays the output of openclaw models list. If models such as bailian/qwen3.6-plus are marked as configured, the configuration is successful.

Method 2: Direct modification

Use terminal

  1. Run the following command in your terminal to open the configuration file.

    nano ~/.openclaw/openclaw.json
  2. First-time configuration: Copy the following content to the configuration file. Replace YOUR_API_KEY with your Token Plan Team Edition API key.

    Existing configuration: If you have an existing configuration, do not replace the entire content. For more information, see How to safely modify an existing configuration.

    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian": {
            "baseUrl": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
            "apiKey": "YOUR_API_KEY",
            "api": "openai-completions",
            "models": [
              {
                "id": "qwen3.6-plus",
                "name": "qwen3.6-plus",
                "reasoning": false,
                "input": ["text", "image"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "MiniMax-M2.5",
                "name": "MiniMax-M2.5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 196608,
                "maxTokens": 32768
              },
              {
                "id": "glm-5",
                "name": "glm-5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 202752,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "deepseek-v3.2",
                "name": "deepseek-v3.2",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 163840,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              }
            ]
          }
        }
      },
      "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"
      }
    }
  3. Save the file and exit. Then, run the following command to apply the configuration.

    openclaw gateway restart

Use web browser

  1. Run the following command in your terminal. Your browser automatically opens the OpenClaw dashboard, typically at an address like http://127.0.0.1:xxxx. Use this page to manage conversations and configurations.

    openclaw dashboard
  2. In the left navigation bar, select Configuration > RAW (or Config > RAW).

    1. First-time configuration: Copy the following content into the Raw JSON5 input box, replacing any existing content.

      Existing configuration: If you have an existing configuration, do not replace the entire content. For more information, see How to safely modify an existing configuration.

    2. Replace YOUR_API_KEY with your Token Plan Team Edition API key.

      image

    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian": {
            "baseUrl": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
            "apiKey": "YOUR_API_KEY",
            "api": "openai-completions",
            "models": [
              {
                "id": "qwen3.6-plus",
                "name": "qwen3.6-plus",
                "reasoning": false,
                "input": ["text", "image"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "MiniMax-M2.5",
                "name": "MiniMax-M2.5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 196608,
                "maxTokens": 32768
              },
              {
                "id": "glm-5",
                "name": "glm-5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 202752,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "deepseek-v3.2",
                "name": "deepseek-v3.2",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 163840,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              }
            ]
          }
        }
      },
      "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"
      }
    }
  3. In the upper-right corner, click Save, and then click Update to apply the configuration.

    After saving the configuration, the apiKey value is displayed as "__OPENCLAW_REDACTED__". This security redaction only hides the key in the user interface and does not affect actual API calls.

Use OpenClaw

You can use OpenClaw in a web browser or on the command line.

Web browser

  1. Run the following command in a new terminal to open the OpenClaw dashboard in your web browser.

    openclaw dashboard
  2. Start a conversation.

    image

CLI

  1. Run the following command in a new terminal.

    openclaw tui
  2. Start a conversation.

    image

Common commands

Command

Description

Example

/help

Lists available commands.

/help

/status

Shows the current model, session, and gateway.

/status

/model <model_name>

Switches the model for the current session.

/model qwen3.6-plus

/new

Starts a new session.

/new

/compact

Compacts the conversation history, freeing space in the context window.

/compact

/think <level>

Sets the inference depth level. Options include off, low, medium, and high.

/think high

/skills

Lists all available skills.

/skills

Switch models

  • Switch model in current session (temporary)

    Run openclaw tui in your terminal to launch the OpenClaw TUI. Use /model <model_name> to switch the model for the current session.

    /model qwen3.6-plus
    The message "model set to qwen3.6-plus" confirms the switch.
  • Switch the default model (persistent)

    To set a default model for new sessions, change the agents.defaults.model.primary field to the desired model identifier. See Modify the configuration file.

    {
        "agents": {
            "defaults": {
                "model": {
                    "primary": "bailian/qwen3.6-plus"
                }
            }
        }
    }
Note

Text models (such as qwen3.6-plus and glm-5) work out of the box. Image generation models use a separate API and must be integrated via extension mechanisms. See Integrate multimodal generation models.

Integrate message channels

WhatsApp

Step 1: Install the WhatsApp plugin

The WhatsApp channel is integrated as a plugin. Run the following command to install the plugin:

openclaw plugins install @openclaw/whatsapp

Step 2: Configure the WhatsApp channel

Enter the following prompt in an OpenClaw conversation. OpenClaw will ask for your phone number, which must be in E.164 format (a plus sign, followed by the country code and phone number). It then automatically adds the number to the configuration and completes the setup.

Please help me configure the WhatsApp channel. First, ask for my phone number, then automatically fill the number into the allowFrom and groupAllowFrom fields in the following configuration and complete the setup.
{
  "channels": {
    "whatsapp": {
      "dmPolicy": "pairing",
      "allowFrom": ["<phone_number>"],
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["<phone_number>"]
    }
  }
}
We recommend using a separate phone number for the WhatsApp channel to prevent the bot from responding to your daily messages. If you use your personal phone number, you can enter a prompt in an OpenClaw conversation to enable selfChatMode. In this mode, the bot responds only to messages you send to yourself, without affecting other chats.

Step 3: Link WhatsApp

  1. Run the following command to start the WhatsApp linking process. A QR code is displayed in the terminal.

    openclaw channels login --channel whatsapp
  2. Open WhatsApp on your phone and scan the QR code in the terminal to complete the linking process.

  3. Restart the gateway.

    openclaw gateway restart

Step 4: Test

  1. Run the following command to check the WhatsApp channel status:

    openclaw status

    In the Channels section, WhatsApp should be ON with a status of OK.

  2. In WhatsApp, send a message to yourself to verify that the bot responds correctly.

    image

Telegram

Step 1: Configure a Telegram bot

  1. Create a bot using BotFather

    Send the /newbot command and follow the prompts to enter a bot name and username. The username must end with bot. Copy and save the returned Bot Token, which has the format 123456789:ABCdefGHIjklMNOpqrsTUVwxyz.

    image

  2. Enter the following prompt in an OpenClaw conversation, replacing xxxx with your actual Bot Token. OpenClaw will then complete the configuration automatically.

    Please help me configure Telegram with the following settings. My Bot Token is xxxx.
    {
      "channels": {
        "telegram": {
          "enabled": true,
          "botToken": "xxxx",
          "dmPolicy": "pairing"  
        }
      }
    }
  3. After the configuration is complete, restart the gateway.

    openclaw gateway restart
  4. Send a message to your bot in Telegram. The first time you send a message, you will receive a pairing code.

    image

  5. Run the following command in your terminal, replacing xxx with the actual pairing code:

    openclaw pairing approve telegram xxx

Discord

Step 1: Create a Discord application and bot

  1. Create a Discord application

    Go to the Discord Developer Portal, click New Application, enter an application name, and then click Create.

  2. Create a bot and enable intents

    1. In the left navigation pane, click Bot and set a bot username.

    2. On the Bot page, scroll down to Privileged Gateway Intents and enable the following intents:

      • Message Content Intent

      • Server Members Intent

      • Presence Intent

      When finished, click Save Changes.

  3. Get the Bot Token

    At the top of the Bot page, click Reset Token to generate a new token. Copy and save the token securely, as it is only displayed once.

  4. Add the bot to a server

    1. In the left navigation pane, click OAuth2 and scroll down to OAuth2 URL Generator.

    2. In the Scopes section, select bot and applications.commands.

    3. In the Bot Permissions section that appears, select the following permissions:

      • View Channels

      • Send Messages

      • Read Message History

      • Embed Links

      • Attach Files

    4. Copy the URL generated at the bottom of the page, open it in your browser, select the target server, and click Continue to add the bot.

Step 2: Configure Discord in OpenClaw

  1. On the machine where OpenClaw is running, set the Bot Token environment variable:

    export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
  2. Run the following commands to complete the Discord configuration:

    openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
    openclaw config set channels.discord.enabled true --strict-json
  3. Restart the gateway to apply the configuration.

    openclaw gateway restart

Step 3: Pair and test

  1. Send a direct message to the bot in Discord. The first time you send a message, you will receive a pairing code.

    image

  2. Run the following command in your terminal to complete the pairing, replacing xxx with the actual pairing code:

    openclaw pairing approve discord xxx
    The pairing code is valid for one hour. If it expires, you must send another message to get a new one.
  3. Run the following command to check the Discord channel status:

    openclaw status

    In the Channels section, Discord should be ON with a status of OK.

  4. Send a message in Discord to test the bot.

    image

Use cases

Use case 1: Automating X (Twitter)

You can use OpenClaw to automate your X (Twitter) account, letting you create posts, reply to posts, search, and browse your timeline.

Configuration steps

  1. Run the following command in your terminal to install twitter-cli.

    uv tool install twitter-cli
  2. Enter the following prompt in an OpenClaw conversation to automatically install the Skill.

    Install this skill: https://github.com/public-clis/twitter-cli
  3. Once the installation is complete, return to the terminal and restart the gateway to activate the Skill.

    openclaw gateway restart
  4. Verify the Skill installation.

    openclaw skills list
  5. twitter-cli uses browser cookies for authentication. Ensure you are signed in to x.comin a supported browser (Chrome, Edge, Firefox, Arc, or Brave). twitter-cli will automatically extract your cookies.

    Alternatively, you can manually set authentication credentials using environment variables:

    export TWITTER_AUTH_TOKEN="your_auth_token"
    export TWITTER_CT0="your_ct0_token"
    To get your cookies, open x.com in your browser and open the developer tools. In the Application panel, find the values for auth_token and ct0 under Cookies.

Example 1: Automatically publish a post

In an OpenClaw conversation, enter Check Sam Altman's recent posts, summarize the key points, and then help me publish a post with my take on it. OpenClaw will automatically fetch the latest updates, analyze the content, and publish the post.

image

Example 2: Search for trending topics

Enter Help me search for posts about harness engineering from yesterday. OpenClaw will search for relevant posts and summarize the key points.

image

Use case 2: YouTube video analysis and download

With OpenClaw, you can search for YouTube videos by keyword, sort them by date, retrieve video metadata in batches, and download them.

Configuration steps

  1. Run the following command in your terminal to install yt-dlp.

    pip install yt-dlp
  2. Verify the installation.

    yt-dlp --version
  3. (Optional) Configure cookie authentication. To access age-restricted, members-only, or private videos, configure YouTube cookies. Ensure you are signed in to youtube.comin your browser, then enter the following prompt in an OpenClaw conversation:

    I need to configure YouTube cookie authentication. Please use yt-dlp to extract the YouTube cookie from my browser.

After installation, you can use it directly in an OpenClaw conversation. OpenClaw automatically calls the yt-dlp command to perform video-related operations.

Example 1: Summarize video content

In an OpenClaw conversation, enter Help me summarize the main content of this video: https://www.youtube.com/watch?v=XRgGFQ0EgM0. OpenClaw will extract the video information and generate a summary.

image

Example 2: Download a video

In an OpenClaw conversation, enter Help me download this video: https://www.youtube.com/watch?v=XRgGFQ0EgM0. OpenClaw will call yt-dlp to download the video to your local machine.

image

Use case 3: Scheduling AI news delivery

Use the OpenClaw cron job feature to automatically fetch the latest AI news and send it to WhatsApp daily.

image

Configuration steps

  1. Run the following command in your terminal:

    openclaw cron add \
      --name "ai-daily-news" \
      --cron "0 9 * * *" \
      --tz "UTC" \
      --message "Please visit https://techcrunch.com/category/artificial-intelligence/ to get today's AI news. Summarize the top 10 most important AI stories in a concise list format, each with a title and a one-sentence summary in English." \
      --channel whatsapp \
      --to "<your_phone_number>" \
      --announce

    The following table describes the parameters.

    Parameter

    Description

    --name

    A unique name for the cron job.

    --cron

    The schedule in cron expression format. For example, "0 9 * * *" runs the job daily at 09:00.

    --tz

    The time zone for the schedule, such as "UTC", "America/New_York", or "Europe/London".

    --message

    The prompt sent to the agent, which specifies what content to fetch and how to summarize it.

    --channel

    The channel for delivering the result, such as whatsapp.

    --announce

    Announces the result in the specified channel.

    --to

    The recipient's WhatsApp phone number. Use E.164 format: a plus sign (+), country code, and phone number.

    On successful creation, the command returns the cron job's information in JSON format, including its task ID and next run time.

  2. After creating the cron job, you can trigger a manual run to verify that it works correctly.

    1. List the cron jobs to get the task ID.

      openclaw cron list
    2. Manually trigger the job.

      openclaw cron run <task_ID> --timeout 120000
    3. Check the job's execution status.

      openclaw cron runs --id <task_ID>

      If the output includes "status": "ok" and "delivered": true, this indicates that the news was delivered successfully to WhatsApp.

Use case 4: Stock market monitoring and analysis

Use OpenClaw to analyze stock trends and get technical analysis and investment advice.

Note

AI-generated content is for reference only and does not constitute investment advice or a basis for decision-making.

Configuration steps

  1. Install the Skill.

    Enter the following prompt in an OpenClaw conversation, and OpenClaw will automatically complete the installation:

    Install the manus-stock-analysis skill
  2. Once the installation is complete, return to the terminal and restart the gateway to activate the Skill.

    openclaw gateway restart

    Verify the Skill installation.

    openclaw skills list
  3. In an OpenClaw conversation, ask a stock market-related question, such as Analyze NVDA stock.

Learn more

Skill

A skill is an extensible capability module. The agent automatically matches and loads the appropriate skill for a given request. OpenClaw lets you view and enable built-in skills, install community skills from ClawHub, or create custom skills.

View existing skills

  1. Run the following commands to 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 details for a specific skill
    openclaw skills info <skill-name>
  2. Built-in skills are disabled by default. To enable built-in skills, add them to the skills.allowBundled whitelist in your ~/.openclaw/openclaw.json file. OpenClaw loads only the built-in skills listed in this whitelist.

    {
      "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. Configure these keys in the skills.entries section of your ~/.openclaw/openclaw.json file. For details, refer to the Skills configuration documentation.

Find more skills

Use one of the following methods to find and install more skills.

  1. 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 explore

    Once you find a suitable skill, run the following command to install it. After installation, restart the gateway to use the skill.

    npx clawhub install <skill-name>
  2. Ask OpenClaw directly

    Describe what you need directly in the conversation, for example: Help me find a skill that can check the weather. OpenClaw will automatically search for and install a matching skill.

Create a custom skill

  1. Create a directory for your skill.

    mkdir -p ~/.openclaw/workspace/skills/my-custom-skill
  2. In this directory, create a SKILL.md file. The file consists of two parts: YAML front matter and Markdown instructions. The name and description fields are required. The agent uses the description to determine whether to load the skill, so ensure it is accurate.

    ---
    name: my-custom-skill
    description: A short description
    ---
    
    # My Custom Skill
    
    When the user requests XXX, perform the following actions:
    
    1. Use the bash tool to run the xxx command
    2. Parse the output
    3. Return the result to the user in a table
  3. Restart the gateway to activate the skill.

    # Restart the gateway
    openclaw gateway restart
    
    # Verify the skill is available
    openclaw skills list

For more information about Skill configuration, see OpenClaw official documentation.

FAQ

How do I view the models configured for Token Plan Team Edition?

In your terminal, run openclaw tui to open the OpenClaw command line. Then, enter /model to view the model list. Press Enter to select a model and Esc to exit the list.

What should I do if I receive an "API rate limit reached" error?

Check the following potential causes in order:

  1. Incorrect OpenClaw configuration

    An incorrect Base URL or model provider configuration can cause requests to be routed to a generic API instead of the dedicated channel for Token Plan Team Edition, triggering the rate limit.

    • If you are using a Token Plan Team Edition plan, verify that the models, agents, and gateway fields (including nested fields) in your OpenClaw configuration file match the configuration provided in the documentation. For example, the structure for the model provider is { "models": { "providers": { "bailian": {...} } } }.

    • If you are not currently using a Token Plan Team Edition plan, we recommend switching to one for a dedicated quota.

  2. You may have exceeded your plan's quota. Check your plan's usage on the Token Plan Team Edition page.

  3. Try resetting your API key: If the issue persists after the steps above, go to the Token Plan Team Edition page to reset it.

Why am I receiving an "HTTP 401: Incorrect API key provided." or "No API key found for provider xxx" error?

Possible causes include:

  1. The API key is invalid, expired, empty, incorrectly formatted, or does not match the endpoint environment. Verify that the API key is the one designated for your Token Plan Team Edition plan. Ensure that you have copied the entire key without any extra spaces and that your subscription is active.

  2. An outdated OpenClaw configuration is cached, causing an error. To fix this, delete the providers configuration in the ~/.openclaw/agents/main/agent/models.json file and restart OpenClaw.

I have already configured other channels, such as DingTalk. How can I safely add Token Plan Team Edition models without losing my existing configuration?

  • Do not overwrite the entire configuration file. Doing so will erase your custom configurations. Instead, make partial changes.

  • Use one of the following methods:

    • If OpenClaw is working correctly: Enter the following prompt in an OpenClaw conversation to merge the configurations.

    • If OpenClaw has no model configured or is not working: Follow the instructions in Guided configuration with Qwen Code.

    Prompt content (replace YOUR_API_KEY with your actual API key):

    Please integrate Token Plan Team Edition in OpenClaw by following these steps:
    1. Open the configuration file: ~/.openclaw/openclaw.json
    2. Find or create the following fields and merge the configuration. This preserves existing configurations and adds new fields if they do not exist.
    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian": {
            "baseUrl": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
            "apiKey": "YOUR_API_KEY",
            "api": "openai-completions",
            "models": [
              {
                "id": "qwen3.6-plus",
                "name": "qwen3.6-plus",
                "reasoning": false,
                "input": ["text", "image"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "MiniMax-M2.5",
                "name": "MiniMax-M2.5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 196608,
                "maxTokens": 32768
              },
              {
                "id": "glm-5",
                "name": "glm-5",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 202752,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              },
              {
                "id": "deepseek-v3.2",
                "name": "deepseek-v3.2",
                "reasoning": false,
                "input": ["text"],
                "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
                "contextWindow": 163840,
                "maxTokens": 16384,
                "compat": {
                  "thinkingFormat": "qwen"
                }
              }
            ]
          }
        }
      },
      "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"
      }
    } 
    3. Save the configuration file.
    4. Run openclaw gateway restart to restart the OpenClaw gateway and apply the configuration.
After completing the configuration, start a new OpenClaw or Qwen Code session and run the following command to verify the changes: openclaw models status.

Restarting the gateway may cause existing sessions to fail. Start a new session.

What should I do if I receive a "device identity required" error?

The full error message is:

http://127.0.0.1:18791/15:05:56 [ws] closed before connect conn=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1008 reason=device identity required

Cause:

The client did not provide a device identity when it connected to the gateway. This typically occurs for one of the following reasons:

  • You have accessed the address in your browser for the first time and have not completed device pairing.

  • The browser cache was cleared, and the device key was lost.

  • After reinstalling or upgrading OpenClaw, the key file in the ~/.openclaw/identity/ directory is missing.

Solution:

Run the following commands in your terminal to approve the current device and regenerate the browser access address:

openclaw devices approve --latest
openclaw dashboard --no-open

If the issue persists, clear the pending device records and try again:

openclaw devices clear --pending --yes
openclaw dashboard --no-open

Run openclaw devices list. Verify that your device appears in the "Paired" list. This confirms a successful pairing.

For more information, see the FAQ.