Todos os produtos
Search
Central de documentação

Alibaba Cloud Model Studio:OpenClaw

Última atualização: Nov 05, 2026

Use modelos do Alibaba Cloud Model Studio no OpenClaw.

Início rápido

  1. 1

    Instale o plugin Qwen

    openclaw plugins install @openclaw/qwen-provider
    

    ObservaçãoSe o plugin não puder ser instalado, consulte Configurar com um arquivo de configuração.

  2. 2

    Obtenha uma chave de API

    Token Plan

    Obtenha uma chave de API do Token Plan de acordo com sua edição:

    Pagamento conforme o uso

    Obtenha uma chave de API do Model Studio na página de chaves de API do Model Studio.

    Coding Plan

    Obtenha uma chave de API do Coding Plan na página do Coding Plan.

  3. 3

    Configure o modelo

    Execute o comando correspondente ao seu plano de cobrança e insira a chave de API quando solicitado.

    Token Plan

    openclaw onboard --auth-choice qwen-token-plan-cn
    

    Pagamento conforme o uso

    openclaw onboard --auth-choice qwen-standard-api-key-cn
    

    Coding Plan

    openclaw onboard --auth-choice qwen-api-key-cn
    
  4. 4

    Verifique

    Execute os comandos a seguir para verificar a lista de modelos e fazer uma chamada de teste:

    openclaw models list --provider qwen-token-plan
    openclaw agent --model qwen-token-plan/qwen3.8-max --message "Reply with: ok"
    

Configurar com um arquivo de configuração

Use este método se o plugin Qwen não puder ser instalado ou se você preferir gerenciar a configuração manualmente.

  1. 1

    Abra ou crie o arquivo de configuração

    ~/.openclaw/openclaw.json

    Atualize apenas os campos relevantes em models, agents e gateway. Não substitua o arquivo inteiro.

  2. 2

    Grave a configuração

    Token Plan Edição Pessoal

    Substitua YOUR_API_KEY pela chave de API da Edição Pessoal do Token Plan.

    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian-token-plan": {
            "baseUrl": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic",
            "apiKey": "YOUR_API_KEY",
            "api": "anthropic-messages",
            "models": [
              {
                "id": "auto",
                "name": "auto",
                "reasoning": false,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 393216,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.8-max",
                "name": "qwen3.8-max",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 131072,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.8-flash",
                "name": "qwen3.8-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 131072,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.7-max",
                "name": "qwen3.7-max",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.7-plus",
                "name": "qwen3.7-plus",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.6-flash",
                "name": "qwen3.6-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4.1-flash",
                "name": "deepseek-v4.1-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4.1-flash-1017",
                "name": "deepseek-v4.1-flash-1017",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-pro",
                "name": "deepseek-v4-pro",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-pro-0813",
                "name": "deepseek-v4-pro-0813",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-flash-0731",
                "name": "deepseek-v4-flash-0731",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5.3",
                "name": "glm-5.3",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5.2",
                "name": "glm-5.2",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              }
            ]
          }
        }
      },
      "agents": {
        "defaults": {
          "model": {
            "primary": "bailian-token-plan/auto"
          }
        }
      },
      "gateway": {
        "mode": "local",
        "auth": {
          "mode": "none"
        }
      }
    }
    

    Token Plan Edição de Equipe

    Substitua YOUR_API_KEY pela chave de API da Edição de Equipe do Token Plan.

    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian-token-plan": {
            "baseUrl": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic",
            "apiKey": "YOUR_API_KEY",
            "api": "anthropic-messages",
            "models": [
              {
                "id": "auto",
                "name": "auto",
                "reasoning": false,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 393216,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.8-max",
                "name": "qwen3.8-max",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 131072,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.8-flash",
                "name": "qwen3.8-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 131072,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.7-max",
                "name": "qwen3.7-max",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.7-plus",
                "name": "qwen3.7-plus",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.6-plus",
                "name": "qwen3.6-plus",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.6-flash",
                "name": "qwen3.6-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4.1-flash",
                "name": "deepseek-v4.1-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4.1-flash-1017",
                "name": "deepseek-v4.1-flash-1017",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-pro",
                "name": "deepseek-v4-pro",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-pro-0813",
                "name": "deepseek-v4-pro-0813",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-flash-0731",
                "name": "deepseek-v4-flash-0731",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "kimi-k2.7-code",
                "name": "kimi-k2.7-code",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 262144,
                "maxTokens": 98304,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "kimi-k2.6",
                "name": "kimi-k2.6",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 262144,
                "maxTokens": 98304,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "kimi-k2.5",
                "name": "kimi-k2.5",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 262144,
                "maxTokens": 98304,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5.3",
                "name": "glm-5.3",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5.2",
                "name": "glm-5.2",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5.1",
                "name": "glm-5.1",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5",
                "name": "glm-5",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "MiniMax-M2.5",
                "name": "MiniMax-M2.5",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 196608,
                "maxTokens": 32768,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              }
            ]
          }
        }
      },
      "agents": {
        "defaults": {
          "model": {
            "primary": "bailian-token-plan/auto"
          }
        }
      },
      "gateway": {
        "mode": "local",
        "auth": {
          "mode": "none"
        }
      }
    }
    

    Pagamento conforme o uso

    Substitua YOUR_API_KEY pela sua chave de API do Model Studio e substitua {WorkspaceId} pelo seu ID do Workspace.

    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian": {
            "baseUrl": "https://{WorkspaceId}.ap-southeast-1.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": 1000000,
                "maxTokens": 131072,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.7-plus",
                "name": "qwen3.7-plus",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.8-flash",
                "name": "qwen3.8-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 131072,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4-pro-0813",
                "name": "deepseek-v4-pro-0813",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "deepseek-v4.1-flash",
                "name": "deepseek-v4.1-flash",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              }
            ]
          }
        }
      },
      "agents": {
        "defaults": {
          "model": {
            "primary": "bailian/qwen3.8-max"
          }
        }
      },
      "gateway": {
        "mode": "local",
        "auth": {
          "mode": "none"
        }
      }
    }
    

    Coding Plan

    Substitua YOUR_API_KEY pela sua chave de API do Coding Plan.

    {
      "models": {
        "mode": "merge",
        "providers": {
          "bailian-coding": {
            "baseUrl": "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic",
            "apiKey": "YOUR_API_KEY",
            "api": "anthropic-messages",
            "models": [
              {
                "id": "qwen3.7-plus",
                "name": "qwen3.7-plus",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "qwen3.6-plus",
                "name": "qwen3.6-plus",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 1000000,
                "maxTokens": 65536,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "kimi-k2.5",
                "name": "kimi-k2.5",
                "reasoning": true,
                "input": [
                  "text",
                  "image"
                ],
                "contextWindow": 262144,
                "maxTokens": 98304,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "glm-5",
                "name": "glm-5",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 202752,
                "maxTokens": 16384,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "id": "MiniMax-M2.5",
                "name": "MiniMax-M2.5",
                "reasoning": true,
                "input": [
                  "text"
                ],
                "contextWindow": 196608,
                "maxTokens": 32768,
                "cost": {
                  "input": 0,
                  "output": 0,
                  "cacheRead": 0,
                  "cacheWrite": 0
                }
              },
              {
                "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
                }
              }
            ]
          }
        }
      },
      "agents": {
        "defaults": {
          "model": {
            "primary": "bailian-coding/qwen3.7-plus"
          }
        }
      },
      "gateway": {
        "mode": "local",
        "auth": {
          "mode": "none"
        }
      }
    }
    

Observaçãogateway.auth.mode: none é adequado apenas para uso local em uma única máquina. Para compartilhar ou acessar remotamente, execute openclaw doctor --generate-gateway-token para gerar um token e reinicie o Gateway.

Conectar canais de mensagens

DingTalk

ObservaçãoSe você implantar o OpenClaw usando o Simple Application Server ou o Elastic Desktop Service, o plugin DingTalk normalmente já vem pré-instalado e pode ser configurado na interface gráfica.

  1. 1

    Crie um aplicativo DingTalk e obtenha as credenciais

    1. Faça login na DingTalk Open Platform, selecione uma organização na qual você tenha permissões de desenvolvedor ou crie uma organização e então obtenha permissões de desenvolvedor.
    2. Na barra de menu superior, selecione Desenvolvimento de Aplicativos, clique em Criar Aplicativo, insira um nome e uma descrição para o aplicativo e clique em Salvar.
    3. Na página Adicionar Recursos do Aplicativo, adicione um Bot. Ative a Configuração do Bot, preencha os campos obrigatórios, mantenha o Modo Stream padrão para o modo de recebimento de mensagens e clique em Publicar.
    4. Na página Credenciais e Informações Básicas, obtenha o Client ID e o Client Secret.
    5. Na página Gerenciamento de Versões e Lançamento, crie uma versão, defina o intervalo de visibilidade, salve e publique.
  2. 2

    Instale o plugin do canal DingTalk

    openclaw plugins install @soimy/dingtalk
    openclaw plugins list
    

    A saída deve incluir o plugin dingtalk com o status loaded.

  3. 3

    Configure o canal DingTalk

    Adicione as configurações a seguir a ~/.openclaw/openclaw.json. Substitua YOUR_DINGTALK_APPKEY e YOUR_DINGTALK_APPSECRET pelas credenciais da Etapa 1. Não sobrescreva configurações existentes, como models e agents.

    {
      "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
          }
        }
      }
    }
    

    Definir dmPolicy e groupPolicy como open é adequado para testes ou uso pessoal. Em um ambiente de produção, defina-os como allowlist e adicione o campo allowFrom:

    "dmPolicy": "allowlist",
    "groupPolicy": "allowlist",
    "allowFrom": ["your-employee-id", "group-id"]
    
  4. 4

    Verifique

    openclaw gateway restart
    openclaw status
    

    Na seção Canais, o DingTalk deve estar ON com o status OK - configured. Envie uma mensagem para o bot em um grupo do DingTalk para testar a conexão.

Lark

  1. 1

    Crie um aplicativo Lark

    1. Acesse a Lark Open Platform, clique em Criar Aplicativo Corporativo Personalizado, insira um nome e uma descrição para o aplicativo, selecione um ícone e clique em Criar.
    2. Na página Credenciais e Informações Básicas, copie o App ID (no formato cli_xxx) e o App Secret.
    3. Na página Gerenciamento de Permissões, clique em Importar/Exportar Permissões em Lote, cole o JSON a seguir, clique em Avançar, Confirmar Novas Permissões e clique em Solicitar Ativação.
    {
      "scopes": {
        "tenant": [
          "aily:file:read",
          "aily:file:write",
          "application:application.app_message_stats.overview:readonly",
          "application:application:self_manage",
          "application:bot.menu:write",
          "cardkit:card:write",
          "contact:user.employee_id:readonly",
          "corehr:file:download",
          "docs:document.content:read",
          "event:ip_list",
          "im:chat",
          "im:chat.access_event.bot_p2p_chat:read",
          "im:chat.members:bot_access",
          "im:message",
          "im:message.group_at_msg:readonly",
          "im:message.group_msg",
          "im:message.p2p_msg:readonly",
          "im:message:readonly",
          "im:message:send_as_bot",
          "im:resource",
          "sheets:spreadsheet",
          "wiki:wiki:readonly"
        ],
        "user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"]
      }
    }
    
    1. Na página Adicionar Recursos do Aplicativo, selecione a guia Adicionar por Capacidade, localize o cartão Robô e clique em Configurar.
    2. Em Eventos e Callbacks, na guia Configuração de Eventos, defina Método de Assinatura como Usar conexão de longa duração para receber eventos e salve. Em seguida, adicione o evento im.message.receive_v1.
    3. Na página Gerenciamento de Versões e Lançamento, crie uma versão, insira o número da versão e a descrição da atualização, salve e envie para revisão e publicação.
  2. 2

    Configure o bot Lark

    Execute openclaw channels add, selecione Feishu e insira o App ID e o App Secret. Em seguida, reinicie o gateway:

    openclaw gateway restart
    

    Adicione o bot a um grupo do Lark ou envie uma mensagem para o bot. O bot responde com uma mensagem contendo um código de emparelhamento. Copie a última linha e envie-a no chat do OpenClaw para concluir o emparelhamento.

  3. 3

    Verifique

    openclaw status
    

    Na seção Canais, o Lark deve estar ON com o status OK. Envie uma mensagem no Lark para testar a conexão.

WeChat

ObservaçãoVerifique se a versão do WeChat é 8.0.70 ou posterior.

  1. 1

    Instale o plugin do canal WeChat

    npx -y @tencent-weixin/openclaw-weixin-cli@latest install
    

    Após a instalação, o terminal exibe um código QR. Escaneie-o com o WeChat para vincular sua conta. Depois de vincular, uma janela de chat com o ClawBot é aberta no WeChat.

    Execute openclaw plugins list. A saída deve incluir o plugin openclaw-weixin com o status loaded.

  2. 2

    Verifique

    openclaw gateway restart
    

    Encontre o ClawBot no WeChat e envie uma mensagem para ele para testar a conexão.

QQ

  1. 1

    Instale o plugin do canal QQ

    openclaw plugins install @sliverp/qqbot
    openclaw plugins list
    

    A saída deve incluir o plugin qqbot com o status loaded.

  2. 2

    Crie um bot do QQ

    1. Acesse a QQ Open Platform para se registrar e fazer login com sua conta de desenvolvedor.
    2. Crie um bot na página do OpenClaw para obter um AppID e um AppSecret.

    ObservaçãoO AppSecret não é armazenado em texto simples e é exibido apenas uma vez. Visualizá-lo novamente força uma redefinição, portanto, salve-o em um local seguro.

  3. 3

    Configure o canal QQ

    Adicione as configurações a seguir a ~/.openclaw/openclaw.json. Substitua YOUR_APP_ID e YOUR_APP_SECRET pelas credenciais da Etapa 2. Não sobrescreva configurações existentes, como models e agents.

    {
      "channels": {
        "qqbot": {
          "enabled": true,
          "appId": "YOUR_APP_ID",
          "clientSecret": "YOUR_APP_SECRET",
          "dmPolicy": "open",
          "allowFrom": ["*"]
        }
      },
      "plugins": {
        "allow": ["qqbot"],
        "entries": {
          "qqbot": {
            "enabled": true,
            "config": {}
          }
        }
      }
    }
    

    Definir dmPolicy como open permite mensagens diretas, e definir allowFrom como ["*"] permite mensagens de todas as origens. Isso é adequado para testes ou uso pessoal. Em um ambiente de produção, restrinja o acesso de acordo com seus requisitos de segurança.

  4. 4

    Verifique

    openclaw gateway restart
    

    Envie uma mensagem para o bot no QQ para testar a conexão.

Códigos de erro

Se você encontrar erros durante a configuração, consulte a documentação de perguntas frequentes do seu plano de cobrança:

FAQ

Como usar um plano de economia com pagamento conforme o uso?

A configuração de pagamento conforme o uso permanece a mesma: use a chave de API geral do Model Studio e a Base URL. Após comprar um plano de economia, ele entra em vigor automaticamente e o uso elegível é deduzido automaticamente. Consulte Planos de economia.

Como posso visualizar os modelos configurados?

Digite openclaw tui no terminal para iniciar a linha de comando do terminal do OpenClaw e, em seguida, digite /model para visualizar a lista de modelos. Pressione Enter para selecionar um modelo e Esc para sair da lista.

Por que recebo os erros HTTP 401: Incorrect API key provided., No API key found for provider xxx ou HTTP 401: invalid_iam_token?

Possíveis causas:

  1. A chave de API é inválida, expirou, está vazia, tem formato incorreto ou é para o endpoint errado. Verifique se a chave de API corresponde ao seu método de pagamento, se foi copiada por completo sem espaços extras e se sua assinatura está ativa.
  2. O OpenClaw está usando uma configuração incorreta e desatualizada do cache de configuração. Exclua o item de configuração providers de ~/.openclaw/agents/main/agent/models.json e reinicie o OpenClaw.
  3. invalid_iam_token indica que a chave de API falhou na autenticação IAM. Cenários comuns incluem: a chave de API foi revogada ou desativada; a região da chave de API não corresponde à região da Base URL (por exemplo, a chave de API foi criada em Singapura, mas a Base URL aponta para outra região); ou uma credencial temporária do STS expirou. Verifique se a chave de API e a Base URL pertencem à mesma região e se o status da chave de API está ativo.

Já configurei outros canais, como o DingTalk. Como posso adicionar modelos de um novo plano com segurança?

  • Não use uma função de substituir tudo. Ela sobrescreve configurações personalizadas. Modifique apenas as seções relevantes.
  • Se o OpenClaw estiver respondendo normalmente, insira os comandos diretamente em um chat do OpenClaw para mesclar a configuração.
  • Se o OpenClaw não tiver modelos configurados ou não estiver respondendo, edite manualmente ~/.openclaw/openclaw.json. Modifique apenas os campos relevantes e deixe a configuração existente inalterada.

Depois de reiniciar o gateway, as sessões existentes podem não funcionar corretamente. Inicie uma nova sessão.

O que devo fazer se receber um erro device identity required?

Mensagem de erro:

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

Causa:

Um cliente se conectou ao gateway sem fornecer uma identidade de dispositivo. Causas comuns incluem:

  • Você está acessando a URL em um navegador pela primeira vez e o emparelhamento do dispositivo não foi concluído.
  • O cache do navegador foi limpo, fazendo com que a chave do dispositivo fosse perdida.
  • Após reinstalar ou atualizar o OpenClaw, o arquivo de chave no diretório ~/.openclaw/identity/ está ausente.

Solução:

Execute os comandos a seguir para aprovar o dispositivo atual e gerar uma nova URL de acesso pelo navegador:

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

Se o problema persistir, limpe os registros de dispositivos anormais e tente novamente:

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

Execute openclaw devices list para confirmar que o dispositivo aparece na lista de dispositivos emparelhados.

O consumo de tokens ocorre mesmo quando o OpenClaw não está em uso ativo

Causa: O OpenClaw tem um mecanismo de heartbeat integrado. Enquanto o gateway está em execução, ele chama automaticamente o modelo configurado em um intervalo fixo (a cada 30 minutos por padrão) para verificar tarefas pendentes. Cada heartbeat consome uma pequena quantidade de tokens.

Como verificar: Verifique os arquivos de log de sessão (.jsonl) em ~/.openclaw/agents/main/sessions/. As chamadas de heartbeat são marcadas com [OpenClaw heartbeat poll].

Soluções:

  • Pare o gateway: execute openclaw gateway stop quando não estiver em uso. Isso interrompe o heartbeat imediatamente.
  • Aumente o intervalo do heartbeat: defina agents.defaults.heartbeat.every em ~/.openclaw/openclaw.json. Por exemplo, "2h" define o intervalo para a cada 2 horas.