Vai al contenuto principale
OpenClaw può usare i modelli Amazon Bedrock tramite il suo provider di streaming Bedrock Converse. L’autenticazione Bedrock usa la catena di credenziali predefinita dell’AWS SDK, non una chiave API.
ProprietàValore
Provideramazon-bedrock
APIbedrock-converse-stream
AuthCredenziali AWS (variabili env, configurazione condivisa o ruolo istanza)
RegioneAWS_REGION o AWS_DEFAULT_REGION (predefinito: us-east-1)

Guida introduttiva

Scegli il metodo di autenticazione che preferisci e segui i passaggi di configurazione.
Ideale per: macchine di sviluppo, CI o host in cui gestisci direttamente le credenziali AWS.
1

Set AWS credentials on the gateway host

export AWS_ACCESS_KEY_ID="EXAMPLE_AWS_ACCESS_KEY_ID"
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# Optional:
export AWS_SESSION_TOKEN="..."
export AWS_PROFILE="your-profile"
# Optional (Bedrock API key/bearer token):
export AWS_BEARER_TOKEN_BEDROCK="..."
2

Add a Bedrock provider and model to your config

Non è richiesto alcun apiKey. Configura il provider con 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

Verify models are available

openclaw models list
Con l’autenticazione tramite marcatori env (AWS_ACCESS_KEY_ID, AWS_PROFILE o AWS_BEARER_TOKEN_BEDROCK), OpenClaw abilita automaticamente il provider Bedrock implicito per la scoperta dei modelli senza configurazione aggiuntiva.

Scoperta automatica dei modelli

OpenClaw può scoprire automaticamente i modelli Bedrock che supportano lo streaming e l’output di testo. La scoperta usa bedrock:ListFoundationModels e bedrock:ListInferenceProfiles, e i risultati vengono memorizzati nella cache (predefinito: 1 ora). Come viene abilitato il provider implicito:
  • Se plugins.entries.amazon-bedrock.config.discovery.enabled è true, OpenClaw proverà la scoperta anche quando non è presente alcun marcatore env AWS.
  • Se plugins.entries.amazon-bedrock.config.discovery.enabled non è impostato, OpenClaw aggiunge automaticamente il provider Bedrock implicito solo quando vede uno di questi marcatori di autenticazione AWS: AWS_BEARER_TOKEN_BEDROCK, AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY o AWS_PROFILE.
  • Il percorso di autenticazione runtime effettivo di Bedrock usa comunque la catena predefinita dell’AWS SDK, quindi configurazione condivisa, SSO e autenticazione tramite ruolo istanza IMDS possono funzionare anche quando la scoperta richiedeva enabled: true per essere abilitata.
Per le voci esplicite models.providers["amazon-bedrock"], OpenClaw può comunque risolvere in anticipo l’autenticazione Bedrock tramite marcatori env dai marcatori env AWS come AWS_BEARER_TOKEN_BEDROCK senza forzare il caricamento completo dell’autenticazione runtime. Il percorso di autenticazione effettivo per le chiamate al modello usa comunque la catena predefinita dell’AWS SDK.
Le opzioni di configurazione si trovano sotto 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,
          },
        },
      },
    },
  },
}
OpzionePredefinitoDescrizione
enabledautoIn modalità automatica, OpenClaw abilita il provider Bedrock implicito solo quando vede un marcatore env AWS supportato. Imposta true per forzare la scoperta.
regionAWS_REGION / AWS_DEFAULT_REGION / us-east-1Regione AWS usata per le chiamate API di scoperta.
providerFilter(tutti)Corrisponde ai nomi dei provider Bedrock (ad esempio anthropic, amazon).
refreshInterval3600Durata della cache in secondi. Imposta a 0 per disabilitare la cache.
defaultContextWindow32000Finestra di contesto usata per i modelli scoperti (sovrascrivi se conosci i limiti del modello).
defaultMaxTokens4096Token massimi di output usati per i modelli scoperti (sovrascrivi se conosci i limiti del modello).

Configurazione rapida (percorso AWS)

Questa procedura dettagliata crea un ruolo IAM, associa le autorizzazioni Bedrock, associa il profilo istanza e abilita la scoperta OpenClaw sull’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

Configurazione avanzata

OpenClaw scopre i profili di inferenza regionali e globali insieme ai modelli foundation. Quando un profilo è mappato a un modello foundation noto, il profilo eredita le capacità di quel modello (finestra di contesto, token massimi, reasoning, visione) e la regione di richiesta Bedrock corretta viene iniettata automaticamente. Questo significa che i profili Claude cross-region funzionano senza override manuali del provider.Gli ID dei profili di inferenza hanno un formato come us.anthropic.claude-opus-4-6-v1:0 (regionale) o anthropic.claude-opus-4-6-v1:0 (globale). Se il modello sottostante è già nei risultati della scoperta, il profilo eredita l’intero set di capacità; altrimenti si applicano impostazioni predefinite sicure.Non è necessaria alcuna configurazione aggiuntiva. Finché la scoperta è abilitata e il principale IAM ha bedrock:ListInferenceProfiles, i profili vengono visualizzati insieme ai modelli foundation in openclaw models list.
Alcuni modelli Bedrock supportano un parametro service_tier per ottimizzare costi o latenza. Sono disponibili i seguenti livelli:
LivelloDescrizione
defaultLivello Bedrock standard
flexElaborazione scontata per carichi di lavoro che possono tollerare una latenza maggiore
priorityElaborazione prioritaria per carichi di lavoro sensibili alla latenza
reservedCapacità riservata per carichi di lavoro a stato stabile
Imposta serviceTier (o service_tier) tramite agents.defaults.params per le richieste ai modelli Bedrock, oppure per singolo modello in agents.defaults.models["<model-key>"].params:
{
  agents: {
    defaults: {
      params: {
        serviceTier: "flex", // applies to all models
      },
      models: {
        "amazon-bedrock/mistral.mistral-large-3-675b-instruct": {
          params: {
            serviceTier: "priority", // per-model override
          },
        },
      },
    },
  },
}
I valori validi sono default, flex, priority e reserved. Non tutti i modelli supportano tutti i livelli: se viene richiesto un livello non supportato, Bedrock restituirà un errore di convalida. Nota: il messaggio di errore è in parte fuorviante; potrebbe dire “The provided model identifier is invalid” invece di indicare un livello di servizio non supportato. Se vedi questo errore, verifica se il modello supporta il livello richiesto.
Bedrock rifiuta il parametro temperature per Claude Opus 4.7. OpenClaw omette automaticamente temperature per qualsiasi riferimento Bedrock a Opus 4.7, inclusi gli ID dei modelli foundation, i profili di inferenza nominati, i profili di inferenza applicativi il cui modello sottostante si risolve in Opus 4.7 tramite bedrock:GetInferenceProfile e le varianti puntate opus-4.7 con prefissi di regione opzionali (us., eu., ap., apac., au., jp., global.). Non è necessaria alcuna opzione di configurazione e l’omissione si applica sia all’oggetto delle opzioni di richiesta sia al campo del payload inferenceConfig.
Usa amazon-bedrock/anthropic.claude-fable-5 in us-east-1, oppure gli ID di inferenza regionali come us.anthropic.claude-fable-5. OpenClaw applica la finestra di contesto da 1M di Fable, il limite di output da 128K, il pensiero adattivo sempre attivo e la mappatura dello sforzo supportata. /think off e /think minimal vengono mappati a low; i controlli non supportati per temperatura e scelta forzata degli strumenti vengono omessi. L’output in streaming viene trattenuto finché Bedrock non restituisce uno stato terminale, così i rifiuti a metà stream non espongono testo parziale. Fable supporta solo il livello di servizio standard; OpenClaw ignora i livelli configurati flex, priority e reserved per questo modello.AWS richiede un opt-in esplicito alla conservazione dei dati provider_data_share prima che Fable sia disponibile. Prompt e completamenti vengono condivisi con Anthropic e conservati fino a 30 giorni per fiducia e sicurezza. Esamina e configura la conservazione dei dati di Bedrock prima di abilitare il modello.
Puoi applicare Amazon Bedrock Guardrails a tutte le invocazioni dei modelli Bedrock aggiungendo un oggetto guardrail alla configurazione del plugin amazon-bedrock. I Guardrails permettono di imporre filtri dei contenuti, diniego di argomenti, filtri di parole, filtri per informazioni sensibili e controlli di grounding contestuale.
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          guardrail: {
            guardrailIdentifier: "abc123", // guardrail ID or full ARN
            guardrailVersion: "1", // version number or "DRAFT"
            streamProcessingMode: "sync", // optional: "sync" or "async"
            trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
          },
        },
      },
    },
  },
}
OpzioneObbligatorioDescrizione
guardrailIdentifierID del guardrail (ad es. abc123) o ARN completo (ad es. arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123).
guardrailVersionNumero di versione pubblicato, oppure "DRAFT" per la bozza di lavoro.
streamProcessingModeNo"sync" o "async" per la valutazione del guardrail durante lo streaming. Se omesso, Bedrock usa il valore predefinito.
traceNo"enabled" o "enabled_full" per il debug; ometti o imposta "disabled" per la produzione.
Il principal IAM usato dal gateway deve avere l’autorizzazione bedrock:ApplyGuardrail oltre alle autorizzazioni di invocazione standard.
Bedrock può anche fungere da provider di embedding per la ricerca in memoria. Questa configurazione è separata dal provider di inferenza: imposta agents.defaults.memorySearch.provider su "bedrock":
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "bedrock",
        model: "amazon.titan-embed-text-v2:0", // default
      },
    },
  },
}
Gli embedding Bedrock usano la stessa catena di credenziali dell’AWS SDK dell’inferenza (ruoli di istanza, SSO, chiavi di accesso, configurazione condivisa e identità web). Non è necessaria alcuna chiave API. Imposta esplicitamente memorySearch.provider: "bedrock" per usare gli embedding Bedrock.I modelli di embedding supportati includono Amazon Titan Embed (v1, v2), Amazon Nova Embed, Cohere Embed (v3, v4) e TwelveLabs Marengo. Consulta il riferimento alla configurazione della memoria: Bedrock per l’elenco completo dei modelli e le opzioni di dimensione.
  • Bedrock richiede l’accesso al modello abilitato nel tuo account/regione AWS.
  • La scoperta automatica richiede le autorizzazioni bedrock:ListFoundationModels e bedrock:ListInferenceProfiles.
  • Se ti affidi alla modalità automatica, imposta uno dei marker env di autenticazione AWS supportati sull’host del gateway. Se preferisci l’autenticazione IMDS/configurazione condivisa senza marker env, imposta plugins.entries.amazon-bedrock.config.discovery.enabled: true.
  • OpenClaw espone l’origine delle credenziali in questo ordine: AWS_BEARER_TOKEN_BEDROCK, poi AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, poi AWS_PROFILE, poi la catena predefinita dell’AWS SDK.
  • Il supporto al ragionamento dipende dal modello; controlla la scheda del modello Bedrock per le capacità attuali.
  • Se preferisci un flusso di chiavi gestito, puoi anche posizionare un proxy compatibile con OpenAI davanti a Bedrock e configurarlo invece come provider OpenAI.

Correlati

Selezione del modello

Scelta di provider, riferimenti modello e comportamento di failover.

Ricerca in memoria

Embedding Bedrock per la configurazione della ricerca in memoria.

Riferimento alla configurazione della memoria

Elenco completo dei modelli di embedding Bedrock e opzioni di dimensione.

Risoluzione dei problemi

Risoluzione generale dei problemi e domande frequenti.