命令行 Agent

把 Claude Code 接到国产模型:哪些能力会消失

换上第三方模型后,Claude Code 能用,但不是所有功能都还在。这篇按「协议层、模型层、客户端层」把能力分成三类,逐项说清楚哪些失效、哪些不受影响,以及损失能不能补。

核查日期 2026-10-26适用于
Claude Code 2.x

先说结论

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 这个模型的某些特性」。

怎么把损失降到最低

  1. 按任务选模型:重构、长文件理解用 deepseek-v4-pro-0813(1M 上下文、推理型),改错别字、写 commit message 用 deepseek-v4.1-flash,便宜十倍。
  2. 看图任务单独处理:不要把截图丢给文本模型,先转成文字描述,或临时切到视觉模型。
  3. 别依赖 thinking 块:需要「看推理过程」的场景,改成让它先输出方案再执行。
  4. 缓存预期打七折:按官方缓存命中率估算的账单,实际会偏高。

验证清单

配好之后,用这三条确认连接确实通了:

先在运行 curl 的同一个终端设置自己的 KimiSeek API Key(替换占位值)。客户端中的凭证不会自动变成这个 shell 环境变量:

Shell · API key
# Replace the placeholder with your own key from the dashboard.
export KIMISEEK_API_KEY="ks-your-key"
Shell · Anthropic Messages
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。上下文越长单价不变,但每次请求都会重发全文,所以长上下文真正的成本在输入侧。