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 它:
|
|
然后启动:
|
|
各变量的作用:
| 变量 | 用途 |
|---|---|
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_use 和 tool_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— 完全支持container、mcp_servers、service_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 脚本:
|
|
用 bash claude.sh 或 source 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,就能跑起来。
配置一览
|
|
参考链接
环境:Claude Code(最新版)、DeepSeek V4 Pro + V4 Flash、Node.js 22。基于日常运行的真实多项目工作区。