Providers
Amazon Bedrock
OpenClaw 可以透過 pi-ai 的 Bedrock Converse 串流提供者使用 Amazon Bedrock 模型。Bedrock 驗證使用 AWS SDK 預設憑證鏈,不是 API 金鑰。
| 屬性 | 值 |
|---|---|
| 提供者 | amazon-bedrock |
| API | bedrock-converse-stream |
| 驗證 | AWS 憑證(環境變數、共用設定或執行個體角色) |
| 區域 | AWS_REGION 或 AWS_DEFAULT_REGION(預設:us-east-1) |
開始使用
選擇偏好的驗證方法,並依照設定步驟操作。
存取金鑰 / 環境變數
最適合: 開發者機器、CI,或你直接管理 AWS 憑證的主機。
在 gateway 主機上設定 AWS 憑證
export AWS_ACCESS_KEY_ID="AKIA..."
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="..."
將 Bedrock 提供者和模型新增到你的設定
不需要 apiKey。使用 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" },
},
},
}
確認模型可用
openclaw models list
EC2 執行個體角色(IMDS)
最適合: 已附加 IAM 角色,並使用執行個體中繼資料服務進行驗證的 EC2 執行個體。
明確啟用探索
使用 IMDS 時,OpenClaw 無法只從環境標記偵測 AWS 驗證,因此你必須選擇啟用:
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
選擇性新增自動模式的環境標記
如果你也想讓環境標記自動偵測路徑運作(例如用於 openclaw status 介面):
export AWS_PROFILE=default
export AWS_REGION=us-east-1
你不需要假的 API 金鑰。
確認已探索到模型
openclaw models list
自動模型探索
OpenClaw 可以自動探索支援串流和文字輸出的 Bedrock 模型。探索使用 bedrock:ListFoundationModels 和 bedrock:ListInferenceProfiles,且結果會快取(預設:1 小時)。
隱含提供者的啟用方式:
- 如果
plugins.entries.amazon-bedrock.config.discovery.enabled是true,即使沒有 AWS 環境標記,OpenClaw 也會嘗試探索。 - 如果未設定
plugins.entries.amazon-bedrock.config.discovery.enabled,OpenClaw 只有在看到下列其中一個 AWS 驗證標記時,才會自動新增隱含的 Bedrock 提供者:AWS_BEARER_TOKEN_BEDROCK、AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY,或AWS_PROFILE。 - 實際的 Bedrock 執行階段驗證路徑仍然使用 AWS SDK 預設鏈,因此即使探索需要
enabled: true才能選擇啟用,共用設定、SSO 和 IMDS 執行個體角色驗證仍可運作。
探索設定選項
設定選項位於 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,
},
},
},
},
},
}
| 選項 | 預設值 | 說明 |
|---|---|---|
enabled |
auto | 在自動模式中,OpenClaw 只有在看到支援的 AWS 環境標記時,才會啟用隱含的 Bedrock 提供者。設為 true 可強制探索。 |
region |
AWS_REGION / AWS_DEFAULT_REGION / us-east-1 |
用於探索 API 呼叫的 AWS 區域。 |
providerFilter |
(全部) | 符合 Bedrock 提供者名稱(例如 anthropic、amazon)。 |
refreshInterval |
3600 |
快取持續時間,以秒為單位。設為 0 可停用快取。 |
defaultContextWindow |
32000 |
已探索模型使用的上下文視窗(如果你知道模型限制,可覆寫)。 |
defaultMaxTokens |
4096 |
已探索模型使用的最大輸出 Token 數(如果你知道模型限制,可覆寫)。 |
快速設定(AWS 路徑)
此逐步說明會建立 IAM 角色、附加 Bedrock 權限、關聯執行個體設定檔,並在 EC2 主機上啟用 OpenClaw 探索。
# 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
進階設定
推論設定檔
OpenClaw 會在基礎模型旁一併探索區域和全域推論設定檔。當設定檔對應到已知的基礎模型時,該設定檔會繼承該模型的能力(上下文視窗、最大 Token 數、推理、視覺),並自動注入正確的 Bedrock 請求區域。這表示跨區域 Claude 設定檔無需手動覆寫提供者即可運作。
推論設定檔 ID 看起來像 us.anthropic.claude-opus-4-6-v1:0(區域)或 anthropic.claude-opus-4-6-v1:0(全域)。如果後端模型已在探索結果中,設定檔會繼承其完整能力集合;否則會套用安全預設值。
不需要額外設定。只要已啟用探索,且 IAM 主體具備 bedrock:ListInferenceProfiles,設定檔就會與基礎模型一起出現在 openclaw models list 中。
Claude Opus 4.7 temperature
Bedrock 會拒絕 Claude Opus 4.7 的 temperature 參數。OpenClaw 會自動略過任何 Opus 4.7 Bedrock 參照的 temperature,包括基礎模型 ID、命名推論設定檔、其底層模型透過 bedrock:GetInferenceProfile 解析為 Opus 4.7 的應用程式推論設定檔,以及具有選用區域前綴(us.、eu.、ap.、apac.、au.、jp.、global.)的點分 opus-4.7 變體。不需要設定旋鈕,且此略過會套用到請求選項物件與 inferenceConfig 承載欄位。
防護欄
你可以透過將 guardrail 物件新增到 amazon-bedrock Plugin 設定,將 Amazon Bedrock Guardrails 套用到所有 Bedrock 模型叫用。防護欄可讓你強制執行內容篩選、主題拒絕、字詞篩選、敏感資訊篩選,以及情境接地檢查。
{
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"
},
},
},
},
},
}
| 選項 | 必填 | 說明 |
|---|---|---|
guardrailIdentifier |
是 | 防護欄 ID(例如 abc123)或完整 ARN(例如 arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123)。 |
guardrailVersion |
是 | 已發布版本號,或工作草稿的 "DRAFT"。 |
streamProcessingMode |
否 | 串流期間防護欄評估使用的 "sync" 或 "async"。如果省略,Bedrock 會使用其預設值。 |
trace |
否 | 用於偵錯的 "enabled" 或 "enabled_full";生產環境請省略或設為 "disabled"。 |
用於記憶搜尋的嵌入
Bedrock 也可以作為
記憶搜尋的嵌入提供者。這會與推論提供者分開設定,請將 agents.defaults.memorySearch.provider 設為 "bedrock":
{
agents: {
defaults: {
memorySearch: {
provider: "bedrock",
model: "amazon.titan-embed-text-v2:0", // default
},
},
},
}
Bedrock 嵌入使用與推論相同的 AWS SDK 憑證鏈(執行個體角色、SSO、存取金鑰、共用設定,以及 Web 身分)。不需要 API 金鑰。當 provider 為 "auto" 時,如果該憑證鏈成功解析,就會自動偵測到 Bedrock。
支援的嵌入模型包括 Amazon Titan Embed(v1、v2)、Amazon Nova Embed、Cohere Embed(v3、v4)以及 TwelveLabs Marengo。完整模型清單和維度選項請參閱 記憶設定參考 -- Bedrock。
注意事項與限制
- Bedrock 需要在你的 AWS 帳戶/區域中啟用模型存取權。
- 自動探索需要
bedrock:ListFoundationModels和bedrock:ListInferenceProfiles權限。 - 如果你仰賴自動模式,請在 Gateway 主機上設定其中一個受支援的 AWS 驗證環境標記。如果你偏好不使用環境標記的 IMDS/共用設定驗證,請設定
plugins.entries.amazon-bedrock.config.discovery.enabled: true。 - OpenClaw 會依此順序呈現憑證來源:
AWS_BEARER_TOKEN_BEDROCK, 接著是AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY,再來是AWS_PROFILE,最後是預設 AWS SDK 鏈。 - 推理支援取決於模型;請查看 Bedrock 模型卡以了解目前功能。
- 如果你偏好受管理的金鑰流程,也可以在 Bedrock 前方放置 OpenAI 相容的代理,並將其改為設定成 OpenAI 提供者。