本服务面向非中国大陆地区 · ZetaAPI.AI 的网站与控制台主要面向非中国大陆市场,注册与开通功能在你当前地区不可用。

在 Claude Code 中配置 ZetaAPI

将 Claude Code (Anthropic 官方 CLI) 切换为 ZetaAPI 中转,30 秒完成配置并享受官方价约 3–4 折(0.3x–0.4x 倍率),支持 prompt cache。

更新于 2026-10-05

适用场景

Claude Code 是 Anthropic 官方推出的终端命令行工具,通过 npm i -g @anthropic-ai/claude-code 安装后可在本地目录交互式调用 Claude。ZetaAPI 提供与 Anthropic 官方 API 完全兼容的 /v1/messages 端点,切换中转只需设置两个必填环境变量。

准备工作

配置步骤

1. 设置环境变量

在你的 shell 配置文件(~/.zshrc / ~/.bashrc)中添加:

export ANTHROPIC_BASE_URL="https://api.staging.cosmos-router.com"
export ANTHROPIC_API_KEY="sk-你的-zetaapi-key"
export CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1

第三行 CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1 建议保留:Claude Code 只在直连 Anthropic 官方地址时才会流式传输工具参数,指向中转后默认关闭,写大文件时会长时间没有输出,甚至报 The response stopped arriving。开启后工具参数会边生成边返回,不会长时间没有输出。

重新加载配置:

source ~/.zshrc

2. 一键安装(可选)

如果你不想手工改 shell 配置,可以用一行命令完成:

npx --prefer-online zetaapi@latest setup --api-url=https://api.staging.cosmos-router.com claude-code

该命令会把 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN 与 CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1 写入 ~/.claude/settings.json 的 env 块(已有配置会先备份为 settings.json.bak.<时间戳>),并验证连通性。如果 env 里已经设过 CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING,会保留原值,不覆盖。运行后按提示粘贴 Install Token(在控制台「接入配置」或「接入新工具」弹窗中获取,ze_inst_ 开头,5 分钟有效)或直接粘贴 API Key(sk- 开头);CI / 免交互场景可加 --token=ze_inst_xxx 或用环境变量 ZETAAPI_TOKEN。

3. 验证接入

进入任意项目目录后运行:

claude

首次提问后,控制台 Dashboard 会即时显示本次调用的 token 消耗与费用。

常见问题

Q: 为什么我看到 401 Unauthorized?

检查 ANTHROPIC_API_KEY 是否为 ZetaAPI Key(以 sk- 开头),而不是 Anthropic 官方的 sk-ant- Key。

若用 npx zetaapi setup --api-url=https://api.staging.cosmos-router.com 配置,凭证写在 ~/.claude/settings.json 的 env.ANTHROPIC_AUTH_TOKEN——检查该键而非环境变量。

Q: 写大文件时长时间没有输出,最后报 The response stopped arriving 怎么办?

Claude Code 只在直连 Anthropic 官方地址时才会流式传输工具参数。指向中转后,写文件这类工具的参数(比如要写入的文件内容)要等整段生成完才一次性返回;文件很大时可能连续几分钟没有任何输出,Claude Code 会判定连接中断。

在 shell 配置文件或 ~/.claude/settings.json 的 env 中加入 CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1;如果改的是 shell 配置文件,需要重新加载(或新开终端)后再重启 Claude Code。npx zetaapi setup --api-url=https://api.staging.cosmos-router.com claude-code 会自动写入这一项。

Q: 是否支持 prompt cache?

支持。Claude Code 默认启用 ephemeral cache control,ZetaAPI 透传原始 cache 行为,缓存读取价格为输入价 10%,与官方一致。

Q: Sonnet 的上下文为什么只有 200K?如何用满 1M?

Claude Code 连接第三方接口地址时无法自动确认对端是否支持 100 万 token 上下文,因此会保守地按 200K 分配。这是客户端行为,不是 ZetaAPI 的限制。

在会话中手动指定一次即可解除:

/model sonnet[1m]

也可以输入 /model 打开模型选择器,选择带 1M context 的那一项。[1m] 只是 Claude Code 的本地指令,请求发出前会被剥离,实际发送到 ZetaAPI 的模型名仍是 claude-sonnet-5,无需额外配置。

ZetaAPI 已实测跑通 60 万 token 以上的 Sonnet 上下文,Opus 可达 90 万 token 量级。注意超长上下文会让每轮请求都携带完整历史,token 消耗显著上升,建议与下一条的 compact 阈值一起调整。

Q: 可以关闭自动 compact 吗?

可以。在 ~/.claude/settings.json 中加入:

"autoCompactEnabled": false

但更推荐调大触发阈值而不是完全关闭:

/autocompact 500k

取值范围 100K–1M,并会被当前模型的上下文窗口封顶。脚本或 CI 场景可用环境变量 CLAUDE_CODE_AUTO_COMPACT_WINDOW(只接受纯数字,如 500000);启动时加 claude --autocompact 500k 则只对本次运行生效。

完全关闭后,上下文写满时 Claude Code 会直接抛出 Prompt is too long 中断对话,而不是压缩历史后继续。若只是觉得压缩过于频繁,调大阈值通常比彻底关闭更实用。

Q: 切回官方只需要什么?

删除或注释掉 ANTHROPIC_BASE_URL,保留 ANTHROPIC_API_KEY 为 Anthropic 官方 Key 即可。若用 npx zetaapi setup --api-url=https://api.staging.cosmos-router.com 配置,改为删除 ~/.claude/settings.json 中 env 下的 ANTHROPIC_BASE_URL 与 ANTHROPIC_AUTH_TOKEN(该文件有 .bak.<时间戳> 备份可还原)。