两者都是终端代理。两者都让你选择由谁向你收费。区别在于,对各自而言,“供应商”是什么。 对 opencode 来说,供应商是目录条目,而目录就是整个注册表——因此一次安装即可运行多个实验室的模型。对 Claude Code 来说,供应商是必须使用 Anthropic Messages API 的 base URL。本查询中的比较会从使用感受和输出方面给两者排序;决定你一年后还能做什么的,就是这个事实。
并排比较
| Claude Code | opencode | |
|---|---|---|
| 运行位置 | 终端 | 终端 |
| 开发者 | Anthropic | 开源 |
| 默认计费 | Claude 订阅,带有用量窗口 | 从第一次请求起按 token 计费 |
| 供应商模型 | 一个 base URL,使用 Anthropic 协议 | 一个目录——供应商是条目,协议随条目提供 |
| 同时使用多个实验室 | 否 | 是 |
| 更换供应商 | 两个环境变量 | 一个配置块 |
实际配置各自是什么样
# Claude Code — the endpoint is two environment variables, and whatever
# answers there must speak the Anthropic Messages API.
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 alias are the
# newest Opus — pinned here to Opus 5.5, which needs Claude Code v2.1.280 or
# later (run `claude update`). The sonnet alias asks for Sonnet 5.5, which
# Kunavo does not serve: unpinned, /model sonnet, opusplan's execution phase
# and sonnet subagents 404.
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
# opencode — the provider is a catalog entry in opencode.json, and the
# protocol travels with it. OpenAI-compatible in this case:
{
"provider": {
"kunavo": {
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://api.kunavo.com/v1" },
"models": { "claude-sonnet-5": {}, "claude-haiku-4-5": {} }
}
}
}两者都只需几行配置,这种相似性正是重点:围绕这些工具的成本讨论,主要关乎默认设置,而不是工具固有的任何属性。把两者放在同一个端点上,价格差异就消失了——剩下的是每一步各自重新发送多少上下文,这更多取决于你的代码仓库,而不是工具的名称。
不是偏好的那项差异
如果你想让主循环运行 Claude 模型、让后台工作使用更便宜的模型,opencode 可以在一次安装中做到,而 Claude Code 不行——它的低价层同样是 Claude 模型(ANTHROPIC_DEFAULT_HAIKU_MODEL),因为接口呈现为 Anthropic 形状。两种行为都没有错;它们是不同的设计。但这是这两个工具之间唯一一个配置无法抹平的差异,而本查询中的任何比较都没有提到它。
无论哪种形式的成本计算,都在 what Claude Code costs,套餐层级问题见 Opus vs Sonnet vs Haiku。
本页面到此为止
它并不能说明哪个工具写出的代码更好。我们没有对两者在相同任务上进行受控比较,而本查询中确实给它们排名的页面,排的是作者根据自身使用得出的印象——这是一种合理的内容,但不是测量。值得信赖的实验版本是你自己的:让两者使用同一个密钥,运行同一个真实任务,然后查看差异和费用。
各自的设置方式:使用自定义供应商的 opencode和Claude Code 的 API 密钥。如果你还在了解这个领域,Claude Code alternatives会先把工具问题与计费问题分开。
常见问题
opencode 和 Claude Code 有什么区别?
两者都是在终端中运行的代理,也都可以指定你选择的供应商。结构上的区别在于它们如何对待供应商。opencode 从设计上与供应商无关——其模型目录来自 models.dev 注册表,供应商只是一个配置项,因此一次安装就能并行运行多个实验室的模型。Claude Code 则围绕 Anthropic Messages API 构建:它接受自定义 base URL,但该 URL 上的服务必须使用这一协议。一个是带供应商插槽的工具;另一个是带 Anthropic 形状接口的工具。
opencode 比 Claude Code 便宜吗?
两者都不运行模型,因此作为工具来说都不存在谁更便宜——费用来自各自指向的供应商,而且两者都可以指向同一个供应商。不同之处在默认设置:Claude Code 默认使用带有用量窗口的 Claude 订阅,而 opencode 完全没有订阅,从第一次请求起就按 token 计费。如果比较原始配置,看起来像是价格差异;如果把两者放到同一个端点上,差异就消失了,剩下的是每一步各自重新发送多少上下文。
opencode 可以使用 Claude 模型吗?
可以。对 opencode 来说,Claude 模型就是普通的目录条目,可以直接通过 Anthropic 使用,也可以通过任何提供这些模型的网关使用,工具本身不会偏好某个实验室。这正是其供应商模型的意义——同一份安装可以让主循环运行 Claude 模型,同时让后台步骤使用更便宜的模型,而 Claude Code 无法跨实验室做到这一点。
opencode 是 Claude Code 的即插即用替代品吗?
从形式上看,接近:都是读取代码仓库、提出修改并运行命令的终端代理,不要求使用编辑器。从使用习惯上看,不是——命令、配置文件和审批流程都是自己的,因此需要大约一天重新熟悉。是否值得取决于你想要哪一件事:如果你想在不同账单下保留相同工作流,保留 Claude Code 并更改其端点是改动较小的方案;如果你想在一个工具中使用多个实验室,这正是 opencode 的用途。
我应该选哪个?
如果你想运行 Claude 模型,并且看重它已经提供的工作流和审批流程,就选择 Claude Code——如果问题在于订阅上限,再更改其端点。如果你希望供应商选择成为工具的一等属性,就选择 opencode:多个实验室、目录而不是单一接口,以及没有底层套餐的按 token 计费。两者都可以在一个下午内切换回去,这也是不必过度纠结的好理由。
在自定义端点上使用这些工具要花多少钱?
取决于端点按 token 收取的费用——两边都没有工具费。在 Kunavo 上,Claude Sonnet 5 的费用是每 1M tokens 输入 $1.40 / 输出 $7.00,而 Claude Haiku 4.5 是 $0.70 / $3.50,每项都列在供应商自身价格旁边,让比较变得可见而不是口头声称。一个密钥可用于两个工具。