Pular para o conteúdo principal

Amazon Bedrock

O OpenClaw pode usar modelos do Amazon Bedrock por meio do provedor de streaming Bedrock Converse do pi-ai. A auth do Bedrock usa a cadeia de credenciais padrão do AWS SDK, não uma chave de API.
PropriedadeValor
Provedoramazon-bedrock
APIbedrock-converse-stream
Authcredenciais AWS (variáveis de ambiente, config compartilhada ou função da instância)
RegiãoAWS_REGION ou AWS_DEFAULT_REGION (padrão: us-east-1)

Primeiros passos

Escolha seu método de auth preferido e siga as etapas de configuração.
Ideal para: máquinas de desenvolvimento, CI ou hosts em que você gerencia credenciais AWS diretamente.
1

Defina credenciais AWS no host do Gateway

export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# Opcional:
export AWS_SESSION_TOKEN="..."
export AWS_PROFILE="your-profile"
# Opcional (chave de API/token bearer do Bedrock):
export AWS_BEARER_TOKEN_BEDROCK="..."
2

Adicione um provedor e um modelo Bedrock à sua configuração

Nenhum apiKey é necessário. Configure o provedor com auth: "aws-sdk":
{
  models: {
    providers: {
      "amazon-bedrock": {
        baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
        api: "bedrock-converse-stream",
        auth: "aws-sdk",
        models: [
          {
            id: "us.anthropic.claude-opus-4-6-v1:0",
            name: "Claude Opus 4.6 (Bedrock)",
            reasoning: true,
            input: ["text", "image"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 200000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
    },
  },
}
3

Verifique se os modelos estão disponíveis

openclaw models list
Com auth por marcador de ambiente (AWS_ACCESS_KEY_ID, AWS_PROFILE ou AWS_BEARER_TOKEN_BEDROCK), o OpenClaw ativa automaticamente o provedor implícito do Bedrock para descoberta de modelos sem configuração adicional.

Descoberta automática de modelos

O OpenClaw pode descobrir automaticamente modelos do Bedrock que suportam streaming e saída de texto. A descoberta usa bedrock:ListFoundationModels e bedrock:ListInferenceProfiles, e os resultados são armazenados em cache (padrão: 1 hora). Como o provedor implícito é ativado:
  • Se plugins.entries.amazon-bedrock.config.discovery.enabled for true, o OpenClaw tentará a descoberta mesmo quando nenhum marcador de ambiente AWS estiver presente.
  • Se plugins.entries.amazon-bedrock.config.discovery.enabled não estiver definido, o OpenClaw só adicionará automaticamente o provedor implícito do Bedrock quando encontrar um destes marcadores de auth da AWS: AWS_BEARER_TOKEN_BEDROCK, AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY ou AWS_PROFILE.
  • O caminho real de auth do Bedrock em tempo de execução ainda usa a cadeia padrão do AWS SDK, então auth por config compartilhada, SSO e função de instância via IMDS podem funcionar mesmo quando a descoberta precisou de enabled: true para ativação manual.
Para entradas explícitas models.providers["amazon-bedrock"], o OpenClaw ainda pode resolver antecipadamente auth do Bedrock por marcador de ambiente a partir de marcadores AWS como AWS_BEARER_TOKEN_BEDROCK sem forçar o carregamento completo da auth em tempo de execução. O caminho real de auth de chamada de modelo ainda usa a cadeia padrão do AWS SDK.
As opções de configuração ficam em plugins.entries.amazon-bedrock.config.discovery:
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          discovery: {
            enabled: true,
            region: "us-east-1",
            providerFilter: ["anthropic", "amazon"],
            refreshInterval: 3600,
            defaultContextWindow: 32000,
            defaultMaxTokens: 4096,
          },
        },
      },
    },
  },
}
OpçãoPadrãoDescrição
enabledautoNo modo automático, o OpenClaw só ativa o provedor implícito do Bedrock quando encontra um marcador de ambiente AWS compatível. Defina true para forçar a descoberta.
regionAWS_REGION / AWS_DEFAULT_REGION / us-east-1Região AWS usada para chamadas de API de descoberta.
providerFilter(todos)Corresponde aos nomes de provedores do Bedrock (por exemplo anthropic, amazon).
refreshInterval3600Duração do cache em segundos. Defina 0 para desativar o cache.
defaultContextWindow32000Janela de contexto usada para modelos descobertos (substitua se você souber os limites do seu modelo).
defaultMaxTokens4096Máximo de tokens de saída usado para modelos descobertos (substitua se você souber os limites do seu modelo).

Configuração rápida (caminho AWS)

Este passo a passo cria uma função do IAM, anexa permissões do Bedrock, associa o perfil da instância e ativa a descoberta do OpenClaw no host EC2.
# 1. Create IAM role and instance profile
aws iam create-role --role-name EC2-Bedrock-Access \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"Service": "ec2.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }]
  }'

aws iam attach-role-policy --role-name EC2-Bedrock-Access \
  --policy-arn arn:aws:iam::aws:policy/AmazonBedrockFullAccess

aws iam create-instance-profile --instance-profile-name EC2-Bedrock-Access
aws iam add-role-to-instance-profile \
  --instance-profile-name EC2-Bedrock-Access \
  --role-name EC2-Bedrock-Access

# 2. Attach to your EC2 instance
aws ec2 associate-iam-instance-profile \
  --instance-id i-xxxxx \
  --iam-instance-profile Name=EC2-Bedrock-Access

# 3. On the EC2 instance, enable discovery explicitly
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1

# 4. Optional: add an env marker if you want auto mode without explicit enable
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc

# 5. Verify models are discovered
openclaw models list

Configuração avançada

O OpenClaw descobre perfis de inferência regionais e globais junto com os modelos foundation. Quando um perfil é mapeado para um modelo foundation conhecido, o perfil herda os recursos desse modelo (janela de contexto, máximo de tokens, raciocínio, visão) e a região correta de solicitação do Bedrock é injetada automaticamente. Isso significa que perfis Claude entre regiões funcionam sem substituições manuais do provedor.Os IDs de perfil de inferência se parecem com us.anthropic.claude-opus-4-6-v1:0 (regional) ou anthropic.claude-opus-4-6-v1:0 (global). Se o modelo de origem já estiver nos resultados da descoberta, o perfil herda seu conjunto completo de recursos; caso contrário, são aplicados padrões seguros.Nenhuma configuração extra é necessária. Desde que a descoberta esteja ativada e o principal do IAM tenha bedrock:ListInferenceProfiles, os perfis aparecem junto com os modelos foundation em openclaw models list.
Você pode aplicar Amazon Bedrock Guardrails a todas as invocações de modelo do Bedrock adicionando um objeto guardrail à configuração do plugin amazon-bedrock. Os Guardrails permitem aplicar filtragem de conteúdo, bloqueio de tópicos, filtros de palavras, filtros de informações sensíveis e verificações de grounding contextual.
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          guardrail: {
            guardrailIdentifier: "abc123", // ID do guardrail ou ARN completo
            guardrailVersion: "1", // número da versão ou "DRAFT"
            streamProcessingMode: "sync", // opcional: "sync" ou "async"
            trace: "enabled", // opcional: "enabled", "disabled" ou "enabled_full"
          },
        },
      },
    },
  },
}
OpçãoObrigatórioDescrição
guardrailIdentifierSimID do guardrail (ex.: abc123) ou ARN completo (ex.: arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123).
guardrailVersionSimNúmero da versão publicada ou "DRAFT" para o rascunho de trabalho.
streamProcessingModeNão"sync" ou "async" para avaliação do guardrail durante o streaming. Se omitido, o Bedrock usa o padrão dele.
traceNão"enabled" ou "enabled_full" para depuração; omita ou defina "disabled" para produção.
O principal do IAM usado pelo Gateway precisa ter a permissão bedrock:ApplyGuardrail além das permissões padrão de invocação.
O Bedrock também pode servir como provedor de embeddings para a pesquisa de memória. Isso é configurado separadamente do provedor de inferência — defina agents.defaults.memorySearch.provider como "bedrock":
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "bedrock",
        model: "amazon.titan-embed-text-v2:0", // padrão
      },
    },
  },
}
Os embeddings do Bedrock usam a mesma cadeia de credenciais do AWS SDK da inferência (funções de instância, SSO, chaves de acesso, config compartilhada e identidade web). Nenhuma chave de API é necessária. Quando provider é "auto", o Bedrock é detectado automaticamente se essa cadeia de credenciais for resolvida com sucesso.Os modelos de embeddings compatíveis incluem Amazon Titan Embed (v1, v2), Amazon Nova Embed, Cohere Embed (v3, v4) e TwelveLabs Marengo. Consulte a Referência de configuração de memória — Bedrock para a lista completa de modelos e opções de dimensão.
  • O Bedrock exige que o acesso ao modelo esteja ativado na sua conta/região AWS.
  • A descoberta automática precisa das permissões bedrock:ListFoundationModels e bedrock:ListInferenceProfiles.
  • Se você depende do modo automático, defina um dos marcadores de ambiente de auth da AWS compatíveis no host do Gateway. Se você preferir auth por IMDS/config compartilhada sem marcadores de ambiente, defina plugins.entries.amazon-bedrock.config.discovery.enabled: true.
  • O OpenClaw expõe a origem da credencial nesta ordem: AWS_BEARER_TOKEN_BEDROCK, depois AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, depois AWS_PROFILE, depois a cadeia padrão do AWS SDK.
  • O suporte a raciocínio depende do modelo; consulte o model card do Bedrock para ver os recursos atuais.
  • Se você preferir um fluxo de chave gerenciada, também pode colocar um proxy compatível com OpenAI na frente do Bedrock e configurá-lo como um provedor OpenAI.

Relacionado

Seleção de modelo

Escolha de provedores, referências de modelo e comportamento de failover.

Pesquisa de memória

Configuração de embeddings do Bedrock para pesquisa de memória.

Referência de configuração de memória

Lista completa de modelos de embeddings do Bedrock e opções de dimensão.

Solução de problemas

Solução de problemas geral e FAQ.