把 Claude Code 接到国产模型:哪些能力会消失
换上第三方模型后,Claude Code 能用,但不是所有功能都还在。这篇按「协议层、模型层、客户端层」把能力分成三类,逐项说清楚哪些失效、哪些不受影响,以及损失能不能补。
先说结论
Claude Code 的功能分三层,失效的只有中间一层:
- 客户端层(subagent、MCP、文件编辑、斜杠命令):跑在你机器上,换模型不受影响。
- 协议层(Messages 格式、流式事件、cache_control、thinking 块):由网关实现,能兼容多少算多少。
- 模型层(推理能力、视觉输入、缓存命中):取决于模型本身,换个模型就换一批能力。
真正的取舍发生在模型层,而不是协议层。这一点决定了「换模型」的期望值——你换掉的是模型,不是 Claude Code。
能力失效对照表
| 能力 | 官方 Claude | 接 DeepSeek V4 | 归属 |
|---|---|---|---|
| 代码编辑、多文件重构 | ✅ | ✅ | 客户端层,不受影响 |
| subagent / Task 工具 | ✅ | ✅ | 客户端层,不受影响 |
| MCP 服务器 | ✅ | ✅ | 客户端层,不受影响 |
| 斜杠命令、hooks | ✅ | ✅ | 客户端层,不受影响 |
| 图片输入(截图、设计稿) | ✅ | ❌ | 模型层,需视觉模型 |
| extended thinking | ✅ | ❌ | 模型层,模型自身不产生 thinking 块 |
| prompt caching | ✅ | ⚠️ 部分 | 协议层 + 模型层 |
| WebSearch 工具 | ✅ | ❌ | 服务端工具,只随官方走 |
| 长上下文(1M) | ❌(200K) | ✅ | 模型层,反而变强 |
| 国内可直连、人民币结算 | ❌ | ✅ | 网络与计费,见 无信用卡方案 |
逐项说明
图片输入会失效
Claude Code 贴图时会把图片编码成图片块塞进消息。文本模型收到这种块,要么直接报参数错误,要么静默丢弃——后者更麻烦,模型会开始「猜」图里是什么。
绕过办法:涉及看图的任务切到支持视觉输入的模型;纯文本重构不必切。
extended thinking 不会有
extended thinking 是 Anthropic 模型侧的推理块,Messages 协议里体现为 thinking 类型的内容块。网关可以透传这种块,但模型本身不产生它——所以接 DeepSeek 时这条路径是空的。
替代方案是直接用推理型模型(例如 deepseek-v4-pro-0813 本身就是 reasoning 模型),它的推理发生在模型内部,不通过 thinking 块暴露出来。你得到的是「更会想」,而不是「看得见它怎么想」。
prompt caching 部分可用
这一项最容易误判。两层要看:
- 计费层:KimiSeek 的定价里有「缓存输入」这一档,DeepSeek V4 Pro 谷时 ¥4.5 / 缓存 ¥0.45,十倍差价,说明缓存命中是被真实计价和结算的。
- 协议层:Anthropic 用
cache_control标注缓存断点,语义与上游的缓存实现不完全一致。命中率取决于上游怎么算,客户端无法强制。
结论:缓存会生效、也确实省钱,但不要按「官方缓存命中率」去预期账单。
WebSearch 完全不可用
Claude Code 的 WebSearch 不是本地执行的工具,而是 Anthropic 服务端提供的工具。请求发出网关后,上游不认这个工具定义,调用会失败或返回未实现。
绕过办法:用本地 MCP 的抓取类工具替代,这是客户端层的东西,换模型不影响。
不受影响的部分
这部分要说清楚,因为它决定了「值不值得换」:
- 代码编辑能力:读写文件、多文件 diff、运行测试,全是客户端在干活。
- subagent 与并行任务:Claude Code 自己调度,不依赖模型提供方。
- MCP 生态:数据库、浏览器、内部系统接入照旧。
- 权限与 hooks 体系:本地配置,与模型无关。
换句话说,Claude Code 作为一个「agent 脚手架」的能力全部保留,失去的是「Claude 这个模型的某些特性」。
怎么把损失降到最低
- 按任务选模型:重构、长文件理解用
deepseek-v4-pro-0813(1M 上下文、推理型),改错别字、写 commit message 用deepseek-v4.1-flash,便宜十倍。 - 看图任务单独处理:不要把截图丢给文本模型,先转成文字描述,或临时切到视觉模型。
- 别依赖 thinking 块:需要「看推理过程」的场景,改成让它先输出方案再执行。
- 缓存预期打七折:按官方缓存命中率估算的账单,实际会偏高。
验证清单
配好之后,用这三条确认连接确实通了:
先在运行 curl 的同一个终端设置自己的 KimiSeek API Key(替换占位值)。客户端中的凭证不会自动变成这个 shell 环境变量:
# Replace the placeholder with your own key from the dashboard.
export KIMISEEK_API_KEY="ks-your-key"curl https://api.kimiseek.app/v1/messages \
-H "x-api-key: ${KIMISEEK_API_KEY:?Set KIMISEEK_API_KEY before running this command}" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro-0813",
"max_tokens": 512,
"messages": [{"role": "user", "content": "Hello"}]
}'- 返回 200 且带
content数组 → 协议层通了。 - 在 Claude Code 里发一句「你好」能回 → 客户端配置正确。
- 让它读一个文件并修改 → 工具调用链通。
任一步失败,去 报错对照表 按报错原文定位。
什么时候该用回官方
不是所有场景都该省这笔钱。三种情况建议留官方:
- 重度依赖视觉输入(设计稿转代码、UI 走查)
- 依赖 WebSearch 做实时调研
- 对缓存命中率极敏感(超长 system prompt + 高频调用)
其余场景,接国产模型能省下来的钱是实打实的,具体数字见 无信用卡方案。
适用版本与核查
- Claude Code:2.x
- 核查日期:2026-10-26
- 事实来源:Anthropic 官方文档(Messages 协议、extended thinking、cache_control、服务端工具);KimiSeek 模型目录的能力与价格字段
常见问题
接国产模型算不算违反 Claude Code 的使用条款?
Claude Code 是客户端,把 ANTHROPIC_BASE_URL 指向兼容的服务是它支持的配置方式。需要注意的是别用共享账号或代充的 key——那是另一回事,见无信用卡那篇的风险提示。
prompt caching 到底省不省钱?
省,但别按官方命中率估。缓存输入单价通常是输入的十分之一,DeepSeek V4 Pro 谷时是 ¥0.45 对 ¥4.5。命中率由上游实现决定,客户端控制不了。
为什么同样一句提示,国产模型改文件更犹豫?
多半是工具调用格式的往返损失。先确认走的是不是原生协议路径(Claude Code 走 /v1/messages,Codex 走 /v1/responses),再看模型是不是 reasoning 型。
1M 上下文是真实可用的吗?
DeepSeek V4 Pro 在目录里的 context 是 1000000,单次最大输出 393000。上下文越长单价不变,但每次请求都会重发全文,所以长上下文真正的成本在输入侧。