
OpenClaw 接入 Amazon Bedrock MantleOpenAI 兼容端点与 Claude Messages 路由实战指南【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw本篇技术指南围绕 OpenClaw 内置的 Amazon Bedrock Mantle 提供商展开讲解如何通过 Mantle 的 OpenAI 兼容端点接入 GPT-OSS、Qwen、Kimi、GLM 等开源模型以及如何通过 Anthropic Messages 路由使用 Claude Opus 5 / Sonnet 5 / Mythos 5 系列模型。读完本文你将掌握两种认证方式的配置步骤、自动模型发现机制与缓存策略、手动模型目录的完整配置写法以及各 Claude 模型在 Mantle 路由上的 thinking 级别映射与采样参数行为并能对照 extensions/amazon-bedrock-mantle/discovery.ts 等源码验证上述行为的实际实现。提供商概览OpenClaw 通过捆绑的Amazon Bedrock Mantle提供商插件 ID 为amazon-bedrock-mantle连接 Mantle 的 OpenAI 兼容端点。Mantle 通过标准的/v1/chat/completions接口承载开源与第三方模型GPT-OSS、Qwen、Kimi、GLM 等类底层由 Bedrock 基础设施支撑同时 Mantle 还通过 Anthropic Messages 路由暴露 Claude 模型。核心属性如下属性值Provider IDamazon-bedrock-mantleAPI发现的 OSS 模型走openai-completionsClaude 模型走anthropic-messages认证显式AWS_BEARER_TOKEN_BEDROCK或由 IAM 凭据链生成的 bearer token默认区域us-east-1可通过AWS_REGION或AWS_DEFAULT_REGION覆盖从源码结构看该提供商由插件 extensions/amazon-bedrock-mantle/index.ts 注册入口定义实际逻辑集中在 extensions/amazon-bedrock-mantle/register.sync.runtime.ts它调用api.registerProvider注册 provider并挂接了 bearer token 解析resolveConfigApiKey/prepareRuntimeAuth、Claude 模型成本修正normalizeResolvedModel、Anthropic 流式适配器createStreamFn、上下文溢出识别matchesContextOverflowError以及故障切换分类classifyFailoverReason将 429/rate_limit 归类为rate_limit503/overloaded 归类为overloaded。插件清单 extensions/amazon-bedrock-mantle/openclaw.plugin.json 中enabledByDefault: true且将模型目录声明为refreshable可刷新这正是“自动发现 定期刷新”行为的配置来源。快速上手根据你偏好的认证方式选择对应的配置路径。方式一显式 bearer token适用场景环境中已经持有 Mantle bearer token。第 1 步在 gateway 主机上设置 tokenexport AWS_BEARER_TOKEN_BEDROCK...可选设置区域默认us-east-1export AWS_REGIONus-west-2第 2 步验证模型已被发现openclaw models list发现的模型会出现在amazon-bedrock-mantle提供商下除非你想覆盖默认值否则无需任何额外配置。从源码看token 解析函数resolveMantleBearerTokenextensions/amazon-bedrock-mantle/discovery.ts会先trim再读取AWS_BEARER_TOKEN_BEDROCK空值视为未设置区域解析顺序为AWS_REGION→AWS_DEFAULT_REGION→us-east-1见resolveMantleRegionextensions/amazon-bedrock-mantle/discovery.ts。方式二IAM 凭据适用场景使用 AWS SDK 兼容凭据shared config、SSO、web identity、实例角色或任务角色。第 1 步在 gateway 主机上配置 AWS 凭据。任何 AWS SDK 兼容的认证源都可以export AWS_PROFILEdefault export AWS_REGIONus-west-2第 2 步验证模型已被发现openclaw models listOpenClaw 会自动从凭据链生成 Mantle bearer token。提示当AWS_BEARER_TOKEN_BEDROCK未设置时OpenClaw 会从 AWS 默认凭据链为你铸造 bearer token覆盖 shared credentials/config profiles、SSO、web identity以及实例角色或任务角色。实现上generateBearerTokenFromIamextensions/amazon-bedrock-mantle/discovery.ts动态导入aws/bedrock-token-generator的getTokenProvider请求 2 小时有效期expiresInSeconds: 7200的 token并按区域缓存生成的 token 以内部标记__amazon_bedrock_mantle_iam__常量MANTLE_IAM_TOKEN_MARKER作为配置中的apiKey占位运行时再由resolveMantleRuntimeBearerToken换成真实 tokenextensions/amazon-bedrock-mantle/discovery.ts。也就是说配置层只记录“需要 IAM 铸币”这一事实真实凭证始终在运行时解析。自动模型发现当AWS_BEARER_TOKEN_BEDROCK已设置时OpenClaw 直接使用它否则尝试从 AWS 默认凭据链生成 Mantle bearer token。随后通过查询该区域的/v1/models端点发现可用的 Mantle 模型。端点形如https://bedrock-mantle.{region}.api.aws/v1/models请求携带Authorization: Bearer token超时 30 秒响应体上限 4MBextensions/amazon-bedrock-mantle/discovery.ts。行为细节发现缓存同一区域 同一 bearer 凭据结果缓存 1 小时IAM token 刷新每 2 小时一次按区域缓存几个关键的失败语义值得注意刷新失败会报告“目录不可用或被拒绝”。目录会保留兼容的 last-good 模型并附上失败状态过期的发现数据不会被当作一次成功的刷新。成功的空响应会清空已发现的成员关系。恢复端点访问后需再次刷新。插件的公开发现助手保留 v2026.9.2 的“建议性advisory”默认行为同凭据的过期数据在失败时仍可能返回隐式解析对空结果返回null。程序化调用方可传入discoveryMode: strict以获得失败传播与“成功的空 provider 结果”捆绑的目录钩子catalog hook始终选择 strict 模式——这一点可以在 extensions/amazon-bedrock-mantle/register.sync.runtime.ts 中看到catalog.run调用resolveImplicitMantleProvider时显式传入discoveryMode: strict。如果希望保持 Mantle 插件启用但抑制自动发现和 IAM bearer token 生成可关闭插件自有的发现开关openclaw config set plugins.entries.amazon-bedrock-mantle.config.discovery.enabled false对应实现是resolveImplicitMantleProvider开头的短路判断extensions/amazon-bedrock-mantle/discovery.tsdiscovery.enabled false时直接返回null即隐式 provider 不生效但插件本身的注册与显式配置能力保留。支持的区域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。源码中该列表为常量MANTLE_SUPPORTED_REGIONSextensions/amazon-bedrock-mantle/discovery.ts区域不在列表内时仅输出 debug 日志并跳过该 provider不影响其他已配置 provider 正常工作。手动配置如果你更喜欢显式配置而非自动发现可直接在配置中声明 provider 与模型。以下示例以 GPT-OSS 120B 为例{ 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, }, ], }, }, }, }各字段的语义与默认值可对照 extensions/amazon-bedrock-mantle/discovery.ts 中的常量baseUrlMantle OpenAI 兼容入口形如https://bedrock-mantle.{region}.api.aws/v1apiopenai-completionsOSS 模型或anthropic-messagesClaude 模型auth/apiKeyapi-keyenv:AWS_BEARER_TOKEN_BEDROCK即从环境变量读取 bearer tokencost发现得到的 OSS 模型默认全部为 0DEFAULT_COSTcontextWindow发现默认值 32000DEFAULT_CONTEXT_WINDOWmaxTokens发现默认值 4096DEFAULT_MAX_TOKENS。显式非空models列表的行为规则显式列表控制成员关系并整体替换发现的目录行包括下文 Claude 的行对匹配的行显式的input优先生效当源行未写input时发现可以补全该能力元数据想要保留自动 Mantle 目录时省略models若只写部分模型请包含你希望使用的完整 Claude 条目。实现上mergeImplicitMantleProviderextensions/amazon-bedrock-mantle/discovery.ts体现了这一合并规则以隐式 provider 为基底展开再叠加用户显式配置当existing.models是非空数组时直接采用用户列表否则回落到发现的模型列表。高级配置推理Reasoning支持推断发现阶段会对模型 ID 做子串匹配命中以下任一模式即自动设置reasoning: truethinking、reasoner、reasoning、deepseek.r、gpt-oss-120b、gpt-oss-safeguard-120b对应源码为常量REASONING_PATTERNS与inferReasoningSupportextensions/amazon-bedrock-mantle/discovery.ts匹配前会先把模型 ID 转小写。端点不可用时的行为请求失败的端点会报告“目录不可用或被拒绝”兼容的 last-good 模型仍会列出并带上失败状态成功的空响应会清空发现的成员关系若无法解析出任何 bearer token则根本不尝试发现隐式 provider 被跳过其他已配置 provider 继续正常工作。Claude 走 Anthropic Messages 路由当自动发现接管模型列表时在/v1/models查询成功且至少返回一个模型后OpenClaw 会追加 5 个 Claude 模型模型 IDamazon-bedrock-mantle/前缀名称关键参数anthropic.claude-opus-5Claude Opus 51,000,000 上下文128,000 输出上限图像输入$5/$25输入/输出定价anthropic.claude-sonnet-5Claude Sonnet 5始终启用自适应 thinking默认highanthropic.claude-opus-4-7Claude Opus 4.7流式输出不含模型侧 reasoninganthropic.claude-mythos-5Claude Mythos 5受限访问1,000,000 上下文128,000 输出上限anthropic.claude-mythos-previewClaude Mythos Preview始终请求 reasoning默认high它们使用anthropic-messagesAPI 面并通过同一个 bearer 认证的 Anthropic 兼容端点流式传输mantle-base/anthropic因此 AWS bearer token不会被当作 Anthropic API key 处理。端点改写逻辑见resolveMantleAnthropicBaseUrlbaseUrl 以/v1结尾时替换为/anthropicextensions/amazon-bedrock-mantle/mantle-anthropic.runtime.ts。各模型的 thinking / 采样行为细节Claude Opus 5自适应 thinking 默认high/think off关闭 thinking/think xhigh|max使用模型原生 effort 级别thinkingLevelMap: { xhigh: xhigh, max: max }/think minimal会映射为lowOpenClaw 省略调用方选择的采样参数。Claude Sonnet 5始终使用自适应 thinking默认high由于 Mantle 路由无法关闭 thinking/think off与/think minimal都映射到lowthinkingLevelMap: { off: low, minimal: low, xhigh: xhigh, max: max }OpenClaw 同时省略 Sonnet 5 请求的自定义 temperature。Claude Mythos 5受限访问。1,000,000 上下文 / 128,000 输出上限始终自适应 thinking/think off与/think minimal映射到low省略调用方选择的采样参数。Claude Mythos Preview始终请求 reasoning未设置/think级别时默认highxhigh/max向下映射到highminimal向上映射到low它正常接受temperature覆盖。Claude Opus 4.7在 Mantle 上流式输出不含模型侧 reasoning目录中reasoning: false且 OpenClaw 会省略其temperature参数因为 Opus 4.7 在该路由上不接受采样覆盖。以上映射在源码中由resolveMantleReasoning与mapModernClaudeEffort精确实现extensions/amazon-bedrock-mantle/mantle-anthropic.runtime.ts。当 thinking 开启时adjustMaxTokensForThinking会按级别分配 thinking 预算默认 minimal 1024 / low 2048 / medium 8192 / high·xhigh·max 16384并把maxTokens提升为基础值 thinking 预算、再与模型上限取小extensions/amazon-bedrock-mantle/mantle-anthropic.runtime.ts。另外注意成本修正normalizeResolvedModelextensions/amazon-bedrock-mantle/register.sync.runtime.ts会在运行时把 Opus 5 的成本固定为{ input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }Sonnet 5 的成本则按时段取价——Bedrock 的 Sonnet 5 入门优惠价在文档化的 UTC 月末2026-09-01 起到期后切换为标准价促销$2/$10→ 标准$3/$15缓存价相应变化见 extensions/amazon-bedrock-mantle/discovery.ts。显式配置规则同样适用于 Claude 行非空的models.providers[amazon-bedrock-mantle].models列表控制成员关系并整体替换发现的完整目录匹配行只有在其源行省略input时才能继承发现的能力若希望保留这些内置 Claude 行请省略该列表。与标准 Amazon Bedrock 提供商的关系Bedrock Mantle 与标准 Amazon Bedrock 提供商是相互独立的两个 providerMantle 使用 OpenAI 兼容的/v1表面来承载其 OSS 目录标准 Bedrock 提供商使用原生 Bedrock Converse API当AWS_BEARER_TOKEN_BEDROCK存在时两者共享同一凭证。深入源码从发现到流式的完整链路为帮助读者验证上述行为整理一条从环境变量到模型流的调用链均可在 extensions/amazon-bedrock-mantle 目录内直接查看注册extensions/amazon-bedrock-mantle/index.ts 通过definePluginEntry声明插件register阶段调用registerBedrockMantlePlugin目录构建catalog.runstrict 模式→resolveImplicitMantleProvider→ 区域校验 →resolveMantleBearerToken/generateBearerTokenFromIam→discoverMantleModelsGET/v1/models缓存 1 小时→ 追加 5 个 Claude 行并去重运行时鉴权prepareRuntimeAuth→resolveMantleRuntimeBearerToken把 IAM 占位标记换成真实 token 并附带过期时间流式适配模型api anthropic-messages时由createMantleAnthropicStreamFn接管创建 Anthropic SDK 客户端authToken使用 bearer token而非apiKey默认头包含anthropic-beta: fine-grained-tool-streaming-2025-05-14与anthropic-dangerous-direct-browser-access: true失败处理matchesContextOverflowError用/context_length_exceeded|max.*tokens.*exceeded/i识别上下文溢出classifyFailoverReason将 429 与 503 类错误归入 rate_limit / overloaded 以驱动 failover。插件行为由 extensions/amazon-bedrock-mantle/discovery.test.ts 与 extensions/amazon-bedrock-mantle/index.test.ts 覆盖包括 bearer token 解析含空值 trim、未设置返回undefined、IAM token 缓存与失败重试、发现缓存、严格模式失败传播、Claude 行合并等场景可作为行为契约的佐证。适用前提与限制需要可访问对应 Mantle 区域的网络环境且区域在支持列表内否则该 provider 静默跳过显式 token 与 IAM 凭据至少具备其一否则隐式 provider 不会被创建显式models列表会替换自动目录包括内置 Claude 行——只写部分模型前请确认包含所需的全部 Claude 条目该插件默认启用enabledByDefault: true无需手动安装即可生效如需独立安装命令为openclaw plugins install openclaw/amazon-bedrock-mantle-provider见 extensions/amazon-bedrock-mantle/README.md。相关资源Amazon Bedrock 提供商文档面向 Anthropic Claude、Titan 及其他模型的原生 Bedrock provider模型提供商概念选择 provider、模型引用model ref与 failover 行为OAuth 与认证认证细节与凭据复用规则故障排查常见问题及解决方法。【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考