摘要:
如果你用了 ECC(第六篇) ECC 仓库里有一份官方 token-optimization.3-5¥90-150V4-Flash + 关 Thinking(简单任务)重启 Claude Code claude
十一、日常维护 11.
Windows · Claude Code CLI · DeepSeek V4 API · settings.json · 2026-05-03
一句话定位:用 DeepSeek 当 Claude Code 后端,API 套餐几天就见底?这篇拆解 Claude Code 每次对话的 token 构成,给出六条可立刻落地的省费策略,把月账单压到 ¥30 以内。
阅读前提(硬条件,可逐条验证):
claude
读完能得到什么:
/compact
如果你还没配好 DeepSeek 端点,先完成这一步。已经配好的跳到第三节。
打开 Claude Code 的 settings.json(位置:C:\Users\<用户名>\.claude\settings.json),写入:
C:\Users\<用户名>\.claude\settings.json
{ "env": { "ANTHROPIC_API_KEY": "sk-你的DeepSeek-API-Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro" } }
关键解释: 1. ANTHROPIC_BASE_URL — Claude Code 原生调用 Anthropic API。设为 DeepSeek 的 Anthropic 兼容端点后,所有请求自动路由到 DeepSeek。ANTHROPIC_API_KEY 填的是 DeepSeek 的 Key,不是 Anthropic 的 Key。 2. 模型名白名单 — 最容易踩的坑:Claude Code 内置了 Anthropic 模型名白名单,model 字段只能填 sonnet、opus、haiku 这三个别名。直接写 deepseek-v4-flash 会被拒绝。然后通过 ANTHROPIC_DEFAULT_*_MODEL 环境变量把这些别名映射到 DeepSeek 的实际模型名。 3. 为什么 Sonnet/Haiku 都用 V4-Flash:日常编码 V4-Flash 就够了,便宜十倍。只有 Opus(最复杂任务)才路由到 V4-Pro。这样 Claude Code 在用子代理、读文件、搜索等轻量任务时自动走便宜模型,只有你要深度推理时才切 /model opus 走 V4-Pro。
关键解释:
1. ANTHROPIC_BASE_URL — Claude Code 原生调用 Anthropic API。设为 DeepSeek 的 Anthropic 兼容端点后,所有请求自动路由到 DeepSeek。ANTHROPIC_API_KEY 填的是 DeepSeek 的 Key,不是 Anthropic 的 Key。
ANTHROPIC_BASE_URL
ANTHROPIC_API_KEY
2. 模型名白名单 — 最容易踩的坑:Claude Code 内置了 Anthropic 模型名白名单,model 字段只能填 sonnet、opus、haiku 这三个别名。直接写 deepseek-v4-flash 会被拒绝。然后通过 ANTHROPIC_DEFAULT_*_MODEL 环境变量把这些别名映射到 DeepSeek 的实际模型名。
model
sonnet
opus
haiku
deepseek-v4-flash
ANTHROPIC_DEFAULT_*_MODEL
3. 为什么 Sonnet/Haiku 都用 V4-Flash:日常编码 V4-Flash 就够了,便宜十倍。只有 Opus(最复杂任务)才路由到 V4-Pro。这样 Claude Code 在用子代理、读文件、搜索等轻量任务时自动走便宜模型,只有你要深度推理时才切 /model opus 走 V4-Pro。
/model opus
# 启动 Claude Code claude # 在 Claude Code 对话中直接问 用一句话回复我:你现在用的是什么模型?
预期输出类似:
我是 DeepSeek-V4-Flash,由深度求索公司开发。
如果返回 "Claude" 相关字样,说明端点没生效,检查 ANTHROPIC_BASE_URL 是否拼写正确(注意末尾不要多 /v1 或 /chat)。
/v1
/chat
Claude Code 每次发给 DeepSeek 的请求,不是只有你写的那句话。实际发送的是一大包东西:
┌─ System Prompt ──────────────────────────┐ │ Claude Code 内置指令(角色、约束、规则) │ ≈ 3000-6000 tokens │ + 当前目录结构快照 │ ≈ 500-1500 tokens │ + CLAUDE.md 项目指令(如果有) │ ≈ 0-3000 tokens ├─ 工具定义 ───────────────────────────────┤ │ 所有 tool 的 JSON Schema │ ≈ 2000-4000 tokens │ (读文件、写文件、执行命令、搜索等) │ ├─ 对话历史 ───────────────────────────────┤ │ 之前的每一条用户消息 + 助手回复 + 工具调用 │ 随轮次增长 ├─ 当前消息 ───────────────────────────────┤ │ 你刚刚输入的内容 │ ≈ 50-500 tokens └───────────────────────────────────────────┘ = 总输入 tokens(全部按 DeepSeek 输入价格计费)
关键事实:即使你只打了一个字 "hi",每次请求的输入 token 起步就是 8000+。这是 Claude Code 的"固定税"。
Claude Code 的工作模式是"读 → 想 → 做 → 再看 → 再做"的循环。一次"帮我改这个 bug"可能触发:
你: "帮我修复 extract_subtitles.py 里的 bug" → Claude: 调用 Read 工具读取文件 ← +文件内容(2000 tokens) → Claude: 调用 Grep 工具搜索相关代码 ← +搜索结果(1500 tokens) → Claude: 调用 Edit 工具修改代码 ← +diff 内容(800 tokens) → Claude: 调用 Bash 工具运行测试 ← +测试输出(3000 tokens) → Claude: 给你最终回复 ← +回复文本(500 tokens)
每一步都是一次独立的 API 调用,而且前面步骤的结果会累积到下一轮的输入中。
这是 V4-Flash 的单价。如果用的 V4-Pro(75% 折扣价),同样交互约 ¥0.18。 Claude Code 不是聊天工具——它是干活的。 一次"帮我改 bug"就触发 4-5 次 API 调用(读文件 → 搜索 → 编辑 → 跑测试 → 回复)。实打实写一天代码,100-200 次 API 调用是常态。 日调用量V4-Flash 日费V4-Pro 日费(折扣)V4-Flash 月费V4-Pro 月费(折扣)100 次¥5.4¥18¥162¥540200 次¥10.8¥36¥324¥1080 看到了吗?用 V4-Pro 不做任何优化,月烧 300-1000 元非常容易。接下来每条策略都在砍这个数字。
这是 V4-Flash 的单价。如果用的 V4-Pro(75% 折扣价),同样交互约 ¥0.18。
Claude Code 不是聊天工具——它是干活的。 一次"帮我改 bug"就触发 4-5 次 API 调用(读文件 → 搜索 → 编辑 → 跑测试 → 回复)。实打实写一天代码,100-200 次 API 调用是常态。
看到了吗?用 V4-Pro 不做任何优化,月烧 300-1000 元非常容易。接下来每条策略都在砍这个数字。
这条最重要,改一行配置就能落地。
DeepSeek V4 系列有两个模型:
Claude Code 的日常编码工作,90% 用 V4-Flash 足够。 只有多文件重构、复杂算法设计才需要切 V4-Pro。
// settings.json — 通过别名映射实现模型分级 { "env": { "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro" } }
在对话中临时切模型(注意:用的是 Claude Code 的别名,不是 DeepSeek 模型名):
/model sonnet ← 日常用,实际走 V4-Flash /model haiku ← 轻量任务(子代理、文件搜索),V4-Flash /model opus ← 复杂推理,实际走 V4-Pro
DeepSeek V4 默认开启 Thinking Mode(链式推理)。模型在输出最终回答之前,先输出一段 reasoning_content(推理链),这部分也按输出价格计费。
reasoning_content
实测对比:
Claude Code 的大部分交互是"读文件 → 改代码 → 跑测试",属于操作性任务而非推理任务,不需要 Thinking Mode。
DeepSeek 的 Anthropic 兼容端点默认行为取决于模型配置。当前 DeepSeek 的 /anthropic 端点对 Thinking Mode 的处理方式:在请求中显式传 thinking: {type: "disabled"} 才能关闭。
/anthropic
thinking: {type: "disabled"}
截至 2026 年 5 月,Claude Code 的 provider 配置还不原生支持控制 Thinking Mode 开关。实际省费策略:
/model deepseek-v4-flash
deepseek-chat
何时该开 Thinking:架构设计、多文件重构方案、复杂算法实现。简单的做法是用 V4-Flash 做完日常操作,遇到需要深度推理的任务切 V4-Pro + /model deepseek-v4-pro。
/model deepseek-v4-pro
Claude Code 内置的 /compact 命令会把对话历史压缩为摘要,砍掉大部分历史 token,只保留关键上下文。
什么时候该 /compact:
# 在 Claude Code 对话中直接输入 /compact
输出示例:
Context compacted: 32 messages → summary (reduced ~18000 tokens)
注意:/compact 会丢失细节(之前聊的具体代码片段、报错日志等)。如果当前任务还没完,先别 compact。
很多人习惯在一个 Claude Code 会话里连续做多个不相关的任务,导致对话历史越来越长。
更好的做法:
原因:Claude Code 的 system prompt + 工具定义是固定开销(≈8000 tokens)。开一个新会话固然要重新交这笔税,但如果老会话已经滚到 30000+ tokens 的历史,继续用老会话比开新的更费钱。
算一笔账:
新会话省了 4 倍输入费用。 但当任务本身需要之前的完整上下文时(比如在改同一个文件的不同部分),继续用老会话是对的——没有上下文的修改可能出错,出错重来更费钱。
DeepSeek 使用动态并发限制。Claude Code 的工作模式是顺序的(一个工具调用完成后再发下一个),一般不会触发并发限制。但在以下情况可能出问题:
建议:
// settings.json — 如果你用 ECC 或自定义脚本批量调用 { "env": { "ANTHROPIC_API_KEY": "sk-你的Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic" } }
在 DeepSeek 控制台设置,不需要写代码。
此外,DeepSeek 控制台提供按天/按小时的用量图表,定期看一眼能快速发现异常:
综合以上六条策略 + 社区验证的最佳实践,这是一份可直接粘贴的生产级配置:
{ "env": { "ANTHROPIC_API_KEY": "sk-你的DeepSeek-API-Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro", "MAX_THINKING_TOKENS": "10000", "CLAUDE_MAX_CONTEXT_WINDOW": "200000", "CLAUDE_AUTOCOMPACT_PCT": "50", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" } }
逐字段解释:
ANTHROPIC_DEFAULT_HAIKU_MODEL
ANTHROPIC_DEFAULT_SONNET_MODEL
ANTHROPIC_DEFAULT_OPUS_MODEL
MAX_THINKING_TOKENS
CLAUDE_MAX_CONTEXT_WINDOW
CLAUDE_AUTOCOMPACT_PCT
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
关于 MAX_THINKING_TOKENS:这个值控制 DeepSeek Thinking Mode 每次请求最多输出多少推理链 token。设为 10000 意味着复杂任务仍然能深度推理,但不会失控飙到 30000+。简单任务(翻译、格式化)可考虑在对话中通过其他方式关闭 Thinking。
ECC 仓库里有一份官方 token-optimization.md,建议在 rules 里追加省费规则:
# 省费规则 - 每个任务完成后主动提示用户是否需要 /compact - 发现对话超过 20 轮时,提示用户考虑开新会话 - 简单代码操作(读文件、格式化、翻译)默认关 thinking - 子代理任务用 haiku,不要用 sonnet/opus
以 "每天 150 次 API 调用,每次平均 15000 输入 + 600 输出 tokens,每月 30 天"的实打实编码工作为例(注意这是 Claude Code 的实际工作模式——每次工具调用都算一次 API 请求,150 次/天是正常编码节奏):
从 ¥450 压到 ¥30——差距 15 倍。最上面那行就是"月烧 300"的真相:V4-Pro 默认 Thinking 全开、一个会话用一整天、从不 compact。最下面那行是把六条策略全用上之后的数字。 省到极端也有反效果——为省钱不开 Thinking,复杂推理任务出错重来,反而更贵。建议目标:V4-Flash + 简单任务关 Thinking + 定期 /compact,月费 ¥30-60,这是性价比最优区间。
从 ¥450 压到 ¥30——差距 15 倍。最上面那行就是"月烧 300"的真相:V4-Pro 默认 Thinking 全开、一个会话用一整天、从不 compact。最下面那行是把六条策略全用上之后的数字。
省到极端也有反效果——为省钱不开 Thinking,复杂推理任务出错重来,反而更贵。建议目标:V4-Flash + 简单任务关 Thinking + 定期 /compact,月费 ¥30-60,这是性价比最优区间。
前面六条策略是你自己可以做的。这一章介绍社区已经存在的项目和工具,能进一步帮你在 Claude Code 上省 DeepSeek 费用。
GitHub: MG-Cafe/claudecode-deepseek-stack
最直接的项目——专门做 Claude Code + DeepSeek 的配置。作者实测:一天 412 次工具调用,总花费 $6.84(Anthropic Opus 同等量级需三位数美元)。成本直降 95 倍。
它做的事情就是本文第二章和第五章讲的那些配置,但封装成了即用方案。核心思路和本文一致:通过 ANTHROPIC_DEFAULT_*_MODEL 做模型分级映射。
npm: @musistudio/claude-code-router
如果你不只满足于"DeepSeek 一种后端",还想把 Gemini、GLM、Ollama 本地模型也用上——这个工具提供了一个可视化 Web 管理界面,按场景自动把请求路由到不同模型:
你: "帮我修这个 bug" → Router 判断: 日常编码任务 → 路由到 DeepSeek V4-Flash 你: "设计这个模块的架构" → Router 判断: 深度推理任务 → 路由到 DeepSeek V4-Pro(或 Claude Opus)
核心配置示例:
{ "Router": { "default": "deepseek,deepseek-chat", "think": "deepseek,deepseek-reasoner", "background": "ollama,qwen2.5-coder:latest", "longContext": "openrouter,google/gemini-2.5-pro", "longContextThreshold": 60000 } }
default
think
background
longContext
适合:有多个 API Key、想极致省钱的用户。把"体力活"路由到本地免费模型,"脑力活"才用付费 API。
npm: @houtini/lm
一个 MCP 服务器,让 Claude Code 把边界清晰的简单任务分流到更便宜的模型执行,Claude 只负责架构决策和最终 QA。
工作原理:
Claude Code(主编,负责规划 + 审查) │ ├─ 复杂推理、架构设计 → Claude 自己做 │ └─ 体力活 → houtini-lm → 便宜模型执行 · 生成测试桩 · 代码审查、解释函数 · 写 commit message · 格式转换(JSON↔YAML) · 生成 mock 数据 · 写类型定义
配置:
# 分流到 DeepSeek(最便宜的云端方案) claude mcp add houtini-lm \ -e HOUTINI_LM_ENDPOINT_URL=https://api.deepseek.com \ -e HOUTINI_LM_API_KEY=sk-你的Key \ -- npx -y @houtini/lm # 或者分流到本地 Ollama(完全免费) claude mcp add houtini-lm \ -e HOUTINI_LM_ENDPOINT_URL=http://localhost:11434/v1 \ -e HOUTINI_LM_MODEL=qwen2.5-coder:latest \ -- npx -y @houtini/lm
每次分流调用都会显示节省统计:
💰 Claude quota saved — this session: 4,283 tokens / 7 calls
适合:日常编码量大的开发者。把 boilerplate 类工作丢给便宜模型,Claude 的 token 只用在刀刃上。
建议路线:先用 claudecode-deepseek-stack 的配置思路(本文第二章+第五章)把 DeepSeek 端点配好——这是省费的基本盘。日常编码量大到一定程度后,再考虑上 houtini-lm 做任务分流,或者上 claude-code-router 把本地 Ollama 也用起来。
claudecode-deepseek-stack
houtini-lm
claude-code-router
# 在 Claude Code 里问 > 你用的是什么模型? 我是 Claude,由 Anthropic 开发的 AI 助手。
或者明显感觉费用不对——DeepSeek 控制台看不到对应用量。
Claude Code 的 settings.json 中 ANTHROPIC_BASE_URL 配置没生效,请求仍然发往 Anthropic 官方 API。常见原因:
settings.json
~/.claude/settings.json
# 1. 确认 settings.json 位置 ls $env:USERPROFILE\.claude\settings.json # 2. 检查 JSON 格式 python -c "import json; json.load(open(r'$env:USERPROFILE\.claude\settings.json')); print('JSON OK')" # 3. 检查环境变量冲突 echo $env:ANTHROPIC_API_KEY # 如果有值但和 DeepSeek Key 不同 → 用下面的方式覆盖
// settings.json — 确保 env 在最外层 { "env": { "ANTHROPIC_API_KEY": "sk-你的DeepSeek-Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic" }, "model": "deepseek-v4-flash" }
# 重启 Claude Code 后测试 claude # 输入: 用一句话告诉我你是什么模型 # 预期: 提到 DeepSeek 或 deepseek
# Claude Code 光标一直转,30 秒后才回复 # 或者直接报错 Connection error: The read operation timed out
两种可能:
# 方案 1: 压缩上下文 /compact # 方案 2: 如果 compact 无效,保存进度开新会话 # 先把当前的关键结论复制到记事本,然后 /clear # 方案 3: 等待重试(高峰期) # 通常 1-2 分钟后恢复正常
# compact 后问一个简单问题测试响应速度 > 回复一个字:好 # 预期: 秒回
打开 platform.deepseek.com → 用量统计 → 今天已消费 ¥15.00 但你记得今天只用了 Claude Code 几次。
API Key 泄露或共享。常见途径:
# 1. 立即在 DeepSeek 控制台重新生成 API Key # https://platform.deepseek.com/api_keys → 删除旧 Key → 创建新 Key # 2. 检查是否有后台进程 Get-Process python -ErrorAction SilentlyContinue # 3. 检查 git 仓库是否泄露了 Key cd C:\Users\<用户名>\.claude git log --all --full-history -- '**/settings.json'
# 更新 settings.json 中的 Key 为新 Key # 重启 Claude Code claude # 确认能正常使用 → 去 DeepSeek 控制台看旧 Key 的用量是否停止增长
这几个命令在对话中输入即可,是日常省费的"仪表盘":
/cost
/context
/clear
/model sonnet
# 每天开始工作时的标准操作 /cost # 看昨天花了多少钱 /context # 确认上下文干净 /model sonnet # 确认用的是便宜模型
打开 platform.deepseek.com/top_up,扫一眼:
建议每 3 个月更换一次 API Key:
Ctrl+C
"deepseek-v4-flash"
"https://api.deepseek.com/anthropic"
"sk-你的Key"
AuthenticationError
RateLimitError
Connection error
暂无回复,快来抢沙发吧!
本次需消耗银元:
100
当前账户余额: 0 银元
如果你用了 ECC(第六篇) ECC 仓库里有一份官方 token-optimization.3-5¥90-150V4-Flash + 关 Thinking(简单任务)重启 Claude Code claude
确认能正常使用 → 去 DeepSeek 控制台看旧 Key 的用量是否停止增长
十一、日常维护 11.
一、这篇教程解决什么问题
一句话定位:用 DeepSeek 当 Claude Code 后端,API 套餐几天就见底?这篇拆解 Claude Code 每次对话的 token 构成,给出六条可立刻落地的省费策略,把月账单压到 ¥30 以内。
阅读前提(硬条件,可逐条验证):
claude能进入交互界面)读完能得到什么:
/compact、模型切换、会话管理三条行为层面的省费习惯二、前置步骤:配置 DeepSeek 为 Claude Code 后端
如果你还没配好 DeepSeek 端点,先完成这一步。已经配好的跳到第三节。
2.1 settings.json 最小配置
打开 Claude Code 的 settings.json(位置:
C:\Users\<用户名>\.claude\settings.json),写入:{ "env": { "ANTHROPIC_API_KEY": "sk-你的DeepSeek-API-Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro" } }2.2 验证配置
预期输出类似:
如果返回 "Claude" 相关字样,说明端点没生效,检查
ANTHROPIC_BASE_URL是否拼写正确(注意末尾不要多/v1或/chat)。三、理解 Claude Code 的 API 调用开销
3.1 一次对话的真实 token 构成
Claude Code 每次发给 DeepSeek 的请求,不是只有你写的那句话。实际发送的是一大包东西:
┌─ System Prompt ──────────────────────────┐ │ Claude Code 内置指令(角色、约束、规则) │ ≈ 3000-6000 tokens │ + 当前目录结构快照 │ ≈ 500-1500 tokens │ + CLAUDE.md 项目指令(如果有) │ ≈ 0-3000 tokens ├─ 工具定义 ───────────────────────────────┤ │ 所有 tool 的 JSON Schema │ ≈ 2000-4000 tokens │ (读文件、写文件、执行命令、搜索等) │ ├─ 对话历史 ───────────────────────────────┤ │ 之前的每一条用户消息 + 助手回复 + 工具调用 │ 随轮次增长 ├─ 当前消息 ───────────────────────────────┤ │ 你刚刚输入的内容 │ ≈ 50-500 tokens └───────────────────────────────────────────┘ = 总输入 tokens(全部按 DeepSeek 输入价格计费)关键事实:即使你只打了一个字 "hi",每次请求的输入 token 起步就是 8000+。这是 Claude Code 的"固定税"。
3.2 工具调用才是最烧 token 的环节
Claude Code 的工作模式是"读 → 想 → 做 → 再看 → 再做"的循环。一次"帮我改这个 bug"可能触发:
你: "帮我修复 extract_subtitles.py 里的 bug" → Claude: 调用 Read 工具读取文件 ← +文件内容(2000 tokens) → Claude: 调用 Grep 工具搜索相关代码 ← +搜索结果(1500 tokens) → Claude: 调用 Edit 工具修改代码 ← +diff 内容(800 tokens) → Claude: 调用 Bash 工具运行测试 ← +测试输出(3000 tokens) → Claude: 给你最终回复 ← +回复文本(500 tokens)每一步都是一次独立的 API 调用,而且前面步骤的结果会累积到下一轮的输入中。
3.3 实测:一次典型交互的 token 消耗
四、六步省费策略
策略一:用 V4-Flash 而不是 V4-Pro(省 60-70%)
这条最重要,改一行配置就能落地。
DeepSeek V4 系列有两个模型:
Claude Code 的日常编码工作,90% 用 V4-Flash 足够。 只有多文件重构、复杂算法设计才需要切 V4-Pro。
// settings.json — 通过别名映射实现模型分级 { "env": { "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro" } }在对话中临时切模型(注意:用的是 Claude Code 的别名,不是 DeepSeek 模型名):
策略二:关闭 Thinking Mode(省 50-70% 输出费用)
DeepSeek V4 默认开启 Thinking Mode(链式推理)。模型在输出最终回答之前,先输出一段
reasoning_content(推理链),这部分也按输出价格计费。实测对比:
Claude Code 的大部分交互是"读文件 → 改代码 → 跑测试",属于操作性任务而非推理任务,不需要 Thinking Mode。
DeepSeek 的 Anthropic 兼容端点默认行为取决于模型配置。当前 DeepSeek 的
/anthropic端点对 Thinking Mode 的处理方式:在请求中显式传thinking: {type: "disabled"}才能关闭。截至 2026 年 5 月,Claude Code 的 provider 配置还不原生支持控制 Thinking Mode 开关。实际省费策略:
/model deepseek-v4-flash时,在 DeepSeek 平台侧确认默认行为。如果默认开启 Thinking → 考虑换deepseek-chat(旧模型,行为更确定,2026-07-24 才弃用)策略三:善用
/compact命令(省 30-50% 输入费用)Claude Code 内置的
/compact命令会把对话历史压缩为摘要,砍掉大部分历史 token,只保留关键上下文。什么时候该
/compact:输出示例:
Context compacted: 32 messages → summary (reduced ~18000 tokens)策略四:一个任务一个会话(省 20-30% 总费用)
很多人习惯在一个 Claude Code 会话里连续做多个不相关的任务,导致对话历史越来越长。
更好的做法:
/compact或开新会话,再做 code review原因:Claude Code 的 system prompt + 工具定义是固定开销(≈8000 tokens)。开一个新会话固然要重新交这笔税,但如果老会话已经滚到 30000+ tokens 的历史,继续用老会话比开新的更费钱。
算一笔账:
新会话省了 4 倍输入费用。 但当任务本身需要之前的完整上下文时(比如在改同一个文件的不同部分),继续用老会话是对的——没有上下文的修改可能出错,出错重来更费钱。
策略五:控制并发和频率(防 429 + 控制日消耗)
DeepSeek 使用动态并发限制。Claude Code 的工作模式是顺序的(一个工具调用完成后再发下一个),一般不会触发并发限制。但在以下情况可能出问题:
建议:
// settings.json — 如果你用 ECC 或自定义脚本批量调用 { "env": { "ANTHROPIC_API_KEY": "sk-你的Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic" } }策略六:设置 DeepSeek 余额告警
在 DeepSeek 控制台设置,不需要写代码。
此外,DeepSeek 控制台提供按天/按小时的用量图表,定期看一眼能快速发现异常:
五、settings.json 省费配置模板(开箱即用)
综合以上六条策略 + 社区验证的最佳实践,这是一份可直接粘贴的生产级配置:
{ "env": { "ANTHROPIC_API_KEY": "sk-你的DeepSeek-API-Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash", "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro", "MAX_THINKING_TOKENS": "10000", "CLAUDE_MAX_CONTEXT_WINDOW": "200000", "CLAUDE_AUTOCOMPACT_PCT": "50", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" } }逐字段解释:
ANTHROPIC_DEFAULT_HAIKU_MODEL= V4-FlashANTHROPIC_DEFAULT_SONNET_MODEL= V4-FlashANTHROPIC_DEFAULT_OPUS_MODEL= V4-Pro/model opus时才走 ProMAX_THINKING_TOKENS= 10000CLAUDE_MAX_CONTEXT_WINDOW= 200000CLAUDE_AUTOCOMPACT_PCT= 50CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC= 1如果你用了 ECC(第六篇)
ECC 仓库里有一份官方 token-optimization.md,建议在 rules 里追加省费规则:
# 省费规则 - 每个任务完成后主动提示用户是否需要 /compact - 发现对话超过 20 轮时,提示用户考虑开新会话 - 简单代码操作(读文件、格式化、翻译)默认关 thinking - 子代理任务用 haiku,不要用 sonnet/opus六、月度费用估算
以 "每天 150 次 API 调用,每次平均 15000 输入 + 600 输出 tokens,每月 30 天"的实打实编码工作为例(注意这是 Claude Code 的实际工作模式——每次工具调用都算一次 API 请求,150 次/天是正常编码节奏):
/compact+ 短会话七、社区方案与工具——别人已经造好的轮子
前面六条策略是你自己可以做的。这一章介绍社区已经存在的项目和工具,能进一步帮你在 Claude Code 上省 DeepSeek 费用。
7.1 claudecode-deepseek-stack:一键配置方案
GitHub: MG-Cafe/claudecode-deepseek-stack
最直接的项目——专门做 Claude Code + DeepSeek 的配置。作者实测:一天 412 次工具调用,总花费 $6.84(Anthropic Opus 同等量级需三位数美元)。成本直降 95 倍。
它做的事情就是本文第二章和第五章讲的那些配置,但封装成了即用方案。核心思路和本文一致:通过
ANTHROPIC_DEFAULT_*_MODEL做模型分级映射。7.2 claude-code-router:多模型智能路由
npm: @musistudio/claude-code-router
如果你不只满足于"DeepSeek 一种后端",还想把 Gemini、GLM、Ollama 本地模型也用上——这个工具提供了一个可视化 Web 管理界面,按场景自动把请求路由到不同模型:
你: "帮我修这个 bug" → Router 判断: 日常编码任务 → 路由到 DeepSeek V4-Flash 你: "设计这个模块的架构" → Router 判断: 深度推理任务 → 路由到 DeepSeek V4-Pro(或 Claude Opus)核心配置示例:
{ "Router": { "default": "deepseek,deepseek-chat", "think": "deepseek,deepseek-reasoner", "background": "ollama,qwen2.5-coder:latest", "longContext": "openrouter,google/gemini-2.5-pro", "longContextThreshold": 60000 } }default— 日常编码走 DeepSeekthink— 推理/Plan Mode 走 DeepSeek Reasonerbackground— 后台任务走本地 Ollama(免费)longContext— 上下文超过 60000 tokens 自动切 Gemini(长上下文处理更强)适合:有多个 API Key、想极致省钱的用户。把"体力活"路由到本地免费模型,"脑力活"才用付费 API。
7.3 houtini-lm:MCP 任务分流
npm: @houtini/lm
一个 MCP 服务器,让 Claude Code 把边界清晰的简单任务分流到更便宜的模型执行,Claude 只负责架构决策和最终 QA。
工作原理:
Claude Code(主编,负责规划 + 审查) │ ├─ 复杂推理、架构设计 → Claude 自己做 │ └─ 体力活 → houtini-lm → 便宜模型执行 · 生成测试桩 · 代码审查、解释函数 · 写 commit message · 格式转换(JSON↔YAML) · 生成 mock 数据 · 写类型定义配置:
# 分流到 DeepSeek(最便宜的云端方案) claude mcp add houtini-lm \ -e HOUTINI_LM_ENDPOINT_URL=https://api.deepseek.com \ -e HOUTINI_LM_API_KEY=sk-你的Key \ -- npx -y @houtini/lm # 或者分流到本地 Ollama(完全免费) claude mcp add houtini-lm \ -e HOUTINI_LM_ENDPOINT_URL=http://localhost:11434/v1 \ -e HOUTINI_LM_MODEL=qwen2.5-coder:latest \ -- npx -y @houtini/lm每次分流调用都会显示节省统计:
💰 Claude quota saved — this session: 4,283 tokens / 7 calls适合:日常编码量大的开发者。把 boilerplate 类工作丢给便宜模型,Claude 的 token 只用在刀刃上。
7.4 三个方案的定位对比
八、Debug #1 — 模型配置不生效,用的还是 Anthropic
现象
或者明显感觉费用不对——DeepSeek 控制台看不到对应用量。
根因分析
Claude Code 的
settings.json中ANTHROPIC_BASE_URL配置没生效,请求仍然发往 Anthropic 官方 API。常见原因:C:\Users\<用户名>\.claude\settings.json,不是项目目录下的ANTHROPIC_API_KEY,且它的值指向 Anthropic一览对比表
~/.claude/settings.json修复
// settings.json — 确保 env 在最外层 { "env": { "ANTHROPIC_API_KEY": "sk-你的DeepSeek-Key", "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic" }, "model": "deepseek-v4-flash" }验证
九、Debug #2 — Claude Code 回复突然变慢或卡死
现象
根因分析
两种可能:
一览对比表
/compact或新会话修复
验证
十、Debug #3 — DeepSeek 控制台显示大量费用但自己没用
现象
根因分析
API Key 泄露或共享。常见途径:
修复
验证
十一、日常维护
11.1 Claude Code 内置诊断命令
这几个命令在对话中输入即可,是日常省费的"仪表盘":
/cost/context/compact/clear/model sonnet/model opus# 每天开始工作时的标准操作 /cost # 看昨天花了多少钱 /context # 确认上下文干净 /model sonnet # 确认用的是便宜模型11.2 每日检查(30 秒)
打开 platform.deepseek.com/top_up,扫一眼:
11.3 每周检查(2 分钟)
11.4 Key 轮换
建议每 3 个月更换一次 API Key:
settings.json中的ANTHROPIC_API_KEY十二、速查卡
12.1 省费策略效果速查
/compact12.2 Claude Code 省费命令速查
/compact/model deepseek-v4-flash/model deepseek-v4-pro/clearCtrl+C12.3 关键配置字段速查
model"deepseek-v4-flash"ANTHROPIC_BASE_URL"https://api.deepseek.com/anthropic"ANTHROPIC_API_KEY"sk-你的Key"12.4 常见报错 → 解决方案
AuthenticationError(401)RateLimitError(429)Connection error/ 超时/compact十三、参考文献