fix(hub): Claude Code SDK 经 OpenRouter Anthropic Skin,保留 provider-agnostic

我之前判断错了——OpenRouter 有 Anthropic Messages API 兼容端点
(https://openrouter.ai/api),Claude Code SDK 直连不需要代理。
ANTHROPIC_AUTH_TOKEN=OpenRouter key,ANTHROPIC_API_KEY='' 即可。

而且 ANTHROPIC_DEFAULT_SONNET_MODEL 可设 OpenRouter model ID
(z-ai/glm-4.7 等),所以 provider-agnostic 没丢。

ADR-0017 重写:从'Anthropic 专有'改为'Claude Code SDK via OpenRouter,
保留 provider-agnostic'。tsc rc=0。
This commit is contained in:
2026-07-08 01:46:09 +08:00
parent 082562ca08
commit b9f50407be
3 changed files with 55 additions and 40 deletions
+8
View File
@@ -29,6 +29,14 @@ function requireEnv(name: string): string {
async function main(): Promise<void> {
const databaseUrl = requireEnv("DATABASE_URL");
void databaseUrl;
// Claude Code SDK auth via OpenRouter's Anthropic Skin. The SDK reads
// ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN from env. ANTHROPIC_API_KEY
// must be explicitly empty to avoid auth conflicts.
const openrouterKey = requireEnv("OPENROUTER_API_KEY");
process.env["ANTHROPIC_BASE_URL"] ??= "https://openrouter.ai/api";
process.env["ANTHROPIC_AUTH_TOKEN"] ??= openrouterKey;
process.env["ANTHROPIC_API_KEY"] ??= "";
const feishuAppId = requireEnv("FEISHU_APP_ID");
const feishuAppSecret = requireEnv("FEISHU_APP_SECRET");
const feishuBotOpenId = requireEnv("FEISHU_BOT_OPEN_ID");