Providers
Amazon Bedrock Mantle
OpenClaw มี provider Amazon Bedrock Mantle ที่มาพร้อมกัน ซึ่งเชื่อมต่อกับ
ปลายทาง Mantle แบบ OpenAI-compatible โดย Mantle โฮสต์โมเดลโอเพนซอร์สและ
โมเดลจากผู้ให้บริการภายนอก (GPT-OSS, Qwen, Kimi, GLM และอื่น ๆ ที่คล้ายกัน) ผ่านพื้นผิว
/v1/chat/completions มาตรฐานที่ทำงานบนโครงสร้างพื้นฐานของ Bedrock
| Property | Value |
|---|---|
| Provider ID | amazon-bedrock-mantle |
| API | openai-completions (OpenAI-compatible) หรือ anthropic-messages (เส้นทาง Anthropic Messages) |
| Auth | AWS_BEARER_TOKEN_BEDROCK แบบชัดเจน หรือการสร้าง bearer token จาก IAM credential chain |
| Region เริ่มต้น | us-east-1 (กำหนดแทนด้วย AWS_REGION หรือ AWS_DEFAULT_REGION) |
เริ่มต้นใช้งาน
เลือกวิธี auth ที่คุณต้องการ แล้วทำตามขั้นตอนการตั้งค่า
Bearer token แบบชัดเจน
เหมาะที่สุดสำหรับ: สภาพแวดล้อมที่คุณมี Mantle bearer token อยู่แล้ว
ตั้ง bearer token บนโฮสต์ gateway
export AWS_BEARER_TOKEN_BEDROCK="..."
สามารถตั้ง region แบบไม่บังคับได้ (ค่าเริ่มต้นคือ us-east-1):
export AWS_REGION="us-west-2"
ตรวจสอบว่ามีการค้นพบโมเดลแล้ว
openclaw models list
โมเดลที่ถูกค้นพบจะปรากฏภายใต้ provider amazon-bedrock-mantle โดยไม่
ต้องมี config เพิ่มเติม เว้นแต่คุณต้องการกำหนดแทนค่าเริ่มต้น
ข้อมูลรับรอง IAM
เหมาะที่สุดสำหรับ: การใช้ข้อมูลรับรองที่เข้ากันได้กับ AWS SDK (shared config, SSO, web identity, instance หรือ task roles)
กำหนดค่า AWS credentials บนโฮสต์ gateway
แหล่ง auth ที่เข้ากันได้กับ AWS SDK ใด ๆ ก็ใช้ได้:
export AWS_PROFILE="default"
export AWS_REGION="us-west-2"
ตรวจสอบว่ามีการค้นพบโมเดลแล้ว
openclaw models list
OpenClaw จะสร้าง Mantle bearer token จาก credential chain ให้อัตโนมัติ
การค้นหาโมเดลอัตโนมัติ
เมื่อมีการตั้ง AWS_BEARER_TOKEN_BEDROCK, OpenClaw จะใช้ค่านั้นโดยตรง หากไม่มี
OpenClaw จะพยายามสร้าง Mantle bearer token จาก AWS default
credential chain จากนั้นจึงค้นหาโมเดล Mantle ที่พร้อมใช้งานโดย query ไปยัง
ปลายทาง /v1/models ของ region นั้น
| พฤติกรรม | รายละเอียด |
|---|---|
| แคชการค้นหา | แคชผลลัพธ์ไว้ 1 ชั่วโมง |
| การรีเฟรช IAM token | ทุกชั่วโมง |
Regions ที่รองรับ
us-east-1, us-east-2, us-west-2, ap-northeast-1,
ap-south-1, ap-southeast-3, eu-central-1, eu-west-1, eu-west-2,
eu-south-1, eu-north-1, sa-east-1
การกำหนดค่าด้วยตนเอง
หากคุณต้องการใช้ config แบบชัดเจนแทน auto-discovery:
{
models: {
providers: {
"amazon-bedrock-mantle": {
baseUrl: "https://bedrock-mantle.us-east-1.api.aws/v1",
api: "openai-completions",
auth: "api-key",
apiKey: "env:AWS_BEARER_TOKEN_BEDROCK",
models: [
{
id: "gpt-oss-120b",
name: "GPT-OSS 120B",
reasoning: true,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 32000,
maxTokens: 4096,
},
],
},
},
},
}
การกำหนดค่าขั้นสูง
การรองรับ reasoning
การรองรับ reasoning จะถูกอนุมานจาก model IDs ที่มีรูปแบบอย่าง
thinking, reasoner หรือ gpt-oss-120b โดย OpenClaw จะตั้ง reasoning: true
ให้อัตโนมัติสำหรับโมเดลที่ตรงเงื่อนไขระหว่างการค้นหา
ปลายทางไม่พร้อมใช้งาน
หากปลายทาง Mantle ไม่พร้อมใช้งานหรือไม่ส่งคืนโมเดลใดเลย provider นี้ จะถูกข้ามแบบเงียบ ๆ OpenClaw จะไม่แสดงข้อผิดพลาด; providers อื่นที่กำหนดค่า ไว้จะยังคงทำงานต่อไปตามปกติ
Claude Opus 4.7 ผ่านเส้นทาง Anthropic Messages
Mantle ยังเปิดเผยเส้นทาง Anthropic Messages ที่พาโมเดล Claude ผ่านเส้นทางสตรีมแบบ bearer-authenticated เดียวกัน Claude Opus 4.7 (amazon-bedrock-mantle/claude-opus-4.7) สามารถเรียกผ่านเส้นทางนี้ได้พร้อม provider-owned streaming ดังนั้น AWS bearer tokens จึงไม่ถูกมองเหมือน Anthropic API keys
เมื่อคุณตรึงโมเดล Anthropic Messages บน provider Mantle, OpenClaw จะใช้พื้นผิว API แบบ anthropic-messages แทน openai-completions สำหรับโมเดลนั้น auth ยังคงมาจาก AWS_BEARER_TOKEN_BEDROCK (หรือ IAM bearer token ที่สร้างขึ้น)
{
models: {
providers: {
"amazon-bedrock-mantle": {
models: [
{
id: "claude-opus-4.7",
name: "Claude Opus 4.7",
api: "anthropic-messages",
reasoning: true,
input: ["text", "image"],
contextWindow: 1000000,
maxTokens: 32000,
},
],
},
},
},
}
ความสัมพันธ์กับ provider Amazon Bedrock
Bedrock Mantle เป็น provider แยกจาก provider
Amazon Bedrock มาตรฐาน โดย Mantle ใช้พื้นผิว
/v1 แบบ OpenAI-compatible ส่วน provider Bedrock มาตรฐานใช้
Bedrock API แบบเนทีฟ
ทั้งสอง providers ใช้ข้อมูลรับรอง AWS_BEARER_TOKEN_BEDROCK ตัวเดียวกันร่วมกัน
เมื่อมีการตั้งค่าไว้