Claude Code 的用法可以浓缩成四步:在项目文件夹中执行 claude、先运行一次 /init 让它生成 CLAUDE.md、用中文描述任务并附上文件路径、查看它提出的修改后再决定是否接受。 它是驻留在终端中的程序助手,会自行读取文件、修改文件、运行测试,并在动手前征求你的同意。登录 Pro/Max 订阅或设置一把按量计费的 API 密钥都可以使用;使用密钥时每一步都按 token 计费,因此日常使用的重点变成三件事——根据任务切换模型、了解一个工作阶段花费多少、保持上下文精简。
网上的 Claude Code 教程几乎都以订阅登录为前提。这一页写给另一类用户:没有订阅,或不想受 5 小时用量窗口限制,改用按量计费密钥的用户。如果还没有安装,请先查看 Claude Code 安装教程,安装并连接后再回来。
第一次上手:四个动作
# 1. 一定要在專案資料夾裡啟動——它能看、能改的範圍就是這個資料夾
cd ~/work/my-app
claude
# 2. 第一個指令:讀過整個 repo,產生 CLAUDE.md
> /init
# 3. 之後直接用中文交代任務,附上檔案路徑最準
> 把 src/api/user.ts 的輸入驗證改用 zod,測試也一起修好
# 4. 牽涉很多檔案的任務,先按 Shift+Tab 切到計畫模式,確認做法再動手它每次要修改文件或执行命令时都会先询问你。方向不对就按 Esc 让它停下,再使用 /rewind 回到之前的检查点,代码和对话会一起回退。/init 生成的 CLAUDE.md 只是草稿,下面有一节专门讲如何把它改短。
使用 API 密钥时,一个工作阶段如何计费
Claude Code 每发送一次请求,都会重新发送系统提示、CLAUDE.md、整段对话和读取过的文件内容,新内容接在末尾。不变的前段会使用缓存:读取缓存按输入价格的 10% 计费,写入缓存按输入价格的 1.25 倍计费。因此,一段工作阶段的账单往往主要来自“重新读取旧对话”。
下表借用 Anthropic 官方成本文档示例中的一段工作阶段——输入 1,200、输出 5,300、读取缓存 940,000、写入缓存 50,000 个 token——换算为 Kunavo 的费率,在四个模型上各计算一次:
| 模型 | 输入 / 输出(每 1M token) | 读取缓存(每 1M token) | 这段工作阶段 |
|---|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.07 | $0.129 |
| Claude Sonnet 5 | $1.40 / $7.00 | $0.14 | $0.258 |
| Claude Opus 5.5 | $2.80 / $14.00 | $0.14 | $0.384 |
| Claude Fable 5 | $7.00 / $35.00 | $0.70 | $1.289 |
在 Claude Sonnet 5 上,这段账单约有 85% 来自缓存读写。换句话说,决定花费的是对话有多长,而不是你输入了多少字——这也是后面“上下文卫生”一节存在的原因。
要查看自己的数字,在 Claude Code 中执行 /usage(/cost 是它的别名),会列出这四种 token 数。但旁边的金额是 Claude Code 使用 Anthropic 牌价在本地估算的;使用 Kunavo 时,实际扣款以后台的 用量页面为准,那里会显示每个模型的 token 数(包括缓存读写)和扣款金额。
根据任务切换模型
先在 ~/.claude/settings.json 的 env 区块中将每个别名映射到实际模型。写入该文件后,编辑器扩展和后台进程也能读取;不要写入会被提交到项目中的 .claude/settings.json。别名必须正确映射:Claude Code 的默认模型和 opus 别名都指向最新的 Opus,Kunavo 如果尚未上线该模型,未配置映射的设置会导致第一个请求收到 404;sonnet 别名指向 Sonnet 5.5,而 Kunavo 不提供该模型,缺少 ANTHROPIC_DEFAULT_SONNET_MODEL 时,/model sonnet、opusplan 的执行阶段以及设置为 model: sonnet 的子代理都会收到 404。下面的设置将 opus 别名映射到 Claude Opus 5.5(claude-opus-5-5),需要 Claude Code v2.1.280 或更高版本;版本较旧时请先执行 claude update。
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.kunavo.com",
"ANTHROPIC_AUTH_TOKEN": "sk-kn-...",
"ANTHROPIC_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5",
"ANTHROPIC_DEFAULT_FABLE_MODEL": "claude-fable-5"
}
}设置完成后,切换只需一行:
# 工作階段裡切換(別名會對應到上面設定的模型)
> /model haiku
> /model sonnet
> /model opus
# 也可以直接打完整名稱
> /model claude-fable-5
# 或在啟動時指定
claude --model claude-opus-5-5/model会将所选模型保存为之后新会话的默认值;如果只想这次更换,请运行不带参数的 /model,然后在菜单中按 s。在 Kunavo 上不能省略ANTHROPIC_DEFAULT_HAIKU_MODEL:如果不设置,haiku别名会请求 Kunavo 未提供的模型名称(从 v2.1.293 起为 Haiku 5.5),/model haiku和设为 haiku 的子代理都会返回 404。它还决定 Claude Code 自己在后台生成摘要和标题时使用哪个模型;将其设为最便宜的模型还能省钱。
| 任务 | 模型 | 每一步(输入 25k / 输出 1.2k,不计缓存) |
|---|---|---|
| 重命名、格式整理、编写 commit 消息、摘要日志 | claude-haiku-4-5 | $0.022 |
| 日常功能开发、修复 bug、补充测试 | claude-sonnet-5 | $0.043 |
| 架构级重构、涉及大量文件的规划 | claude-opus-5-5 | $0.087 |
| 前两者都无法解决的最难问题 | claude-fable-5 | $0.217 |
在 Kunavo,Claude Opus 5.5的价格为 $2.80 / $14.00,Claude Sonnet 5的价格为 $1.40 / $7.00;Claude Haiku 4.5的单价约为Claude Sonnet 5的 1/2,而Claude Fable 5则是其 5 倍。 与官方定价相比:Claude Sonnet 5 比 Anthropic 官方价格便宜约 30%,Claude Opus 5.5 比 Anthropic 官方价格便宜约 30%,Claude Haiku 4.5 比 Anthropic 官方价格便宜约 30%,Claude Fable 5 比 Anthropic 官方价格便宜约 30%。
在任务之间切换模型,不要在任务进行到一半时切换。每个模型的缓存彼此独立:任务做到一半时 /model,下一次请求就必须以未缓存的价格重新读取整段对话(缓存仍然有效时,Claude Code 会先让你确认)。先 /clear 再切换,重新读取的就只剩很短的新对话。思考 token 按输出价格计费,简单任务可以使用 /effort 调低思考程度——同样应在任务开头设置,大多数模型在中途修改 effort 也会使缓存失效。
CLAUDE.md:只写你会反复交代的事情
# CLAUDE.md — 放在專案根目錄,commit 進 git
## 指令
- 測試:npm test(只跑一個檔:npm test -- path/to/file)
- 型別檢查:npx tsc --noEmit
- Lint:npm run lint
## 規則
- 日期一律用 date-fns,不用 moment。
- API handler 只放在 app/api/**/route.ts。
- commit 訊息用繁體中文,前綴 feat / fix / docs。
## 不要動的地方
- db/migrations/ —— 產生出來的檔案,不要手改。CLAUDE.md 会在每个工作阶段开始时加载,之后每次请求都会携带它(大多按读取缓存的价格计费)。Anthropic 建议将一个文件控制在 200 行以内——越长越占用上下文,遵循程度也越差。能够从代码中看出的内容(目录结构、函数说明)不需要写;只想留给人看的备注可以包在 <!-- --> 中,在送入上下文前会被移除。
还有一个常见误解:在工作阶段中途修改 CLAUDE.md 不会立即生效,要等到 /clear、/compact 或重新启动后才会读取新版本。
上下文卫生:让每一步都更便宜
- 不相关的任务之间使用
/clear。它会开启一段全新的对话,本身不花钱;之后可以用/resume找回旧对话。 - 同一任务持续太久时,使用
/compact。可以附上要保留的重点,例如/compact 保留測試輸出和改過的檔案。它需要发送一次摘要请求,趁缓存仍然有效时执行最便宜;离开很久后才 compact,摘要请求就必须以未缓存的价格重新读取整段历史。 - 方向错了就使用
/rewind。回退的是已经缓存过的前段,比 compact 更省。 - 密钥模式下,缓存默认只存活 5 分钟。离开超过 5 分钟后回来,第一步会将整段前文重新写入缓存(按输入价格的 1.25 倍计费)。去开会或吃饭前,先使用
/compact或/clear收尾。 - 使用
/context查看是什么占用了上下文。使用 Kunavo 时,这个数字是本地估算——Kunavo 目前不提供/v1/messages/count_tokens,自动压缩和工作阶段本身不受影响。 - 不需要的 MCP 服务器,在
/mcp中关闭。Anthropic 的文档明确说明,设置自定义ANTHROPIC_BASE_URL后就没有工具搜索(tool search),MCP 工具定义不会延迟加载,而是直接占用每一次请求。 - 交代任务时附上文件路径。“修改一下验证”会让它到处搜索并读取很多文件;“将
src/api/user.ts的验证改为使用 zod”只会读取所需内容。
如果想让它少问几次“可以执行吗”,建议只放行读取和验证类命令;一次性跳过所有确认的标志,只应在可以整体丢弃的环境中使用,理由见 --dangerously-skip-permissions 的说明(英文)。缓存如何计费,请参见缓存文档。
花费上限与付款
在 密钥管理页面为 Claude Code 开一把专用密钥,设置每月花费上限:达到上限后,这把密钥的请求会返回 402,不会继续扣款,失控的循环也只会消耗到上限为止。同一页面还可以设置 IP 白名单。
账户采用预付模式:最低充值 $10,余额不会过期,失败的请求不收费。台湾可以使用国际信用卡(Visa、Mastercard、Amex、JCB、银联)或 Apple Pay、Google Pay 充值,目前没有街口、LINE Pay 这类本地渠道;详情请参阅 Claude Code 费用。
什么时候订阅反而划算
每天长时间交互、一个月运行很多步的人,订阅的固定月费通常比按量计费便宜。判断只需做一次除法:月费 ÷ 每步成本 = 盈亏平衡步数;以 Claude Sonnet 5 每步约 $0.043(不计缓存)估算,一个月运行步数少于这个数字时,按量计费更省,没有开工的月份也是 $0。各方案当前的月费与完整算式放在 Claude Code 费用这一页,这里不重复。
也要明确说明这条路的取舍:通过 Kunavo 使用的是共享容量,没有专属配额,也没有合约 SLA。需要保证配额或 SLA 的团队,应直接向 Anthropic 采购。连接设置的完整说明在 Claude Code 集成文档(英文)。
常见问题
Claude Code 怎么用?
在项目文件夹中打开终端并运行 claude,第一次先运行 /init,让它读取整个项目并生成 CLAUDE.md;然后用中文描述任务并附上文件路径,例如“将 src/api/user.ts 的验证改为使用 zod”。Claude Code 会自行读取文件、修改文件和运行测试,每次修改文件或执行命令前都会先询问你。涉及很多文件的任务,先按 Shift+Tab 切换到计划模式,确认方案后再让它开始执行。
没有 Pro 或 Max 订阅也能使用 Claude Code 吗?
可以。Claude Code 支持使用 API 密钥代替订阅登录:设置 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN 两个环境变量后,它会改为向该端点进行认证,按实际使用的 token 计费,没有月费,也没有 5 小时用量窗口。只要变量仍然存在,已登录的订阅就会被暂停使用;移除变量后,就会恢复订阅。
使用 API 密钥运行 Claude Code,一个工作会话要花多少钱?
以 Anthropic 官方成本文档示范的一段工作会话为例(输入 1,200、输出 5,300、读取缓存 940,000、写入缓存 50,000 个 token),按 Kunavo 费率,在 Claude Sonnet 5 上约为 $0.258,在 Claude Haiku 4.5 上约为 $0.129。其中约 85% 是缓存的读写,也就是反复重新发送的旧对话,因此控制成本的关键是对话长度,而不是你输入了多少字。Claude Code 中 /usage 显示的金额是在本地按 Anthropic 牌价估算的,实际扣款以 Kunavo 后台的用量页面为准。
Claude Code 怎么切换模型?
在工作阶段中输入 /model 加上别名(haiku、sonnet、opus)或完整模型名称,例如 /model claude-opus-5-5;也可以在启动时使用 claude --model 指定。通过网关时,使用 ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL 决定每个别名对应的模型。/model 会将选择保存为之后新工作阶段的默认值;如果只想本次更换,请在不带参数的 /model 菜单中按 s。
任务进行到一半切换模型,会多花钱吗?
会多一次。每个模型的缓存相互独立,中途切换后,下一次请求必须以未缓存价格重新读取整段对话;缓存仍然有效时,Claude Code 会先请你确认。更省钱的做法是在任务之间切换:先使用 /clear 开启新对话,再使用 /model,这样重新读取的只剩很短的新内容。
CLAUDE.md 应该写什么?
只写那些你会反复交代的内容:测试和类型检查命令、项目特有的规则、不能手动修改的生成文件路径。能够从代码中看出的目录结构和函数说明不必写。CLAUDE.md 会在每个工作会话中加载,并随每次请求发送;Anthropic 建议将单个文件控制在 200 行以内。文件越长,占用的上下文越多,遵循程度也越低。
/clear 和 /compact 有什么区别?
/clear 会直接开启一段全新的对话,本身不花钱,适合切换到不相关的任务时使用;之后可以用 /resume 找回旧对话。/compact 会将当前对话浓缩成摘要后继续,适合同一任务持续太久时使用,也可以附上要保留的重点。/compact 本身需要发送一次摘要请求,趁缓存仍然有效时执行最便宜。
可以为 Claude Code 设置花费上限吗?
可以。在 Kunavo 后台为 Claude Code 开一把专用密钥并设置每月花费上限。达到上限后,这把密钥的请求会返回 402,不会继续扣款。账户本身采用预付制,最低充值 $10,余额不会过期,失败的请求不收费。