OpenClaw
Adicione a OneProvider ao OpenClaw como provedor anthropic-messages personalizado no arquivo de config. Ao reiniciar, ele a inclui na lista de modelos.
Adicione a OneProvider como provedor Anthropic-messages personalizado na configuração do OpenClaw. O cliente mescla o provedor ao catálogo de modelos sozinho ao reiniciar.
Todos os modelos, recursos e preços Índice da documentação para agentes de IA:https://oneprovider.dev/docs/llms.txt Antes de começar: uma chave do seu painel Abra o seu painel: o bot do Telegram @oneprovider_robot (Painel) ou app.oneprovider.dev . Toque em “Emitir chave”, dê um nome a ela (por exemplo, este cliente) e um limite de gastos, e copie a chave. É no mesmo lugar que você recarrega o saldo. Mais sobre o painel e as chaves . Configuração
Caminho padrão da configuração: ~/.config/openclaw/openclaw.json. Crie o arquivo se ele não existir, cole o trecho abaixo e reinicie o OpenClaw.
{
"models": {
"mode": "merge",
"providers": {
"oneprovider": {
"baseUrl": "https://api.oneprovider.dev",
"apiKey": "sk-your-key-here",
"api": "anthropic-messages",
"models": [
{
"id": "claude-fable-5",
"name": "Claude Fable 5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 10,
"output": 50,
"cacheRead": 1,
"cacheWrite": 12.5
},
"contextWindow": 1000000
},
{
"id": "claude-haiku-4-5",
"name": "Claude Haiku 4.5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 1,
"output": 5,
"cacheRead": 0.1,
"cacheWrite": 1.25
},
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "claude-haiku-4-5-20251001",
"name": "Claude Haiku 4.5 20251001",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 1,
"output": 5,
"cacheRead": 0.1,
"cacheWrite": 1.25
},
"contextWindow": 200000,
"maxTokens": 64000
},
{
"id": "claude-haiku-4-5-20251001-thinking",
"name": "Claude Haiku 4.5 20251001 Thinking",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 1,
"output": 5,
"cacheRead": 0.1,
"cacheWrite": 1.25
}
},
{
"id": "claude-haiku-4-5-thinking",
"name": "Claude Haiku 4.5 Thinking",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 1,
"output": 5,
"cacheRead": 0.1,
"cacheWrite": 1.25
}
},
{
"id": "claude-opus-4-6",
"name": "Claude Opus 4.6",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 5,
"output": 25,
"cacheRead": 0.5,
"cacheWrite": 6.25
},
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "claude-opus-4-7",
"name": "Claude Opus 4.7",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 5,
"output": 25,
"cacheRead": 0.5,
"cacheWrite": 6.25
},
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "claude-opus-4-8",
"name": "Claude Opus 4.8",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 5,
"output": 25,
"cacheRead": 0.5,
"cacheWrite": 6.25
},
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "claude-opus-5",
"name": "Claude Opus 5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 5,
"output": 25,
"cacheRead": 0.5,
"cacheWrite": 6.25
},
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "claude-opus-5-5",
"name": "Claude Opus 5.5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 4,
"output": 20,
"cacheRead": 0.2,
"cacheWrite": 5
},
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "claude-sonnet-5-5",
"name": "Claude Sonnet 5.5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 2,
"output": 10,
"cacheRead": 0.1,
"cacheWrite": 2.5
},
"contextWindow": 1000000
},
{
"id": "claude-haiku-5-5",
"name": "Claude Haiku 5.5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 0.1,
"output": 0.5,
"cacheRead": 0.01,
"cacheWrite": 0.125
},
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "claude-opus-5-thinking",
"name": "Claude Opus 5 Thinking",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 5,
"output": 25,
"cacheRead": 0.5,
"cacheWrite": 6.25
}
},
{
"id": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 3,
"output": 15,
"cacheRead": 0.3,
"cacheWrite": 3.75
},
"contextWindow": 1000000,
"maxTokens": 64000
},
{
"id": "claude-sonnet-5",
"name": "Claude Sonnet 5",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 2,
"output": 10,
"cacheRead": 0.2,
"cacheWrite": 2.5
},
"contextWindow": 1000000
},
{
"id": "claude-sonnet-5-thinking",
"name": "Claude Sonnet 5 Thinking",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 2,
"output": 10,
"cacheRead": 0.2,
"cacheWrite": 2.5
},
"contextWindow": 1000000
},
{
"id": "claude-fable-5-1",
"name": "Claude Fable 5.1",
"api": "anthropic-messages",
"input": [
"text",
"image"
],
"cost": {
"input": 10,
"output": 50,
"cacheRead": 0.25,
"cacheWrite": 12.5
},
"contextWindow": 1000000
}
]
}
}
}
} mode: "merge" mantém os provedores nativos do OpenClaw junto com a OneProvider — troque para "replace" se quiser só o Claude pela OneProvider.
Respostas rápidas
Qual base URL devo usar?
O Claude Code e os SDKs da Anthropic usam https://api.oneprovider.dev. Os SDKs da OpenAI e os clientes compatíveis com a OpenAI usam https://api.oneprovider.dev/v1. Uma única chave funciona nos dois; a lista de modelos está na página de modelos e os preços, na página de preços .
Como me autentico?
Envie a chave sk-… pura em x-api-key ou em Authorization: Bearer: um dos dois, nunca ambos. Guarde a chave em uma variável de ambiente, não em um arquivo que vai para o commit. Mais sobre autenticação .
Onde consigo uma chave?
Abra o seu painel no bot do Telegram @oneprovider_robot ou em app.oneprovider.dev, recarregue o saldo e toque em “Emitir chave”. Cada chave pode ter o seu próprio limite de gastos. Painel e chaves de API .
O que significam 401, 404 e 429?
401: a chave está ausente, foi digitada errado ou enviada no cabeçalho errado; cole a chave inteira, sem aspas nem espaços. 404: em geral, uma base URL errada, por exemplo um /v1 ausente ou duplicado. 429 com “Insufficient balance”: o saldo do painel ou o limite de gastos da chave acabou, então recarregue em vez de tentar de novo; qualquer outro 429 é um limite de requisições, então aguarde o tempo de Retry-After. Detalhes: códigos de erro e solução de problemas .
Por que os streams são cortados ou reiniciados?
VPNs e proxies VLESS costumam armazenar SSE em buffer ou quebrar a negociação do HTTP/2. A OneProvider não tem restrições regionais e não armazena streams em buffer; desative o proxy e tente de novo.
Onde pergunto se isso não bastar?
Escreva para @Oneproviderhelpbot no Telegram ou abra “Suporte” no painel web, informando o código de status HTTP e a mensagem de erro exata. Como funciona o suporte .
Última atualização: 2026-11-08 Encontrou um erro? @Oneproviderhelpbot