TL;DR — DeepSeek 提供了一个 Anthropic 兼容的 API 端点,让 Claude Code 可以把 DeepSeek V4 Pro 当作 Claude Opus 的直接替代。配置只需八个环境变量,支持 tool calling、子 agent 派生和原生 web search。输入 token 价格 $0.435/M(永久定价),比 Claude Opus 4.7 便宜约 4–17 倍。本文基于我们日常运行的真实配置。


为什么这件事重要

Claude Code 是 Anthropic 的终端 AI 编程 agent。它读你的代码、跑 bash 命令、派生子 agent、写代码——全部通过 Anthropic API。问题是:它只说 Anthropic 的消息格式。你没法直接把它指向 OpenAI、Gemini 或本地 Ollama,除非加一层翻译。

DeepSeek 用了最直接的方式解决:搭了一个 Anthropic 兼容的 API 端点 https://api.deepseek.com/anthropic,并在第一天就提供了 Claude Code 的接入文档。不需要代理、不需要 wrapper、不需要 fork SDK。改几个环境变量就行。

我们已经在生产环境跑这套配置——管理一个有六个活跃子项目、MCP server、每天编程的工作区。以下是哪些能用、哪些不能用、以及精确的配置方法。


第一步:获取 DeepSeek API Key

platform.deepseek.com 注册并创建 API Key。DeepSeek 使用预付费余额——充多少用多少,没有订阅。

Claude Code 用到的两个模型:

模型 角色 上下文 最大输出 输入(cache miss) 输出
deepseek-v4-pro 重度推理,主 agent 1M tokens 384K $0.435/M $0.87/M
deepseek-v4-flash 子 agent,快速任务 1M tokens 384K $0.14/M $0.28/M

初始促销期(2026-05-31)结束后,DeepSeek 会将官方定价永久调整为原价的 1/4——所以 $0.435/M 输入是新的常态价,不是临时优惠。相比 Claude Opus 4.7(约 $15/M 输入,约 $75/M 输出),输入 token 仍便宜约 34 倍。V4 Flash 保持不变。

Cache hit 价格低得离谱:V4 Pro $0.003625/M,V4 Flash $0.0028/M。Claude Code 产生大量重复上下文(system prompt、CLAUDE.md、工具定义),所以 cache hit 在实际使用中占大头。


第二步:配置环境变量

创建一个 shell 脚本(我们叫它 claude.sh),在启动 Claude Code 之前 source 它:

1
2
3
4
5
6
7
8
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=<你的-deepseek-api-key>
export ANTHROPIC_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max

然后启动:

1
2
3
source claude.sh
cd /path/to/your/project
claude

各变量的作用:

变量 用途
ANTHROPIC_BASE_URL 将所有 API 请求重定向到 DeepSeek 的 Anthropic 兼容端点
ANTHROPIC_AUTH_TOKEN 你的 DeepSeek API Key(不是 ANTHROPIC_API_KEY——Claude Code 用的是 AUTH_TOKEN
ANTHROPIC_MODEL 主 agent 循环的默认模型
ANTHROPIC_DEFAULT_OPUS_MODEL Claude Code 内部请求 Opus 时使用的模型
ANTHROPIC_DEFAULT_SONNET_MODEL Claude Code 内部请求 Sonnet 时使用的模型
ANTHROPIC_DEFAULT_HAIKU_MODEL Claude Code 内部请求 Haiku 时使用的模型
CLAUDE_CODE_SUBAGENT_MODEL 派生子 agent 的模型(Explore、Plan 等)
CLAUDE_CODE_EFFORT_LEVEL 思考预算——max 给模型最大的推理空间

模型名后面的 [1m] 后缀是 DeepSeek 的约定,表示请求 1M token 上下文窗口。不加的话用默认上下文长度。


第三步:理解模型映射

DeepSeek 会自动做模型名映射。当 Claude Code 内部请求 claude-opus-4-7 时,DeepSeek 的 API 会映射:

claude-opus-*    →  deepseek-v4-pro
claude-sonnet-*  →  deepseek-v4-flash
claude-haiku-*   →  deepseek-v4-flash

这意味着你不需要改 Claude Code 的源码。当 agent 决定需要"Opus 级别"的推理时,DeepSeek 路由到 V4 Pro。当它需要 Haiku 做快速子 agent 时,拿到的是 V4 Flash。

我们还是显式设置了模型变量(而不是依赖映射),因为这样可以控制哪个模型处理子 agent。V4 Flash 对于搜索和文件读取子 agent 足够快,而且输入价格比 V4 Pro 便宜 3 倍。


实际能用的功能

Tool Calling

DeepSeek 的 Anthropic API 完全支持 tool_usetool_result 消息类型。Claude Code 整个 agent 循环都建立在 tool calling 上——Read、Write、Edit、Bash、Grep、Glob——全部能用。

Message: array, type = "tool_use"
  - id:           完全支持
  - input:        完全支持
  - name:         完全支持
  - cache_control: 忽略

Message: array, type = "tool_result"
  - tool_use_id:  完全支持
  - content:      完全支持
  - is_error:     忽略

子 Agent 派生

Claude Code 使用 Agent 工具派生专门的子 agent(Explore 搜索文件、Plan 做架构设计等)。每个子 agent 本身就是一个有权限限制的 tool-calling 循环。在 DeepSeek 上能跑——我们测试过多 agent 会话,主 V4 Pro agent 派生 V4 Flash 子 agent 做文件搜索,结果正确回传。

Web Search(意外的惊喜)

这是让我们意外的功能。DeepSeek 的 API 原生支持 Claude Code 内置的 Web Search 工具。 当模型判断你的问题需要搜索结果时,它通过 DeepSeek 自己的搜索基础设施调用搜索工具——不是 Anthropic 的。

DeepSeek 官方文档原文:

“The DeepSeek API natively supports the Web Search feature in Claude Code. When using Claude Code, if the model determines that your question requires a web search, it will invoke the Web Search tool and perform the search through the API provided by DeepSeek.”

实际效果:问 Claude Code “LangGraph 最新版本是什么?",它会触发 web search,拿到结果,总结——全部通过 DeepSeek 完成。API 中 web_search_tool_result 消息类型完全支持。

费用提醒: 每次 web search 会触发额外的 LLM API 调用来总结检索内容。DeepSeek 按正常 token 用量计费。一次搜索+总结循环大约多消耗 5–20K 输入 token。

思考模式(Thinking Mode)

DeepSeek V4 支持思考模式(扩展推理)。API 中的 thinking 字段已支持,但 budget_tokens 被忽略——DeepSeek 自己管理推理预算。设置 CLAUDE_CODE_EFFORT_LEVEL=max 给模型最大的思考空间。

流式输出

完全支持。响应逐 token 流式传输,和原生 Claude 一样。


不能用的功能

诚实地说局限性很重要。DeepSeek 的 Anthropic API 不是完美复刻——是务实的子集。

不支持图片或文档输入

array, type = "image"     →  不支持
array, type = "document"  →  不支持

用 DeepSeek 的时候不能通过 Claude Code 粘贴截图或上传 PDF。如果你的工作流涉及视觉任务(分析 UI 原型、读图表),这些场景需要用原生 Claude 或其他视觉模型。

没有显式 Prompt Caching

cache_control  →  忽略(工具、消息、工具结果上都是)

DeepSeek 有自己的上下文缓存(cache hit 单独计价),但 Anthropic 兼容端点忽略 cache_control 标记。缓存由 DeepSeek 根据内容相似度自行决定,而不是显式的断点。

MCP 工具不走服务端

array, type = "mcp_tool_use"     →  不支持
array, type = "mcp_tool_result"  →  不支持

MCP(Model Context Protocol)工具的工作方式不同——它们由 Claude Code 在客户端处理,不经过服务端 API。所以 SearXNG、文件监听器、数据库连接器等 MCP 工具仍然能用,因为 Claude Code 在发到 API 之前就拦截了。“不支持"的意思是 DeepSeek 的 API 不会原生处理 MCP 消息,不影响实际功能。

其他被忽略的字段

  • top_k — 忽略
  • anthropic-beta / anthropic-version 头 — 忽略
  • stop_sequences — 完全支持
  • containermcp_serversservice_tier — 忽略

这些都不影响 Claude Code 的核心功能。


费用对比

一个典型的 Claude Code 会话:约 500K 输入 token(system prompt + 上下文 + 工具定义)和约 50K 输出 token。

供应商 输入费用 输出费用 单次会话总计
Claude Opus 4.7(直连) ~$7.50 ~$3.75 ~$11.25
DeepSeek V4 Pro ~$0.22 ~$0.04 ~$0.26
DeepSeek V4 Flash(子 agent) ~$0.07 ~$0.01 ~$0.08

主 agent 用 V4 Pro、子 agent 用 V4 Flash,一次典型混合会话约 $0.15–0.30。相比 Claude Opus 直连便宜约 30–70 倍——而且这是永久价格,不是限时促销。

Cache hit 定价让重复会话(同一个项目、同一个 CLAUDE.md、同一个工具定义)更便宜。我们的工作区每次会话加载约 80K token 上下文——大部分以 $0.003625/M 的 cache hit 价格命中。


实战技巧

用包装脚本

不要把环境变量写到 .bashrc 全局——你会在需要原生 Claude 的工具(比如视觉任务)上意外使用 DeepSeek。我们用 claude.sh 脚本:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=sk-your-key-here
export ANTHROPIC_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max
export ANTHROPIC_USER_ID="your-username"

exec claude "$@"

bash claude.shsource claude.sh && claude 运行。

ANTHROPIC_USER_ID 有用

DeepSeek 支持 user_id 元数据字段做速率限制隔离。设置 ANTHROPIC_USER_ID 确保你的请求在同一个 API Key 下按项目分桶——多个项目共享一个 key 时有用。

重度会话考虑 V4 Flash 做主模型

如果你在做常规文件编辑、格式化或批量操作,把 ANTHROPIC_MODEL 换成 deepseek-v4-flash。便宜 3 倍,对非推理任务够用。把 V4 Pro 留给架构决策、debug 和复杂多步问题。


总结

DeepSeek 的 Anthropic 兼容 API 是目前最无缝的第三方 Claude Code 集成。不需要代理服务器、不需要 SDK 补丁、核心功能(tool calling、子 agent、web search)没有缺失。唯一的真正限制是视觉——如果需要图片输入,仍然需要原生 Claude。

对于纯编程工作,费用差距大到没有理由不试试。八个环境变量,一个 API Key,就能跑起来。


配置一览

1
2
3
4
5
6
7
8
9
# claude.sh — 在运行 `claude` 前 source 此文件
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=<你的-key>
export ANTHROPIC_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flash
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flash
export CLAUDE_CODE_EFFORT_LEVEL=max

参考链接


环境:Claude Code(最新版)、DeepSeek V4 Pro + V4 Flash、Node.js 22。基于日常运行的真实多项目工作区。