Claude Code 国内配置实录:settings.json 一步接入 + Prompt Cache 透传

KingFlow · 国内直连 AI API 中转

KingFlow

折腾 Claude Code 大半年,被问最多的一句话是"国内到底怎么配才能跑起来、还不掉缓存"。这篇不讲虚的,就当我把自己 ~/.claude/settings.json 摊开给你看,一个文件从头配到尾,再教你验证 Prompt Cache 是不是真的透传下来了——这一步很多人漏掉,结果白白多花几倍的钱。

一、直连 Anthropic 在国内为什么走不通:三关

先说清楚为什么不能直接连官方,省得你去踩我踩过的坑。

注册关。 Anthropic 账号要绑美区信用卡,国内双币 Visa/Master 的 BIN 段几乎全被拒。我拿三张不同银行的卡试过,全部支付失败,最后只能作罢。

网络关。 Anthropic 对国内 IP 有限制。Claude Code 不是问一句答一句,它是高频长连接的 Agent,读文件、跑命令、看报错反复往返,机场代理的出口 IP 三五分钟就暴露,连发 403/429。你正重构到一半突然断流,那种感觉很崩。

风控关。 设备指纹加出口 IP 频繁切换,很容易被判定异常直接冻结账号,然后系统自动退费——号没了,钱退回来,活儿还没干。

三关叠加,直连这条路对绝大多数国内开发者是堵死的。

二、为什么我选国内中转(KingFlow)

摆在面前其实只有两条路。

一条是官方 API 加自建专线代理:你得先有美区身份和支付能力,再租一条稳定的住宅或商业专线代理,而且代理必须透明转发原始 request body——任何对 systemmessagescache_control 的解析重组,都会破坏 Prompt Cache 的哈希一致性,缓存直接失效。专线月租一两百,加上 API 费用,算下来不便宜,维护也累。

另一条,也是我现在长期在用的,就是走国内 Claude API 中转,用的是 KingFlow。选它的核心理由是:它走的是 Anthropic 官方 /v1/messages 协议,不是那种反代 Cursor/Kiro 逆向出来的接口。逆向接口有两个致命问题——不支持 Prompt Cache,而且 Anthropic 一更新协议就挂。官方协议这条底线,我认为是评估任何中转站的第一道门槛。

三、核心:只改 ~/.claude/settings.json 一个文件

接入真的只动一个文件,不用改环境变量、不用装插件。完整配置贴在下面,直接抄:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://www.kingflow.ai",
    "ANTHROPIC_AUTH_TOKEN": "在 KingFlow 后台领取的 API Key",
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
  },
  "effortLevel": "medium"
}

逐个参数说清楚,别照抄了还不知道每一项在干嘛:

存盘,重开 Claude Code,直接就能用了。

四、Prompt Cache 到底有没有真透传?教你验证

这是全文最该记住的一段。Claude Code 的输入 token 远大于输出(它每次都要把大段上下文喂进去),Prompt Cache 能把成本砍掉 50%-90%,缓存部分按 Anthropic 官方 0.1x 输入价计费。所以中转站有没有把缓存原样透传,直接决定你的账单。

验证方法很朴素:构造一个带 cache_control 的请求,连发两次,看第二次返回的 usage.cache_read_input_tokens 是不是非零。

curl https://www.kingflow.ai/v1/messages \
  -H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 64,
    "system": [
      {"type": "text", "text": "这里放一大段稳定的系统提示,长度要够,让它值得被缓存……",
       "cache_control": {"type": "ephemeral"}}
    ],
    "messages": [{"role": "user", "content": "ping"}]
  }'

第一次返回你会看到 cache_creation_input_tokens 有值(写缓存),cache_read_input_tokens 为 0。紧接着原样再发一次,第二次若 cache_read_input_tokens 变成非零,说明缓存被官方接住并透传回来了——这才是真透传。如果两次都是 0,那这家中转多半在中间重组了 request body,缓存哈希对不上,趁早换。我在 KingFlow 上这一步是过的,第二次稳定读到缓存。

五、延迟与汇率对比:为什么国内节点省心又省钱

同样一次首字响应(TTFT),服务器位置差出来的体感是数量级的:

节点位置 TTFT(首字延迟) 是否需要代理 综合体验
美国 California 40-50s 需稳定专线 长任务频繁掉线
日本 Tokyo 15-25s 需代理 可用但偶尔卡顿
国内节点(KingFlow) 1-3s 无需代理 顺滑,接近本地

延迟之外还有一笔隐性账——内部汇率。不同平台的计价差价能到 3 倍,也就是同样充 100 块,能跑的请求数可能差三倍。这块建议你别只看标价,用第四节的方法实测几天缓存命中,再结合汇率算真实单价。

六、FAQ

Q1:ANTHROPIC_BASE_URL 要不要带 /v1 Claude Code 里填根域名 https://www.kingflow.ai 就行,客户端会自己拼 /v1/messages。但你手动跑 cURL 验证缓存时,路径要写全 https://www.kingflow.ai/v1/messages

Q2:配好了报 401 怎么办? 先确认没有残留的 ANTHROPIC_API_KEY 环境变量在跟 settings.json 里的 ANTHROPIC_AUTH_TOKEN 打架。清掉旧环境变量、重开终端,九成能解决。

Q3:能路由到别的模型吗? 可以。Claude Code 走 Anthropic 协议,日常小改用 claude-haiku-4-5 压成本,中等任务 claude-sonnet-4-6,跨文件大重构或架构决策再上 claude-opus-4-8/model 随时切,混着用比全程旗舰省不少。

Q4:API_TIMEOUT_MS 设 50 分钟会不会太夸张? 不会。这只是上限,短任务该秒回还是秒回,它只在长任务真跑到那么久时兜底,避免被中途掐断。留大一点纯赚安心。

收个尾

整套流程就一句话:改 ~/.claude/settings.json 一个文件接入 KingFlow,然后用连发两次看 cache_read_input_tokens 的办法确认 Prompt Cache 真透传。国内节点 1-3s 的 TTFT、不用挂代理、缓存不掉、汇率友好,对我这种每天泡在终端里的人来说,这就是最省心的组合。建议先小额充值,把上面的验证跑通、把一周的真实工作流跑顺,再决定要不要长期用。