Przejdź do głównej treści

Amazon Bedrock

OpenClaw może używać modeli Amazon Bedrock przez dostawcę strumieniowego Bedrock Converse z pi-ai. Uwierzytelnianie Bedrock używa domyślnego łańcucha poświadczeń AWS SDK, a nie klucza API.
WłaściwośćWartość
Dostawcaamazon-bedrock
APIbedrock-converse-stream
UwierzytelnianiePoświadczenia AWS (zmienne środowiskowe, współdzielona konfiguracja lub rola instancji)
RegionAWS_REGION lub AWS_DEFAULT_REGION (domyślnie: us-east-1)

Pierwsze kroki

Wybierz preferowaną metodę uwierzytelniania i wykonaj kroki konfiguracji.
Najlepsze do: maszyn deweloperskich, CI lub hostów, na których bezpośrednio zarządzasz poświadczeniami AWS.
1

Ustaw poświadczenia AWS na hoście Gateway

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

Dodaj dostawcę Bedrock i model do swojej konfiguracji

apiKey nie jest wymagany. Skonfiguruj dostawcę z 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

Sprawdź, czy modele są dostępne

openclaw models list
Przy uwierzytelnianiu opartym na znacznikach środowiskowych (AWS_ACCESS_KEY_ID, AWS_PROFILE lub AWS_BEARER_TOKEN_BEDROCK) OpenClaw automatycznie włącza niejawnnego dostawcę Bedrock do wykrywania modeli bez dodatkowej konfiguracji.

Automatyczne wykrywanie modeli

OpenClaw może automatycznie wykrywać modele Bedrock obsługujące streaming i wyjście tekstowe. Wykrywanie używa bedrock:ListFoundationModels i bedrock:ListInferenceProfiles, a wyniki są cache’owane (domyślnie: 1 godzina). Jak włączany jest niejawny dostawca:
  • Jeśli plugins.entries.amazon-bedrock.config.discovery.enabled ma wartość true, OpenClaw spróbuje wykrywania nawet wtedy, gdy nie ma żadnego znacznika środowiskowego AWS.
  • Jeśli plugins.entries.amazon-bedrock.config.discovery.enabled nie jest ustawione, OpenClaw automatycznie dodaje niejawnego dostawcę Bedrock tylko wtedy, gdy widzi jeden z tych znaczników uwierzytelniania AWS: AWS_BEARER_TOKEN_BEDROCK, AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY lub AWS_PROFILE.
  • Faktyczna ścieżka uwierzytelniania środowiska wykonawczego Bedrock nadal używa domyślnego łańcucha AWS SDK, więc współdzielona konfiguracja, SSO i uwierzytelnianie rolą instancji IMDS mogą działać nawet wtedy, gdy do wykrywania trzeba było jawnie ustawić enabled: true.
Dla jawnych wpisów models.providers["amazon-bedrock"] OpenClaw nadal może wcześnie rozwiązywać uwierzytelnianie Bedrock oparte na znacznikach środowiskowych z takich znaczników AWS jak AWS_BEARER_TOKEN_BEDROCK, bez wymuszania pełnego ładowania uwierzytelniania środowiska wykonawczego. Faktyczna ścieżka uwierzytelniania wywołań modelu nadal używa domyślnego łańcucha AWS SDK.
Opcje konfiguracji znajdują się pod 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,
          },
        },
      },
    },
  },
}
OpcjaDomyślnieOpis
enabledautoW trybie auto OpenClaw włącza niejawnego dostawcę Bedrock tylko wtedy, gdy widzi obsługiwany znacznik środowiskowy AWS. Ustaw true, aby wymusić wykrywanie.
regionAWS_REGION / AWS_DEFAULT_REGION / us-east-1Region AWS używany do wywołań API wykrywania.
providerFilter(wszystkie)Dopasowuje nazwy dostawców Bedrock (na przykład anthropic, amazon).
refreshInterval3600Czas trwania cache w sekundach. Ustaw 0, aby wyłączyć cache.
defaultContextWindow32000Okno kontekstu używane dla wykrytych modeli (nadpisz, jeśli znasz limity swojego modelu).
defaultMaxTokens4096Maksymalna liczba tokenów wyjściowych używana dla wykrytych modeli (nadpisz, jeśli znasz limity swojego modelu).

Szybka konfiguracja (ścieżka AWS)

Ten przewodnik tworzy rolę IAM, przypina uprawnienia Bedrock, wiąże profil instancji i włącza wykrywanie OpenClaw na hoście EC2.
# 1. Utwórz rolę IAM i profil instancji
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. Przypnij do swojej instancji EC2
aws ec2 associate-iam-instance-profile \
  --instance-id i-xxxxx \
  --iam-instance-profile Name=EC2-Bedrock-Access

# 3. Na instancji EC2 włącz wykrywanie jawnie
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. Opcjonalnie: dodaj znacznik środowiskowy, jeśli chcesz tryb auto bez jawnego włączenia
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc

# 5. Sprawdź, czy modele są wykrywane
openclaw models list

Konfiguracja zaawansowana

OpenClaw wykrywa regionalne i globalne profile inferencji razem z modelami bazowymi. Gdy profil mapuje się na znany model bazowy, profil dziedziczy możliwości tego modelu (okno kontekstu, maksymalna liczba tokenów, reasoning, vision), a poprawny region żądania Bedrock jest wstrzykiwany automatycznie. Oznacza to, że międzyregionalne profile Claude działają bez ręcznych nadpisań dostawcy.Identyfikatory profili inferencji wyglądają jak us.anthropic.claude-opus-4-6-v1:0 (regionalne) albo anthropic.claude-opus-4-6-v1:0 (globalne). Jeśli model bazowy jest już obecny w wynikach wykrywania, profil dziedziczy jego pełny zestaw możliwości; w przeciwnym razie stosowane są bezpieczne wartości domyślne.Nie jest potrzebna dodatkowa konfiguracja. O ile wykrywanie jest włączone, a podmiot IAM ma uprawnienie bedrock:ListInferenceProfiles, profile pojawiają się obok modeli bazowych w openclaw models list.
Możesz zastosować Amazon Bedrock Guardrails do wszystkich wywołań modeli Bedrock, dodając obiekt guardrail do konfiguracji Plugin amazon-bedrock. Guardrails pozwalają wymuszać filtrowanie treści, blokowanie tematów, filtry słów, filtry informacji wrażliwych oraz kontrole ugruntowania kontekstowego.
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          guardrail: {
            guardrailIdentifier: "abc123", // ID guardrail lub pełny ARN
            guardrailVersion: "1", // numer wersji lub "DRAFT"
            streamProcessingMode: "sync", // opcjonalnie: "sync" lub "async"
            trace: "enabled", // opcjonalnie: "enabled", "disabled" lub "enabled_full"
          },
        },
      },
    },
  },
}
OpcjaWymaganaOpis
guardrailIdentifierTakID guardrail (np. abc123) lub pełny ARN (np. arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123).
guardrailVersionTakNumer opublikowanej wersji lub "DRAFT" dla wersji roboczej.
streamProcessingModeNie"sync" lub "async" dla oceny guardrail podczas streamingu. Jeśli pominięte, Bedrock używa wartości domyślnej.
traceNie"enabled" lub "enabled_full" do debugowania; w środowisku produkcyjnym pomiń albo ustaw "disabled".
Podmiot IAM używany przez Gateway musi mieć uprawnienie bedrock:ApplyGuardrail oprócz standardowych uprawnień wywołania.
Bedrock może też służyć jako dostawca embeddingów dla wyszukiwania pamięci. Konfiguruje się to oddzielnie od dostawcy inferencji — ustaw agents.defaults.memorySearch.provider na "bedrock":
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "bedrock",
        model: "amazon.titan-embed-text-v2:0", // domyślnie
      },
    },
  },
}
Embeddingi Bedrock używają tego samego łańcucha poświadczeń AWS SDK co inferencja (role instancji, SSO, klucze dostępu, współdzielona konfiguracja i web identity). Klucz API nie jest potrzebny. Gdy provider ma wartość "auto", Bedrock jest wykrywany automatycznie, jeśli ten łańcuch poświadczeń zostanie pomyślnie rozwiązany.Obsługiwane modele embeddingów obejmują Amazon Titan Embed (v1, v2), Amazon Nova Embed, Cohere Embed (v3, v4) oraz TwelveLabs Marengo. Pełną listę modeli i opcje wymiarów znajdziesz w referencji konfiguracji pamięci — Bedrock.
  • Bedrock wymaga włączenia dostępu do modelu w Twoim koncie/regionie AWS.
  • Automatyczne wykrywanie wymaga uprawnień bedrock:ListFoundationModels i bedrock:ListInferenceProfiles.
  • Jeśli polegasz na trybie auto, ustaw na hoście Gateway jeden z obsługiwanych znaczników środowiskowych uwierzytelniania AWS. Jeśli wolisz uwierzytelnianie IMDS/współdzieloną konfiguracją bez znaczników środowiskowych, ustaw plugins.entries.amazon-bedrock.config.discovery.enabled: true.
  • OpenClaw pokazuje źródło poświadczeń w tej kolejności: AWS_BEARER_TOKEN_BEDROCK, następnie AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, potem AWS_PROFILE, a na końcu domyślny łańcuch AWS SDK.
  • Obsługa reasoning zależy od modelu; sprawdź kartę modelu Bedrock, aby poznać aktualne możliwości.
  • Jeśli wolisz zarządzany przepływ kluczy, możesz też umieścić zgodne z OpenAI proxy przed Bedrock i zamiast tego skonfigurować je jako dostawcę OpenAI.

Powiązane

Wybór modelu

Wybór dostawców, odwołań do modeli i zachowania failover.

Wyszukiwanie pamięci

Konfiguracja embeddingów Bedrock dla wyszukiwania pamięci.

Referencja konfiguracji pamięci

Pełna lista modeli embeddingów Bedrock i opcje wymiarów.

Rozwiązywanie problemów

Ogólne rozwiązywanie problemów i FAQ.