副标题: 基于 Windows11 + CC Switch 3.16.5 + Claude Code 2.1.191 的实测分析、根因定位与工程化改进建议
测试日期: 2026-07-15
适用读者: Claude Code、CC Switch、DeepSeek API、AI 编程助手和嵌入式开发用户

摘要

通过 CC Switch 将 DeepSeek 接入 Claude Code 后,API 请求可以正常完成,模型映射也可以正确工作,但实际使用体验可能仍明显弱于官方 Claude Opus:响应时间更长、工具调用次数更多、容易继续搜索而不收敛、偶尔调用根本没有提供的工具,并在达到 max-turns 后没有给出最终答案。

本文不是简单比较“哪个模型更聪明”,而是分析一个更具体的问题:为什么兼容 Anthropic API 的 DeepSeek,接入 Claude Code 后仍无法获得与官方 Claude 模型相同的 Agent 行为?

本次排查确认:

  • CC Switch 本地代理、DeepSeek 鉴权、模型路由均正常;
  • Opus、Sonnet、Haiku 角色分别正确映射到 DeepSeek Pro/Flash;
  • 关闭终端标题后,额外的后台 Flash 请求消失;
  • MCP、Skills、Hooks 并不是本轮故障的必要条件;
  • 即使使用 --safe-mode,DeepSeek Pro 仍持续搜索、耗尽工具轮次,并无法稳定形成最终答案;
  • 在请求只提供 ReadGlobGrep 的情况下,DeepSeek Pro 仍偶发生成不存在的 Bash 工具调用;
  • medium 相比 high 略省 Token 和时间,但没有改善完成率。

结论: 这类问题可以缓解,但仅靠 CC Switch 配置无法彻底解决。根本差异位于模型对 Claude Code Agent Loop、工具协议、停止条件和系统提示词的适配程度。


一、问题背景

我的原始使用体验是:

  1. 使用 CC Switch 把 DeepSeek 接入 Claude Code 后,感觉没有以前的官方 Opus 模型聪明;
  2. 每次任务耗时更长;
  3. 模型会无意间多做没有要求的工作;
  4. Token 消耗明显增加;
  5. 对“只读分析”“不要扩展任务”“完成后立即停止”等指令遵循不稳定。

最初需要排除三类可能:

  • 接入错误: 模型路由、Base URL、API Key、协议转换或本地代理异常;
  • 配置干扰: MCP、Skills、Hooks、CLAUDE.md、Auto memory 或后台请求过多;
  • 模型适配问题: DeepSeek 对 Claude Code 工具循环和停止条件的处理与官方 Claude 模型存在差异。

二、系统架构与数据链路

启用 CC Switch 本地路由后,实际链路为:

Claude Code
    ↓ Anthropic Messages 请求
http://127.0.0.1:15721
    ↓
CC Switch 本地代理
    ↓ 模型映射、认证注入、请求记录
https://api.deepseek.com/anthropic
    ↓
DeepSeek V4 Pro / Flash

Claude Code 的实时配置中应看到:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "PROXY_MANAGED",
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:15721"
  }
}

DeepSeek 供应商配置中则保存真实地址和 API Key。两者不能混淆:

  • Claude Code 实时配置:指向 CC Switch 本地代理;
  • CC Switch 供应商配置:指向 DeepSeek 上游接口。

DeepSeek 官方文档提供了直接通过 Anthropic 兼容接口接入 Claude Code 的环境变量示例,包括 deepseek-v4-pro[1m]deepseek-v4-flash 和子代理模型配置。与此同时,Anthropic 官方明确说明:第三方网关可以实现支持的 API 格式,但 Anthropic 不支持通过网关将 Claude Code 路由到非 Claude 模型。这意味着“协议能通”不等于“Agent 行为被官方保证”。


三、测试环境

项目 配置
操作系统 Windows 11
CC Switch 3.16.5
Claude Code 2.1.191
上游模型 DeepSeek V4 Pro / DeepSeek V4 Flash
测试仓库 JLink_MCP
本地代理 127.0.0.1:15721
默认 effort high,后续与 medium 对照
数据来源 Claude Code JSON、Claude Tap、CC Switch SQLite 只读日志、Git 状态

实验边界: 本文没有进行官方 Claude Opus 的同条件数值对照,因此不能把本文解读为通用模型排行榜。本文证明的是:在该仓库和测试条件下,DeepSeek Pro 即使在干净模式中也存在工具循环不收敛和非法工具调用问题;与官方 Opus 的差异部分来自用户长期使用体验和官方支持边界,而不是一组完整的官方模型基准。


四、第一阶段:确认接入是否正确

4.1 Base URL 与本地代理

排查过程中曾出现:

Failed to extract base_url
Claude Provider 缺少 base_url 配置

修复 CC Switch 供应商层的真实 ANTHROPIC_BASE_URL 后,健康检查恢复。随后验证本地端口:

Get-NetTCPConnection -State Listen -LocalPort 15721
Test-NetConnection 127.0.0.1 -Port 15721

结果:

127.0.0.1:15721 Listen
TcpTestSucceeded : True

说明 Claude Code 到 CC Switch 本地代理的链路正常。

4.2 模型映射验证

通过三个最小请求和 CC Switch 数据库记录,确认映射如下:

Claude Code 请求角色 CC Switch 最终模型 结果
Opus deepseek-v4-pro 正确
Sonnet deepseek-v4-pro 正确
Haiku deepseek-v4-flash 正确

这一步排除了“Sonnet 意外落到 Flash”“主任务没有使用 Pro”等路由错误。

4.3 额外后台标题请求

初始测试中:

  • Opus 命令产生 2 次上游调用;
  • Haiku 命令产生 2 次上游调用;
  • 多出的调用约为 338 输入 Token、11~15 输出 Token,并走 Flash。

加入:

"CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1"

后,Opus 和 Haiku 均只剩 1 次上游请求。说明额外 Token 的一个明确来源是 Claude Code 的后台标题请求,而不是 CC Switch 重试或模型回退。


五、第二阶段:排除配置干扰

静态盘点发现:

配置项 实际情况
用户级 CLAUDE.md 12,994 字节,包含跨项目资料和过时版本信息
Auto memory 有“跨模块分析先出计划”等规则
MCP 用户级全局 jlinkedge
Skills 0
Hooks 0
自定义 Agents 0
插件 claude-hud 0.1.0,无 Hook/Skill/Agent

用户级 CLAUDE.md 和 Auto memory 的确会增加上下文与行为约束,但关键问题是:A 组在完全关闭这些定制内容后仍然失败。

A/B/C 三组中位数

组别 加载内容 请求数 输入 Token 输出 Token Cache 读取 总耗时 完成率
A --safe-mode 干净基线 10 21,944 1,525 86,656 30,022 ms 0/3
B A + 用户级 CLAUDE.md 10 23,074 1,767 110,080 41,806 ms 1/3
C B + Auto memory 10 26,664 2,592 140,544 47,547 ms 1/3

增量分析

  • A → B:总耗时中位数增加约 39.3%,Cache 读取增加约 27%;
  • B → C:输入 Token 增加约 15.6%,输出 Token 增加约 46.7%,耗时增加约 13.7%;
  • Auto memory 三次样本均出现 Bash 工具倾向;
  • 但 A 组完全关闭 CLAUDE.md、memory、MCP、Skills、Hooks 后,仍 3/3 耗尽 10 次请求并没有最终答案。

因此:

  • CLAUDE.md 和 Auto memory 是明显放大器;
  • 它们不是根本原因;
  • MCP、Skills、Hooks 不是本轮问题成立的必要条件。

六、第三阶段:工具协议与停止行为验证

6.1 Claude Tap 检查工具列表

通过 Claude Tap 抓取请求,仅分析 request.body.tools[].name

Glob
Grep
Read

请求中没有 Bash。

6.2 DeepSeek 仍生成不存在的 Bash

在 6 个 medium/high 对照样本中,DeepSeek Pro 有 2 次生成 Bash tool_use,尽管请求中没有提供 Bash。

这意味着模型存在“工具幻觉”:

模型生成 Bash tool_use
    ↓
Claude Code 无法执行或拒绝
    ↓
模型需要额外一轮纠错
    ↓
增加 Token、延迟,并降低收敛概率

6.3 high 与 medium 对照

effort 请求数中位数 输入 Token 输出 Token 总耗时 完成率 非法工具样本率
high 6 3,797 866 17,015 ms 0/3 1/3
medium 6 3,577 681 15,867 ms 0/3 1/3

medium 相比 high

  • 输入 Token 约少 5.8%;
  • 输出 Token 约少 21.4%;
  • 总耗时约少 6.7%;
  • 完成率没有改善;
  • 非法工具出现率相同。

所以 medium 更经济,但不能修复核心行为问题。


七、为什么“API 兼容”不等于“Agent 能力等价”

7.1 Claude Code 不只是一个聊天界面

Claude Code 包含:

  • 大型系统提示词;
  • 文件读取、搜索、编辑和 Bash 工具;
  • 多轮 Agent Loop;
  • 工具结果回传;
  • 子代理和模型角色;
  • 停止条件、权限判断和上下文管理。

官方 Claude 模型不仅要“理解代码”,还需要稳定遵守 Claude Code 的隐含工作协议:

  1. 只调用实际提供的工具;
  2. 正确填写工具参数;
  3. 工具失败后调整策略;
  4. 判断何时证据已经足够;
  5. 在轮次预算耗尽前输出最终答案;
  6. 遵循系统、用户、memory 和项目规则之间的优先级。

7.2 兼容层只保证字段可收发

Anthropic API 兼容主要解决:

  • 请求地址;
  • Header 与认证;
  • messages 数据结构;
  • toolstool_usetool_result
  • 流式响应;
  • 模型名称映射。

它不自动保证:

  • 模型经过 Claude Code 专门训练;
  • 模型对所有工具 Schema 严格约束;
  • 模型与 Claude Code 的停止策略一致;
  • 模型对复杂系统提示词具有同等优先级处理能力;
  • 第三方网关完整转发所有新字段和未来协议变化。

Anthropic 官方明确表示不支持通过网关把 Claude Code 路由到非 Claude 模型。这一声明并不是说第三方模型一定不能用,而是意味着这种组合不存在官方兼容性保证。


八、CC Switch + DeepSeek 与官方 Claude 模型的差异

维度 官方 Claude 模型 CC Switch + DeepSeek
Claude Code 官方支持 官方目标模型 非官方组合,Anthropic 不保证
API 协议 原生 Anthropic 兼容接口 + 网关转发
模型角色 Opus/Sonnet/Haiku 原生语义 通过模型映射转换为 Pro/Flash
工具约束 通常更贴合 Claude Code 实测偶发调用未提供的 Bash
Agent 收敛 通常更能判断何时停止 实测持续搜索并耗尽 turns
最终答案 更可能在预算内总结 实测多次停在 tool_use
系统提示适配 针对 Claude Code 设计 能理解,但不是同一训练分布
MCP/Tool Search 官方协议同步 依赖网关是否完整支持新字段
成本 通常更高 通常更低,具体以 DeepSeek 计费为准
可观测性 Claude Code 自身 CC Switch 可增加路由与用量日志
配置复杂度 较低 需要管理 Base URL、映射、代理和兼容项
风险 官方产品边界内 模型、网关和客户端三方版本耦合

九、这类问题有没有办法解决?

答案需要分三层看。

9.1 仅靠用户配置:不能彻底解决,但可以明显缓解

可以解决:

  • 路由错误;
  • Base URL 与本地代理故障;
  • 标题辅助请求;
  • 过长 CLAUDE.md;
  • Auto memory 干扰;
  • 全局 MCP 上下文过多;
  • effort 和 max-turns 过高;
  • 任务边界不清晰。

不能通过配置保证:

  • DeepSeek 永远不生成不存在的工具;
  • DeepSeek 一定在 turns 用尽前输出答案;
  • DeepSeek 对 Claude Code 的隐含协议达到官方 Claude 的稳定度。

9.2 CC Switch 或 Agent 层:可以工程化改善

CC Switch 或外部 Agent 控制层可以增加:

  1. 严格工具验证器
    响应中的工具名不在请求工具列表时,拦截并要求模型改写,而不是交给 Claude Code 执行。

  2. 轮次预算控制器
    在剩余 1~2 轮时强制移除工具,只允许模型生成最终文本。

  3. 模型专用系统提示适配
    对 DeepSeek 注入更明确的停止规则、工具预算和仓库边界。

  4. 错误参数修复与工具名映射
    对常见工具参数错误进行结构化校验,但必须避免擅自改变用户意图。

  5. 分级模型路由
    DeepSeek 负责局部分析和代码生成;复杂开放式 Agent 任务切换到官方 Claude 或其他更稳定模型。

  6. 可观测性与自动降级
    当连续多轮只产生工具调用、重复搜索或无效工具时,主动终止并输出当前证据。

这些方法可以改善完成率,但通常需要修改代理或 Agent Loop,不是勾选一个选项即可完成。

9.3 模型提供方:才可能从根本上提升

真正根治需要模型提供方在以下方面改进:

  • Anthropic 工具调用协议训练;
  • 工具集合严格约束;
  • stop_reason 和最终回答策略;
  • 长系统提示词下的优先级遵循;
  • Windows 路径与仓库边界;
  • Claude Code/Agent 场景专项评测。

因此,问题不是“永远没办法”,而是:当前用户侧配置无法完全解决,必须依赖模型、代理和 Agent 运行时共同改进。


十、推荐配置与使用策略

10.1 CC Switch 的 DeepSeek 供应商配置

{
  "effortLevel": "medium",
  "disableClaudeAiConnectors": true,
  "skipWebFetchPreflight": true,
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "<DEEPSEEK_API_KEY>",
    "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
    "ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_FABLE_MODEL": "deepseek-v4-pro[1m]",
    "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
    "CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1",
    "CLAUDE_CODE_DISABLE_AUTO_MEMORY": "1",
    "ENABLE_CLAUDEAI_MCP_SERVERS": "false",
    "DISABLE_TELEMETRY": "1",
    "DISABLE_ERROR_REPORTING": "1",
    "DISABLE_FEEDBACK_COMMAND": "1"
  },
  "theme": "dark"
}

10.2 Claude Code 实时配置

开启 CC Switch 本地路由后,Claude Code 实时配置应由 CC Switch 管理:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "PROXY_MANAGED",
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:15721"
  }
}

10.3 精简用户级 CLAUDE.md

用户级文件只保留稳定、跨项目通用的规则:

# 通用规则

- 默认只处理当前 Git 仓库和用户明确指定的路径。
- 未经授权,不访问仓库外目录。
- 只读分析时,优先基于已有证据回答。
- 同一失败操作最多重试一次。
- 工具预算不足时,停止搜索并明确不确定项。
- 用户要求立即回答时,不额外生成计划。
- 未经明确要求,不联网、不调用 MCP、不运行构建或测试。
- 不把历史软件版本和硬件状态视为当前事实。

磁盘布局、软件清单、Python 路径和版本快照应拆分为按需读取的参考文档。

10.4 为任务设置硬预算

只查看当前 Git 根目录。
最多执行 1 次 Glob、1 次 Grep,最多读取 5 个文件。
工具失败一次后不要重试。
无论信息是否完整,都必须输出最终结论,并列出不确定项。
不要调用 Bash、Task、Web 或 MCP。

配合:

--effort medium
--max-turns 4或6
--tools "Read,Glob,Grep"
--disallowedTools "Bash,Edit,Write,Task,WebFetch,WebSearch,mcp__*"

硬预算不能根治模型行为,但可以限制最坏情况下的 Token 损失。


十一、任务分工建议

任务类型 推荐模型/工具
指定文件解释、局部代码生成 DeepSeek + Claude Code
单文件或少量文件修改 DeepSeek + 明确路径和验收标准
开放式仓库探索 官方 Claude Opus 或更稳定的 Agent 模型
跨模块架构、复杂重构 官方 Claude / Codex 等强 Agent 工具
J-Link、示波器、硬件控制 专用项目 + 项目级 MCP + 明确授权
方案分析和任务拆解 ChatGPT 等独立推理助手

DeepSeek 更适合作为低成本、边界明确的执行模型,而不是完全替代官方 Opus 的无人值守主 Agent。


十二、网络、隐私与“是否还需要代理”

当 Claude Code 的模型请求经过 CC Switch 转发到 DeepSeek 时,核心 /v1/messages 流量不再直接发送到 Anthropic 模型 API。但 Claude Code 仍可能因更新、遥测、错误报告、连接器或 WebFetch 预检查访问其他域名。

可以通过以下配置减少非必要流量:

{
  "disableClaudeAiConnectors": true,
  "skipWebFetchPreflight": true,
  "env": {
    "ENABLE_CLAUDEAI_MCP_SERVERS": "false",
    "DISABLE_TELEMETRY": "1",
    "DISABLE_ERROR_REPORTING": "1",
    "DISABLE_FEEDBACK_COMMAND": "1"
  }
}

是否需要网络代理取决于本机能否直接访问 DeepSeek、GitHub、Claude Code 更新服务及其他实际使用的外部资源。不能仅根据 Base URL 推断“Claude Code 完全不会访问 Anthropic”。应以防火墙或抓包结果为准。


十三、本文的限制

  1. 测试只覆盖一个 Windows 环境和一个 JLink_MCP 仓库;
  2. 测试版本为 CC Switch 3.16.5、Claude Code 2.1.191,后续版本可能变化;
  3. 没有进行官方 Claude Opus 的完整同条件数值 A/B;
  4. DeepSeek 服务端模型可能更新,但模型名称不变;
  5. 测试结论适用于“Claude Code Agent 行为”,不等价于 DeepSeek 的所有代码能力评价。

十四、最终结论

通过 CC Switch 把 DeepSeek 接入 Claude Code,在技术上可以做到:

  • API 正常调用;
  • 模型正确映射;
  • 本地路由和用量统计;
  • 低成本使用 DeepSeek Pro/Flash;
  • 关闭部分后台流量和额外请求。

但“能接入”不代表“与官方 Claude 模型等价”。本次测试中,DeepSeek Pro 的主要问题不是基础推理能力,而是 Agent 行为:

  • 工具集合遵循不严格;
  • 停止条件不稳定;
  • 过度搜索和验证;
  • 达到 max-turns 后没有最终答案;
  • 对复杂上下文和规则冲突更敏感。

因此最现实的策略不是试图用配置把 DeepSeek 伪装成 Opus,而是进行任务分层:

DeepSeek 负责明确、局部、低成本的任务;官方 Claude 或其他强 Agent 模型负责开放式探索、复杂调试和高可靠性任务。


参考资料

  1. DeepSeek 官方:接入 Claude Code
  2. DeepSeek 官方:Anthropic API 与模型映射
  3. Claude Code 官方:Other LLM gateways
  4. Claude Code 官方:Gateway protocol reference
  5. Claude Code 官方:Environment variables
  6. Claude Code 官方:Tool Search
  7. Claude Code 官方:Model configuration
  8. CC Switch 官方 GitHub Releases
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐