Claude Code 会将它所有的请求都路由到你指向的、兼容 Anthropic 的 API 端点。只需修改一个环境变量,你就能在 Claude Code 完整的 Agent 工作流中运行 Qwen、DeepSeek、GLM 或 MiniMax —— 包括 MCP 工具调用、文件编辑和 bash 执行 —— 而无需改动其他配置。
本指南将介绍路由的工作原理、如何将 Novita AI 的端点配置为后端、MCP 工具调用如何在路由模式下流转,以及如何在 Novita 的 Agent Sandbox 中安全执行工具。
什么是 Claude Code 路由?
在 Claude Code 的语境中,“路由”是指任何兼容 Anthropic API 的端点,Claude Code 会将请求发送到该端点。默认情况下,这个端点是 Anthropic 自身的 API api.anthropic.com。通过设置 ANTHROPIC_BASE_URL,你可以将这些请求重定向到另一个提供商——该提供商接受相同的 API 格式,并以相同的结构返回响应。
这一点需要清晰理解:Claude Code 并不知道也不关心其配置的端点背后是哪个提供商。它发送一个 Anthropic 格式的消息请求,读取一个 Anthropic 格式的响应,然后继续执行。而路由——无论是 Novita AI、自托管代理还是第三方聚合器——则透明地处理模型选择、推理和响应格式化。
使用路由的三个实际理由:
- 模型访问:像 Qwen3-Coder、MiniMax M2.7 和 GLM-4.7 这样的开放权重模型在 Anthropic 的端点上不可用。通过 Novita AI 路由,你可以在相同的 Claude Code 工作流中访问所有这些模型。
- 成本管理:通过像 Novita 这样的提供商使用开放权重模型,每百万 token 的成本通常远低于 Anthropic 的封闭模型。对于模型会进行数百次工具调用的高容量 Agent 会话来说,这一成本差异会显著累积。
- 专业能力:部分开放权重模型专门针对函数调用和多步骤工具使用进行训练,而这正是 Claude Code 的 MCP 集成所需的能力。选择专为工具调用准确性调优的模型,而非通用模型,可以减少复杂工作流中失败或错误格式的工具调用。
Claude Code 路由的工作原理
三个环境变量控制着路由:
| 变量 | 用途 |
|---|---|
ANTHROPIC_BASE_URL |
API 端点。更改此项即可路由到其他提供商。 |
ANTHROPIC_AUTH_TOKEN |
在目标端点进行身份验证的 API 密钥。 |
ANTHROPIC_MODEL |
要使用的模型 ID。必须与目标提供商的命名规则一致。 |
当设置了 ANTHROPIC_BASE_URL 时,Claude Code 会将所有推理请求发送到该 URL,而不是 https://api.anthropic.com。目标端点必须实现 Anthropic 的消息 API 格式——即 Claude 原生模型所使用的相同请求和响应结构。
一个重要的细节:Anthropic 的模型别名(sonnet、opus、haiku)只能在 Anthropic 自己的端点上正确解析。使用第三方路由时,请将 ANTHROPIC_MODEL 设置为该提供商的具体模型 ID,而不是别名。将 sonnet 这样的别名传递给非 Anthropic 端点,要么失败,要么返回一个意外的模型。
ANTHROPIC_SMALL_FAST_MODEL 是第二个模型槽,用于 Claude Code 的内部后台任务:摘要、上下文压缩以及在步骤之间进行轻量级推理。将其指向更快、更便宜的模型,可以在不影响主模型响应质量的前提下降低会话成本。
将 Novita AI 设置为你的路由
Novita AI 的兼容 Anthropic 端点位于 https://api.novita.ai/anthropic。它接受 Claude Code 原生发送的相同请求格式,并支持广泛的开源权重模型,包括编码专家和针对工具调用优化的变体。
步骤 1:获取你的 Novita API 密钥
步骤 2:配置环境
macOS / Linux:
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<your-novita-api-key>"
export ANTHROPIC_MODEL="qwen/qwen3-coder-480b-a35b-instruct"
export ANTHROPIC_SMALL_FAST_MODEL="deepseek/deepseek-v4-flash"
Windows (PowerShell):
$env:ANTHROPIC_BASE_URL = "https://api.novita.ai/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "<your-novita-api-key>"
$env:ANTHROPIC_MODEL = "qwen/qwen3-coder-480b-a35b-instruct"
$env:ANTHROPIC_SMALL_FAST_MODEL = "deepseek/deepseek-v4-flash"
Windows (命令提示符):
set ANTHROPIC_BASE_URL=https://api.novita.ai/anthropic
set ANTHROPIC_AUTH_TOKEN=<your-novita-api-key>
set ANTHROPIC_MODEL=qwen/qwen3-coder-480b-a35b-instruct
set ANTHROPIC_SMALL_FAST_MODEL=deepseek/deepseek-v4-flash
步骤 3:启动 Claude Code
claude .
Claude Code 会在当前目录启动,并将所有推理通过 Novita AI 路由。MCP 工具、文件编辑和 bash 执行的行为与原生的 Anthropic 设置完全一致。
Novita AI 上可用的模型
| 模型 | Novita 模型 ID | 主要优势 |
|---|---|---|
| Qwen3-Coder 480B | qwen/qwen3-coder-480b-a35b-instruct |
代码生成,长上下文推理 |
| MiniMax M2.7 | minimax/minimax-m2.7 |
Agent 工具调用准确性 |
| DeepSeek V4 Flash | deepseek/deepseek-v4-flash |
快速迭代,成本效率 |
| GLM-4.7 | zai-org/glm-4.7 |
编码与多步骤 Agent 任务 |
| Kimi K2 Instruct | moonshotai/kimi-k2-instruct |
工具使用,数学密集型代码库 |
这些开放权重模型运行在现代 GPU 基础设施上,但每个 token 的成本通常要低得多。在扩展重构会话或自动测试生成等任务中——Claude Code 会进行数十次工具调用——这种每个 token 的成本差异实际上很重要。
在最终确定配置之前,请查看 novita.ai/llm-api 以获取最新的模型列表和已验证的 ID。模型可用性和 ID 可能会随着提供商添加或更新产品而变化。
通过 MCP 路由工具调用
Claude Code 的工具调用层是 MCP(模型上下文协议)。当你使用 claude mcp add 添加一个 MCP 服务器时,Claude Code 会在会话启动时连接到该服务器,并加载它所暴露的工具。在会话期间,路由后的 LLM 会决定何时调用这些工具、传入哪些参数以及如何处理结果。
路由的分离很重要:**LLM 后端 **(你的 Novita AI 路由)处理所有的推理——调用哪些工具、什么顺序、以及什么参数。MCP 服务器 负责执行——它接收工具调用,运行底层操作,并返回结果。Claude Code 在两者之间进行协调。
实际上,这意味着你的路由对工具调用的支持质量决定了复杂多步骤任务能否可靠完成。一个生成错误格式函数调用参数或在工具出错后无法继续的模型,会在任务中途停滞。专门针对函数调用工作流进行微调的模型——如 Qwen3-Coder 和 MiniMax M2.7——能更一致地处理这些序列。
在路由设置中添加 MCP 服务器
# 本地服务器(项目作用域)——Claude Code 启动进程
claude mcp add my-server -- python my_server.py
# 远程 HTTP 服务器——连接到一个已经运行的服务器
claude mcp add remote-server --transport http https://your-server.example.com/mcp
远程 HTTP 选项连接到一个独立运行的服务器。这正是 Novita Agent Sandbox 所设计的架构:MCP 服务器保持运行状态,并在工具调用到来时按需生成沙箱实例。
在 Agent Sandbox 中运行工具执行
当你的 MCP 工具涉及运行代码、处理文件或调用外部系统时,你希望这些执行发生在隔离环境中,而不是在你的开发机器上。Novita 的 Agent Sandbox 以托管云服务的形式提供了这一能力。
沙箱实例是一个短期的隔离容器,当 Claude Code 触发一个代码执行工具时,你的 MCP 服务器会创建它。每个容器提供:
- 隔离的文件系统:与宿主机分离,会话之间无任何泄露
- 预安装的环境:Python,包含常见的数据科学和脚本包
- 快速启动:冷启动低于 200ms,适合低延迟的工具调用序列
- 按秒计费:仅对活跃执行时间收费
- Shell 和 Python 执行:完整的命令行访问,适用于多语言工作流
在路由后的 Claude Code 设置中,使用 Sandbox 的数据流如下:
Claude Code
→ 将推理请求发送到 Novita LLM API(路由)
→ 从模型接收工具调用决策
→ 将工具调用转发给 MCP 服务器
→ MCP 服务器创建一个 Novita Sandbox 实例
→ Sandbox 执行代码并返回输出
→ MCP 服务器将结果返回给 Claude Code
→ Novita LLM API 对结果进行推理,决定下一步
这种分离使得不受信任的代码执行被隔离,同时 LLM 路由对多步骤推理的结果具有完全的可见性。
要在 MCP 工具处理程序中使用 Novita Sandbox,请安装 SDK:
pip install novita-sandbox
然后在你的工具实现中创建并使用沙箱实例:
from novita_sandbox.code_interpreter import Sandbox
def run_code_tool(code: str, api_key: str) -> dict:
sandbox = Sandbox.create(
template="code-interpreter-v1",
api_key=api_key,
domain="sandbox.novita.ai",
timeout=300,
)
result = sandbox.run_code(code, language="python")
sandbox.kill()
return {
"output": result.logs,
"error": result.error,
}
code-interpreter-v1 模板预安装了 pandas、numpy、matplotlib 以及其他常用包,因此大多数数据分析和脚本任务无需额外设置即可运行。
为工具密集型工作流选择模型
模型选择在路由后的 Claude Code 设置中会影响两个方面:决定做什么的推理质量,以及正确执行工具调用的可靠性。这两者并不总是一致——一个在开放式任务上推理很好的模型,当工具有复杂参数类型时,可能会生成不一致的函数调用模式。
Qwen3-Coder 480B 在长时间跨度的编码任务上表现良好,这类任务中 Claude Code 需要读取多个文件、规划方法并执行多步骤编辑序列。其长上下文处理能力意味着它在复杂任务中不太可能因为早期的工具结果而迷失方向。
MiniMax M2.7 专为 Agent 准确性而调优——具体来说,它旨在最小化不正确的工具调用,并处理多轮工具序列,其中每一步都建立在前一步的结果之上。对于拥有多个相互依赖工具的 MCP 设置,这种准确性减少了所需的恢复循环次数。
DeepSeek V4 Flash 是 ANTHROPIC_SMALL_FAST_MODEL 的实际选择。它快速且成本低廉,而 Claude Code 卸载给小型模型的任务——会话摘要、上下文压缩——不需要与主要编码任务相同的推理深度。
一个实际观察:如果你正在构建一个自定义 MCP 服务器,其工具包含许多可选参数或嵌套模式,请在使用代表性示例部署到长期运行的会话之前测试模型的调用准确性。及早发现工具调用错误可以减少干扰。
常见问题
我可以在 Claude Code 中使用任何 LLM 路由,而不仅仅是 Novita AI 吗?
可以。任何在其基础 URL 上实现了 Anthropic 消息 API 的服务都可以。这包括配置为 Anthropic 格式的 LiteLLM、自托管代理或其他商业路由服务。将 ANTHROPIC_BASE_URL 设置为该端点,ANTHROPIC_AUTH_TOKEN 设置为相应的密钥,ANTHROPIC_MODEL 设置为该端点能识别的模型 ID。
当通过非 Anthropic 提供商路由时,MCP 工具还能工作吗?
可以。MCP 在 Claude Code 层面运行,而不是在 API 层面。路由只影响哪个模型进行关于工具使用的推理。只要模型支持 Anthropic 消息格式的函数调用,MCP 工具的工作方式与提供商无关。
为什么通过 Novita AI 路由时,sonnet 别名不起作用?
Anthropic 的模型别名(sonnet、opus、haiku)由 Anthropic 的端点解析,而不是由 Claude Code 解析。当你通过第三方提供商路由时,Anthropic 的别名解析不会被涉及。请将 ANTHROPIC_MODEL 设置为提供商的具体模型 ID。
如何切换回 Anthropic 的原生模型?
取消设置当前会话的路由变量:
unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN
unset ANTHROPIC_MODEL
unset ANTHROPIC_SMALL_FAST_MODEL
下次启动时,Claude Code 会回退到你的设置文件中的内容或 Anthropic API 的默认值。
使用第三方路由会有延迟开销吗?
存在一个小的额外网络跳转。对于交互式会话,这通常不明显。对于对延迟敏感的自动化管道,请在决定之前检查提供商的已发布延迟数据。Novita AI 通过其 LLM Metrics 控制台 发布推理延迟和吞吐量指标。
Agent Sandbox 是否需要与 LLM 路由不同的 API 密钥?
不需要。Novita AI 的 API 密钥既适用于 LLM API,也适用于 Agent Sandbox。你在 ANTHROPIC_AUTH_TOKEN 中使用的同一个密钥,就是你在 MCP 工具实现中传递给 Sandbox.create() 的密钥。
推荐文章
- Claude MCP Add 命令:如何在 Claude Code 中安装 MCP 服务器
- Claude Code 默认模型:如何更改、切换和选择正确的模型
- 使用 Novita Sandbox 和 mcp-use 库构建远程代码执行 MCP 服务器
来源检查日期:2026 年 7 月 16 日:Claude Code 环境变量文档、Novita AI LLM API、Novita Agent Sandbox。
