Amazon Bedrock¶
OpenClaw có thể sử dụng các mô hình Amazon Bedrock thông qua nhà cung cấp streaming Bedrock Converse của pi‑ai. Xác thực Bedrock sử dụng chuỗi thông tin xác thực mặc định của AWS SDK, không phải khóa API.
Những gì pi‑ai hỗ trợ¶
- Nhà cung cấp:
amazon-bedrock - API:
bedrock-converse-stream - Xác thực: thông tin xác thực AWS (biến môi trường, cấu hình dùng chung, hoặc vai trò instance)
- Khu vực:
AWS_REGIONhoặcAWS_DEFAULT_REGION(mặc định:us-east-1)
Tự động khám phá mô hình¶
Nếu phát hiện thông tin xác thực AWS, OpenClaw có thể tự động khám phá các mô hình Bedrock hỗ trợ streaming và xuất văn bản. Việc khám phá sử dụng
bedrock:ListFoundationModels và được lưu bộ đệm (mặc định: 1 giờ).
Các tùy chọn cấu hình nằm dưới models.bedrockDiscovery:
{
models: {
bedrockDiscovery: {
enabled: true,
region: "us-east-1",
providerFilter: ["anthropic", "amazon"],
refreshInterval: 3600,
defaultContextWindow: 32000,
defaultMaxTokens: 4096,
},
},
}
Ghi chú:
enabledmặc định làtruekhi có thông tin xác thực AWS.regionmặc định làAWS_REGIONhoặcAWS_DEFAULT_REGION, sau đó làus-east-1.providerFilterkhớp với tên nhà cung cấp Bedrock (ví dụanthropic).refreshIntervaltính bằng giây; đặt thành0để tắt bộ nhớ đệm.defaultContextWindow(mặc định:32000) vàdefaultMaxTokens(mặc định:4096) được dùng cho các mô hình được khám phá (ghi đè nếu bạn biết giới hạn của mô hình).
Thiết lập (thủ công)¶
- Đảm bảo thông tin xác thực AWS có sẵn trên máy chủ gateway:
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="..."
- Thêm một nhà cung cấp Bedrock và mô hình vào cấu hình của bạn (không cần
apiKey):
{
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" },
},
},
}
Vai trò EC2 Instance¶
When running OpenClaw on an EC2 instance with an IAM role attached, the AWS SDK will automatically use the instance metadata service (IMDS) for authentication. Tuy nhiên, việc phát hiện thông tin xác thực của OpenClaw hiện chỉ kiểm tra các biến môi trường, không kiểm tra thông tin xác thực IMDS.
Cách khắc phục: Đặt AWS_PROFILE=default để báo hiệu rằng thông tin xác thực AWS khả dụng. Xác thực thực tế vẫn sử dụng vai trò instance thông qua IMDS.
# Add to ~/.bashrc or your shell profile
export AWS_PROFILE=default
export AWS_REGION=us-east-1
Quyền IAM bắt buộc cho vai trò EC2 instance:
bedrock:InvokeModelbedrock:InvokeModelWithResponseStreambedrock:ListFoundationModels(cho tự động khám phá)
Hoặc gắn chính sách được quản lý AmazonBedrockFullAccess.
Thiết lập nhanh:
# 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
openclaw config set models.bedrockDiscovery.enabled true
openclaw config set models.bedrockDiscovery.region us-east-1
# 4. Set the workaround env vars
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc
# 5. Verify models are discovered
openclaw models list
Ghi chú¶
- Bedrock yêu cầu bật quyền truy cập mô hình trong tài khoản/khu vực AWS của bạn.
- Tự động khám phá cần quyền
bedrock:ListFoundationModels. - Nếu bạn dùng profile, hãy đặt
AWS_PROFILEtrên máy chủ gateway. - OpenClaw hiển thị nguồn thông tin xác thực theo thứ tự sau:
AWS_BEARER_TOKEN_BEDROCK, sau đóAWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY, rồiAWS_PROFILE, cuối cùng là chuỗi mặc định của AWS SDK. - Hỗ trợ reasoning phụ thuộc vào mô hình; hãy kiểm tra thẻ mô hình Bedrock để biết khả năng hiện tại.
- Nếu bạn предпоч thích một luồng khóa được quản lý, bạn cũng có thể đặt một proxy tương thích OpenAI phía trước Bedrock và cấu hình nó như một nhà cung cấp OpenAI thay thế.