Claude Code 调用Anthropic 的 Messages API,并读取两个环境变量来决定服务位置——ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN。因此问题可以用一句话回答:任何实现 Messages API 的服务都可以为 Claude Code 提供支持,实际有三种选择——Claude 订阅、Anthropic API 密钥,或 Messages 兼容网关。哪种最好不是功能问题,而是计费模式问题;坦率地说,大多数个人日常用户更适合订阅。本页就是这项决策,并说明每种选择的理由。
利益关系声明:Kunavo 是第三种选择中的一个网关,并不适合所有人——关于何时继续使用订阅的部分不是客套话,而是对很大一部分读者的建议。
三种来源及其用途
| 来源 | 计费模式 | 适用场景 | 硬性限制 |
|---|---|---|---|
| Claude Pro / Max 订阅 | 固定月费 | 可以用满的日常交互使用 | 使用窗口;不适合无人值守或 CI 运行 |
| Anthropic API 密钥 | 按 token,目录价格 | 间歇性使用、自动化、团队密钥管理 | 没有上限——支出随用量增长 |
| Messages 兼容网关 | 按 token,网关价格 | 与上者相同,另可使用一把密钥访问多个供应商 | 取决于网关实现了多少 API 功能 |
正确表述订阅与 API 的比较
这个领域最响亮的说法是,订阅比 API 便宜很多倍——搜索结果中有一页给出的数字是 36 倍。这个数字在算术上没有问题,但基于一个其来源很少明确说明的假设:将用到上限的订阅,与同一工作负载的 token 支出进行比较。在这一假设下,固定费用显然更划算;对于大多数工作日编码并经常达到窗口上限的开发者,确实如此。Anthropic 自己的套餐价格是该计算的输入。
这一假设在四种常见情况下不成立,此时按 token 计费不仅具有竞争力,而且是唯一可行的方式:
- 间歇性使用。连续两周高强度使用、随后一个月清闲很常见,而固定费用不会随用量降为零。
- 无人值守运行。CI 任务、定时代理和脚本化流水线需要密钥,而不是交互式套餐会话。
- 窗口耗尽。套餐的使用窗口用完后,工作会停止,直到窗口重置——在同一套餐内无法付费绕过它。Claude Code 成本页面使用当前数字详细比较了两者。
- 团队和项目级账目。带有独立支出记录的独立密钥属于按 token 计费的概念;个人套餐不是。
实际使用中,两者并不互斥。Claude Code 通过两个环境变量切换,因此常见安排是:日常交互工作使用订阅,在窗口用尽或键盘前无人操作时使用密钥。
Claude Code 实际需要哪些功能
Claude Code 使用的 Messages API 功能比聊天客户端更多,因此“OpenAI 兼容”不是应检查的规格。四项要求决定服务来源是否可用:
/v1/messages,原生支持。Claude Code 使用 Anthropic 的 Messages API,而不是 OpenAI 聊天补全格式。仅提供 OpenAI 兼容性的端点需要在前面增加转换层——这正是Claude Code Router的作用。- 流式传输。每个响应都采用流式传输;只支持缓冲回复的来源会立即失败。
- 提示词缓存。这决定了账单。Claude Code 每轮都会重新发送大型系统提示词和文件上下文,因此未缓存输入会占据账单的大部分——缓存输入的价格远低于新输入,不支持缓存的来源可能让相同工作贵出数倍。
- 你计划使用的模型 ID 和上下文长度。检查具体 slug,而不是只看系列名称。
选项 3 详解:将 Claude Code 指向网关
兼容 Messages 的网关像 Anthropic API 一样按令牌计费,但有两点差异可能对你重要,也可能不重要:单位价格可能低于 Anthropic 的目录价格,并且一个密钥可以访问多个服务商的模型。Kunavo 实现了带流式传输和提示词缓存的 /v1/messages,并将 Claude Sonnet 5 列为每 100 万个令牌 $1.40 / $7.00,而 Anthropic 的价格为 $2.00 / $10.00。设置包括两个变量和四个模型固定项——会话模型以及 opus、sonnet 和 haiku 别名:
# Claude Code reads these two variables. Set them and it bills
# per token against a key; unset them and it goes back to your plan.
# Note the base URL is the origin — no /v1 suffix.
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-...
# Pin models Kunavo serves: Claude Code's default and its opus/sonnet aliases
# follow Anthropic's newest models. The sonnet alias asks for Sonnet 5.5, which
# Kunavo does not serve, so /model sonnet, opusplan's execution phase and
# sonnet subagents 404 without the sonnet pin. The opus pin (Opus 5.5) needs
# Claude Code v2.1.280 or later (claude update).
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5
claude
# Back to the subscription:
# unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN包含模型覆盖变量以及验证连接方法的完整设置,请参阅Claude Code 集成页面。如果你想保留订阅,仅在窗口用尽时切换到密钥,cc-switch可以管理切换。
何时继续使用订阅
如果你在大多数工作日交互式使用 Claude Code,一次一个会话,并且经常达到使用窗口上限,那么套餐更便宜,任何网关都无法胜过它——固定费用确实在为你发挥作用。当使用模式发生变化时,再切换或额外添加密钥:无人值守运行、用量波动的月份、多个并发会话或项目级支出记录。这就是完整的决策,对很大一部分读者而言,答案到这里就结束了。
此搜索中的其他结果实际讨论什么
值得说明这一点,因为该短语存在歧义,排名靠前的大多数页面回答的是另一个问题。“Claude API 的最佳 AI 客户端”指聊天前端,这是另一项决策,见客户端集成。“与 Claude Code 搭配使用的最佳 API”通常指让代理调用的数据和集成服务——MCP 服务器及 SaaS 连接器,而不是模型来源。“Claude Code 替代方案”指替换工具本身,即编程代理的比较。如果你要找的是这三类内容之一,应改读对应页面。
常见问题
Claude Code 使用什么 API?
Claude Code 调用 Anthropic 的 Messages API。它读取两个环境变量——ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN——因此,任何在该基础 URL 上实现 Messages API 的服务都可以为它提供服务:Anthropic 官方服务,或兼容网关。设置这些变量后,Claude Code 会根据该密钥按 token 计费;取消设置后,它会恢复使用你的 Claude 订阅。
使用订阅还是 API 密钥运行 Claude Code,哪个更便宜?
这取决于你能否充分用满订阅。Claude Pro 或 Max 套餐是固定月费,并设有使用窗口;API 按 token 计费,没有上限,也没有使用窗口。如果你在大多数工作日编码,并经常达到窗口上限,订阅的单位工作成本会低得多——“API 贵很多倍”的说法真正基于这一点。如果你是间歇性使用、在 CI 中无人值守运行、需要多个并发会话,或希望安静月份的支出降为零,则按 token 计费更有利。大多数个人日常用户更适合订阅。
不订阅 Claude 可以使用 Claude Code 吗?
可以。设置 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN,让它使用 API 密钥而不是套餐——工具相同,只是计费来源不同。该密钥可以是 Anthropic API 密钥,也可以是 Messages 兼容网关的密钥。Claude Code 是否免费完整介绍了套餐方面的情况。
将 Claude Code 指向网关前应检查什么?
需要检查四点,因为 Claude Code 使用的 Messages API 功能比聊天应用更多。第一,确认是 /v1/messages 端点本身,而不只是 OpenAI 兼容的 /v1/chat/completions。第二,流式传输——Claude Code 的每个响应都采用流式传输。第三,提示词缓存,因为 Claude Code 每轮都会重新发送大型系统提示词和文件上下文,未缓存输入是账单中最大的一项。第四,长上下文以及你计划使用的模型 ID。只支持聊天补全而不支持这些功能的网关,看似可以工作,却会在会话中途失败。
Claude Code 支持 OpenAI 兼容端点吗?
不能直接支持——它使用 Anthropic 的 Messages API,而不是 OpenAI 聊天补全格式。仅提供 OpenAI 兼容性的端点需要中间转换层,这正是 Claude Code Router 等工具存在的原因。原生实现 /v1/messages 的网关无需转换。
Claude Code 应使用哪个模型?
Claude Code 默认使用前沿模型进行推理,并使用小型模型处理常规调用;两者都可以通过其设置进行配置。在 Kunavo,Claude Opus 5.5 的价格为每 100 万个令牌 $2.80 / $14.00,而 Claude Sonnet 5 的价格为 $1.40 / $7.00,两个层级之间的成本差异很大——因此,模型选择对账单的影响大于服务商选择。