Providers
Amazon Bedrock
OpenClaw میتواند از مدلهای Amazon Bedrock از طریق ارائهدهندهٔ جریانی Bedrock Converse در pi-ai استفاده کند. احراز هویت Bedrock از زنجیرهٔ پیشفرض اعتبارنامهٔ AWS SDK استفاده میکند، نه کلید API.
| ویژگی | مقدار |
|---|---|
| ارائهدهنده | amazon-bedrock |
| API | bedrock-converse-stream |
| احراز هویت | اعتبارنامههای AWS (متغیرهای محیطی، پیکربندی مشترک، یا نقش نمونه) |
| منطقه | AWS_REGION یا AWS_DEFAULT_REGION (پیشفرض: us-east-1) |
شروع به کار
روش احراز هویت دلخواهتان را انتخاب کنید و مراحل راهاندازی را دنبال کنید.
کلیدهای دسترسی / متغیرهای محیطی
بهترین گزینه برای: ماشینهای توسعهدهنده، CI، یا میزبانهایی که اعتبارنامههای AWS را مستقیماً مدیریت میکنید.
تنظیم اعتبارنامههای AWS روی میزبان 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="..."
افزودن ارائهدهنده و مدل 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)
بهترین گزینه برای: نمونههای EC2 که یک نقش IAM به آنها متصل است و از سرویس فرادادهٔ نمونه برای احراز هویت استفاده میکنند.
فعالسازی صریح کشف
هنگام استفاده از 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 استفاده میکند و نتایج کش میشوند (پیشفرض: ۱ ساعت).
نحوهٔ فعال شدن ارائهدهندهٔ ضمنی:
- اگر
plugins.entries.amazon-bedrock.config.discovery.enabledبرابرtrueباشد، OpenClaw حتی وقتی هیچ نشانگر محیطی AWS وجود نداشته باشد، کشف را امتحان میکند. - اگر
plugins.entries.amazon-bedrock.config.discovery.enabledتنظیم نشده باشد، OpenClaw فقط زمانی ارائهدهندهٔ ضمنی Bedrock را بهصورت خودکار اضافه میکند که یکی از این نشانگرهای احراز هویت AWS را ببیند:AWS_BEARER_TOKEN_BEDROCK،AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY، یاAWS_PROFILE. - مسیر واقعی احراز هویت زمان اجرای Bedrock همچنان از زنجیرهٔ پیشفرض AWS SDK استفاده میکند، بنابراین
پیکربندی مشترک، SSO، و احراز هویت نقش نمونهٔ IMDS میتوانند حتی وقتی کشف برای انتخاب نیازمند
enabled: trueبوده است هم کار کنند.
گزینههای پیکربندی کشف
گزینههای پیکربندی زیر 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 |
خودکار | در حالت خودکار، OpenClaw فقط وقتی ارائهدهندهٔ ضمنی Bedrock را فعال میکند که یک نشانگر محیطی AWS پشتیبانیشده را ببیند. برای اجبار کشف، روی true تنظیم کنید. |
region |
AWS_REGION / AWS_DEFAULT_REGION / us-east-1 |
منطقهٔ AWS مورد استفاده برای فراخوانیهای API کشف. |
providerFilter |
(همه) | با نامهای ارائهدهندهٔ Bedrock مطابقت میدهد (برای نمونه anthropic، amazon). |
refreshInterval |
3600 |
مدت کش بر حسب ثانیه. برای غیرفعال کردن کش، روی 0 تنظیم کنید. |
defaultContextWindow |
32000 |
پنجرهٔ زمینهٔ مورد استفاده برای مدلهای کشفشده (اگر محدودیتهای مدل خود را میدانید، بازنویسی کنید). |
defaultMaxTokens |
4096 |
حداکثر توکنهای خروجی مورد استفاده برای مدلهای کشفشده (اگر محدودیتهای مدل خود را میدانید، بازنویسی کنید). |
راهاندازی سریع (مسیر AWS)
این راهنما یک نقش IAM ایجاد میکند، مجوزهای Bedrock را متصل میکند، پروفایل نمونه را مرتبط میکند و کشف OpenClaw را روی میزبان 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
پیکربندی پیشرفته
پروفایلهای استنتاج
OpenClaw پروفایلهای استنتاج منطقهای و سراسری را در کنار مدلهای پایه کشف میکند. وقتی یک پروفایل به یک مدل پایهٔ شناختهشده نگاشت شود، آن پروفایل قابلیتهای آن مدل (پنجرهٔ زمینه، حداکثر توکنها، استدلال، بینایی) را به ارث میبرد و منطقهٔ درست درخواست Bedrock بهصورت خودکار تزریق میشود. این یعنی پروفایلهای Claude میانمنطقهای بدون بازنویسی دستی ارائهدهنده کار میکنند.
شناسههای پروفایل استنتاج شبیه 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
Bedrock پارامتر temperature را برای Claude Opus 4.7 رد میکند. OpenClaw
بهصورت خودکار temperature را برای هر ارجاع Bedrock به Opus 4.7 حذف میکند، از جمله
شناسههای مدل پایه، پروفایلهای استنتاج نامگذاریشده، پروفایلهای استنتاج برنامه
که مدل زیربناییشان از طریق bedrock:GetInferenceProfile به Opus 4.7
حل میشود، و گونههای نقطهدار opus-4.7 با پیشوندهای منطقهای
اختیاری (us.، eu.، ap.، apac.، au.، jp.،
global.). هیچ گزینهٔ پیکربندی لازم نیست، و این حذف هم روی
شیء گزینههای درخواست و هم روی فیلد بار inferenceConfig اعمال میشود.
گاردریلها
میتوانید Amazon Bedrock Guardrails
را با افزودن یک شیء guardrail به پیکربندی Plugin
amazon-bedrock روی همهٔ فراخوانیهای مدل 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 |
بله | شناسهٔ گاردریل (مثلاً abc123) یا ARN کامل (مثلاً arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123). |
guardrailVersion |
بله | شمارهٔ نسخهٔ منتشرشده، یا "DRAFT" برای پیشنویس کاری. |
streamProcessingMode |
خیر | "sync" یا "async" برای ارزیابی گاردریل هنگام جریاندهی. اگر حذف شود، Bedrock از پیشفرض خود استفاده میکند. |
trace |
خیر | "enabled" یا "enabled_full" برای اشکالزدایی؛ برای تولید حذف کنید یا روی "disabled" تنظیم کنید. |
Embeddings for memory search
Bedrock همچنین میتواند بهعنوان ارائهدهندهٔ embedding برای
جستوجوی حافظه عمل کند. این جدا از ارائهدهندهٔ
استنتاج پیکربندی میشود -- agents.defaults.memorySearch.provider را روی "bedrock" تنظیم کنید:
{
agents: {
defaults: {
memorySearch: {
provider: "bedrock",
model: "amazon.titan-embed-text-v2:0", // default
},
},
},
}
embeddingهای Bedrock از همان زنجیرهٔ اعتبارنامهٔ AWS SDK مانند استنتاج استفاده میکنند (نقشهای instance،
SSO، کلیدهای دسترسی، پیکربندی مشترک، و web identity). هیچ کلید API
لازم نیست. وقتی provider برابر "auto" باشد، اگر آن
زنجیرهٔ اعتبارنامه با موفقیت resolve شود، Bedrock بهصورت خودکار شناسایی میشود.
مدلهای embedding پشتیبانیشده شامل Amazon Titan Embed (v1, v2)، Amazon Nova Embed، Cohere Embed (v3, v4)، و TwelveLabs Marengo هستند. برای فهرست کامل مدلها و گزینههای ابعاد، به مرجع پیکربندی حافظه -- Bedrock مراجعه کنید.
Notes and caveats
- Bedrock نیاز دارد دسترسی به مدل در حساب/ناحیهٔ AWS شما فعال باشد.
- کشف خودکار به مجوزهای
bedrock:ListFoundationModelsوbedrock:ListInferenceProfilesنیاز دارد. - اگر به حالت خودکار متکی هستید، یکی از نشانگرهای env احراز هویت AWS پشتیبانیشده را روی
میزبان gateway تنظیم کنید. اگر احراز هویت IMDS/shared-config بدون نشانگرهای env را ترجیح میدهید، مقدار
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. - پشتیبانی از reasoning به مدل بستگی دارد؛ برای قابلیتهای فعلی، کارت مدل Bedrock را بررسی کنید.
- اگر یک جریان کلید مدیریتشده را ترجیح میدهید، همچنین میتوانید یک پراکسی سازگار با OpenAI را جلوی Bedrock قرار دهید و بهجای آن بهعنوان یک ارائهدهندهٔ OpenAI پیکربندی کنید.