文档 · 指南
Amazon Bedrock 接入 Claude Code、Codex 等 Agent
magpie 有两个 Amazon Bedrock 预设:bedrock(Bedrock 运行时)和 bedrock-mantle(Bedrock 的 Mantle 端点)。两者用同一个 Bedrock API Key,不需要 AWS 访问密钥和 SigV4 签名。接好之后,Claude Code、Codex、OpenCode 等 Agent 都能用 Bedrock 上的 Claude、OpenAI GPT,以及 gpt-oss、Qwen、DeepSeek、Kimi、GLM、MiniMax 等模型,费用记在你的 AWS 账号上。
添加
- 拿到 Key。在 AWS 控制台的 Bedrock 页面创建一个 Bedrock API Key。
- 添加并选区域。默认区域是 us-east-1,在应用的编辑器里用 区域 换,或者在命令行设置:
magpie provider add bedrockmagpie provider set bedrock region=eu-west-1 magpie provider test bedrock
运行时预设的区域有 us-east-1、us-east-2、us-west-2、eu-central-1、eu-west-1、eu-west-3、ap-northeast-1、ap-southeast-1、ap-southeast-2、ap-south-1。每个区域都有自己的 Claude(Anthropic Messages)、Chat Completions 和 Responses 地址,换区域时三个一起换。
模型
Bedrock 运行时没有可以查询的模型列表,所以 magpie 预设了一组模型:
- Claude:
global.anthropic.claude-opus-5-5、global.anthropic.claude-sonnet-5-5、global.anthropic.claude-haiku-4-5-20251001-v1:0等,用的是 global. 推理配置,所有商业区域都能转发。 - OpenAI GPT:
global.openai.gpt-6-astra、global.openai.gpt-6-sol、global.openai.gpt-6-luna,同样是 global. 推理配置。 - 其他厂商:
openai.gpt-oss-120b-1:0、qwen.qwen3-coder-480b-a35b-v1:0、deepseek.v3.2、moonshotai.kimi-k2.5、zai.glm-5、minimax.minimax-m2.5等区域内 id,并不是每个区域都有(比如 ap-southeast-1 没有 gpt-oss)。
限定在某个地区的推理配置(us.、eu.、apac.、jp.、au. 开头)不在预设里,需要手动填入,和其他自填的模型一样。
给 Agent 用
magpie 按模型选 Bedrock 的 API:Claude 只走 Anthropic Messages,OpenAI 的 GPT(不含 gpt-oss)优先走 Responses,其余走 Chat Completions。Agent 说哪种 API 都可以,magpie 负责转换,所以 Codex 也能用 Bedrock 上的 Claude,Claude Code 也能用 Bedrock 上的 GPT:
magpie claude bedrock/global.anthropic.claude-sonnet-5-5 magpie codex bedrock/global.openai.gpt-6-sol
Bedrock Mantle
Mantle 是 Bedrock 的另一个端点(bedrock-mantle.<区域>.api.aws),用同一个 Key:
magpie provider add bedrock-mantleregion=us-west-2 magpie provider test bedrock-mantle
- 和运行时不同,Mantle 能列出模型,所以模型列表就是你账号自己的,包括只在 Mantle 上的模型。
- 模型 id 只用区域内的,比如
anthropic.claude-sonnet-5、openai.gpt-oss-120b,没有global.或us.推理配置。 - Mantle 的 OpenAI 接口按模型分在两个前缀下:OpenAI 闭源 GPT 和 xAI 的 Grok 在
/openai/v1,其余在/v1。magpie 按模型自动选;遇到它还不认识的厂商被拒时,会换另一个前缀再试一次,成功就记住。 - Mantle 有 17 个区域,运行时的 eu-west-3 没有 Mantle。
Claude Code 的 CLAUDE_CODE_USE_BEDROCK
Claude Code 打开 CLAUDE_CODE_USE_BEDROCK(或 _VERTEX、_MANTLE 等)时,会直接连那家云的端点,不经过 magpie。magpie 接管 Claude Code 时,会把它写入的设置里打开的这类开关拿掉并保存原值,退出接管时按原样放回(除非你之后又改过)。AWS_* 这类云自己的变量不会动。开关写在 magpie 不写的地方(托管设置、~/.claude.json 的 env 或登录 shell 的环境变量)时,Agent 页的检查会指出是哪个变量、在哪里。
几点说明
- Claude Code 发出 Bedrock 不认的
anthropic-beta时,Bedrock 会回 400 “Unexpected value(s) … for the anthropic-beta header”。magpie 会立刻去掉这些 beta 重发,之后对这个供应商也不再发。 - Key 只放在
x-api-key里发给 Claude 的接口,这是 Bedrock 的要求。 - 已经有运行时或 Mantle 地址的自定义供应商,magpie 也会认出来,按同样的规则处理。
常见问题
magpie 接 Bedrock 需要 AWS Access Key 吗?
不需要。只要一个 Bedrock API Key,magpie 不做 SigV4 签名。在 AWS 控制台的 Bedrock 页面创建即可。
Claude Code 能通过 magpie 用 Bedrock 上的 Claude 吗?
能。选 bedrock/global.anthropic.claude-sonnet-5-5 这样的模型即可。不要再打开 CLAUDE_CODE_USE_BEDROCK,否则 Claude Code 会绕过 magpie;magpie 接管时会把它写入的设置里的这个开关拿掉。
为什么有的模型在我的区域用不了?
global. 开头的 Claude 和 GPT 在所有商业区域都能转发;其他厂商的区域内 id 不是每个区域都有。换一个区域,或手动填入你区域有的模型 id。
Bedrock 和 Bedrock Mantle 选哪个?
都用同一个 Key。运行时有 global. 推理配置和预设的模型列表;Mantle 能列出账号自己的模型,包括只在 Mantle 上的,但只用区域内 id。
相关页面:Anthropic 接入 Claude Code、Codex、Gemini CLI 和 OpenCode、Google Vertex AI 接入 Claude Code、Codex 等 Agent。遇到错误请看 常见错误排查:401、429、502、504 等,或者到 Discord 提问。