From e1b304d3903554e3650fb33f32ab18130e4206a3 Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Fri, 2 Oct 2026 16:35:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=20Anthropic=20?= =?UTF-8?q?=E7=AB=AF=E7=82=B9=E6=94=B9=E7=94=A8=20x-api-key=20=E5=87=BA?= =?UTF-8?q?=E7=A4=BA=E5=87=AD=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - claude_code_cli:custom 模型(用户自带 key 的 Claude 兼容端点)下把 key 放到 ANTHROPIC_API_KEY,让 Claude Code 走 Anthropic 规范的 x-api-key 头;官方模型仍走平台会话的 ANTHROPIC_AUTH_TOKEN - 依据:同一次 /v1/messages 请求,Router 只认 x-api-key 时返回 200,走 Authorization: Bearer 时会长时间不响应 --- .../src-tauri/src/agent/claude_code_cli.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs index cb7d67b89..d708d436a 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs @@ -458,7 +458,14 @@ fn configure_claude_code_environment( && std::env::var_os("ANTHROPIC_API_KEY").is_none() && std::env::var_os("ANTHROPIC_AUTH_TOKEN").is_none() { - command.env("ANTHROPIC_AUTH_TOKEN", llm.api_key.trim()); + if llm.custom_enabled { + // 自定义 Claude 兼容端点用 Anthropic 规范的 `x-api-key`:Claude Code 只在 + // `ANTHROPIC_API_KEY` 下发这个头(`ANTHROPIC_AUTH_TOKEN` 会发 Bearer,实测 + // Router 的 `/v1/messages` 对 Bearer 会挂住不返回)。 + command.env("ANTHROPIC_API_KEY", llm.api_key.trim()); + } else { + command.env("ANTHROPIC_AUTH_TOKEN", llm.api_key.trim()); + } } // Official AGC model entries use the account session rather than a // user-supplied API key. The Claude SDK only reads Anthropic auth