Use modelos do Alibaba Cloud Model Studio no OpenClaw.
Início rápido
- 1
Instale o plugin Qwen
openclaw plugins install @openclaw/qwen-providerObservaçãoSe o plugin não puder ser instalado, consulte Configurar com um arquivo de configuração.
- 2
Obtenha uma chave de API
Token Plan
Obtenha uma chave de API do Token Plan de acordo com sua edição:
- Token Plan Personal Edition: Criar ou visualizar API Key
- Token Plan Team Edition: Atribuir assento e obter API Key
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
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-cnPagamento conforme o uso
openclaw onboard --auth-choice qwen-standard-api-key-cnCoding Plan
openclaw onboard --auth-choice qwen-api-key-cn - 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
Abra ou crie o arquivo de configuração
~/.openclaw/openclaw.jsonAtualize apenas os campos relevantes em
models,agentsegateway. Não substitua o arquivo inteiro. - 2
Grave a configuração
Token Plan Edição Pessoal
Substitua
YOUR_API_KEYpela 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_KEYpela 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_KEYpela 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_KEYpela 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
Crie um aplicativo DingTalk e obtenha as credenciais
- 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.
- 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.
- 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.
- Na página Credenciais e Informações Básicas, obtenha o Client ID e o Client Secret.
- Na página Gerenciamento de Versões e Lançamento, crie uma versão, defina o intervalo de visibilidade, salve e publique.
- 2
Instale o plugin do canal DingTalk
openclaw plugins install @soimy/dingtalk openclaw plugins listA saída deve incluir o plugin
dingtalkcom o statusloaded. - 3
Configure o canal DingTalk
Adicione as configurações a seguir a
~/.openclaw/openclaw.json. SubstituaYOUR_DINGTALK_APPKEYeYOUR_DINGTALK_APPSECRETpelas credenciais da Etapa 1. Não sobrescreva configurações existentes, comomodelseagents.{ "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
dmPolicyegroupPolicycomoopené adequado para testes ou uso pessoal. Em um ambiente de produção, defina-os comoallowliste adicione o campoallowFrom:"dmPolicy": "allowlist", "groupPolicy": "allowlist", "allowFrom": ["your-employee-id", "group-id"] - 4
Verifique
openclaw gateway restart openclaw statusNa seção Canais, o DingTalk deve estar
ONcom o statusOK - configured. Envie uma mensagem para o bot em um grupo do DingTalk para testar a conexão.
Lark
- 1
Crie um aplicativo Lark
- 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.
- Na página Credenciais e Informações Básicas, copie o App ID (no formato
cli_xxx) e o App Secret. - 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"] } }- Na página Adicionar Recursos do Aplicativo, selecione a guia Adicionar por Capacidade, localize o cartão Robô e clique em Configurar.
- 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. - 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
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 restartAdicione 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
Verifique
openclaw statusNa seção Canais, o Lark deve estar
ONcom o statusOK. Envie uma mensagem no Lark para testar a conexão.
ObservaçãoVerifique se a versão do WeChat é 8.0.70 ou posterior.
- 1
Instale o plugin do canal WeChat
npx -y @tencent-weixin/openclaw-weixin-cli@latest installApó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 pluginopenclaw-weixincom o statusloaded. - 2
Verifique
openclaw gateway restartEncontre o ClawBot no WeChat e envie uma mensagem para ele para testar a conexão.
- 1
Instale o plugin do canal QQ
openclaw plugins install @sliverp/qqbot openclaw plugins listA saída deve incluir o plugin
qqbotcom o statusloaded. - 2
Crie um bot do QQ
- Acesse a QQ Open Platform para se registrar e fazer login com sua conta de desenvolvedor.
- 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
Configure o canal QQ
Adicione as configurações a seguir a
~/.openclaw/openclaw.json. SubstituaYOUR_APP_IDeYOUR_APP_SECRETpelas credenciais da Etapa 2. Não sobrescreva configurações existentes, comomodelseagents.{ "channels": { "qqbot": { "enabled": true, "appId": "YOUR_APP_ID", "clientSecret": "YOUR_APP_SECRET", "dmPolicy": "open", "allowFrom": ["*"] } }, "plugins": { "allow": ["qqbot"], "entries": { "qqbot": { "enabled": true, "config": {} } } } }Definir
dmPolicycomoopenpermite mensagens diretas, e definirallowFromcomo["*"]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
Verifique
openclaw gateway restartEnvie 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:
- Token Plan: FAQ da Edição Pessoal · FAQ da Edição de Equipe
- Pagamento conforme o uso: Códigos de erro
- Coding Plan: FAQ do Coding Plan
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:
- 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.
- O OpenClaw está usando uma configuração incorreta e desatualizada do cache de configuração. Exclua o item de configuração
providersde~/.openclaw/agents/main/agent/models.jsone reinicie o OpenClaw. invalid_iam_tokenindica 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 stopquando não estiver em uso. Isso interrompe o heartbeat imediatamente. - Aumente o intervalo do heartbeat: defina
agents.defaults.heartbeat.everyem~/.openclaw/openclaw.json. Por exemplo,"2h"define o intervalo para a cada 2 horas.