Claude Code¶
Claude Code 是 Anthropic 官方的终端智能编程工具。它能够理解你的代码库、编辑文件、运行命令,并帮助你更高效地编写代码。通过将 Claude Code 指向 vLLM 服务器,你可以使用自己的模型作为后端,替代 Anthropic API。这适用于:
- 运行完全本地/私密的编程辅助
- 使用具备工具调用能力的开源权重模型
- 使用自定义模型进行测试和开发
工作原理¶
vLLM 实现了 Anthropic Messages API,这是 Claude Code 用于与 Anthropic 服务器通信的相同 API。通过设置 ANTHROPIC_BASE_URL 指向你的 vLLM 服务器,Claude Code 会将其请求发送给 vLLM 而非 Anthropic。vLLM 随后会将这些请求转换为适用于本地模型的格式,并以 Claude Code 期望的格式返回响应。这意味着任何由 vLLM 提供服务的、具备适当工具调用支持的模型,都可以作为 Claude Code 中 Claude 模型的直接替代品。
要求¶
Claude Code 需要具备强大工具调用能力的模型。该模型必须支持 OpenAI 兼容的工具调用 API。有关如何为你的模型启用工具调用的详细信息,请参阅工具调用。
安装¶
首先,按照官方安装指南安装 Claude Code。
启动 vLLM 服务器¶
使用具备工具调用能力的模型启动 vLLM —— 以下是使用 openai/gpt-oss-120b 的示例:
vllm serve openai/gpt-oss-120b --served-model-name my-model --enable-auto-tool-choice --tool-call-parser openai
对于其他模型,你需要使用 --enable-auto-tool-choice 和正确的 --tool-call-parser 显式启用工具调用。有关适合你模型的正确参数,请参阅工具调用文档。
配置 Claude Code¶
使用指向 vLLM 服务器的环境变量启动 Claude Code:
ANTHROPIC_BASE_URL=http://localhost:8000 \
ANTHROPIC_API_KEY=dummy \
ANTHROPIC_AUTH_TOKEN=dummy \
ANTHROPIC_DEFAULT_OPUS_MODEL=my-model \
ANTHROPIC_DEFAULT_SONNET_MODEL=my-model \
ANTHROPIC_DEFAULT_HAIKU_MODEL=my-model \
claude
环境变量:
| 变量 | 说明 |
|---|---|
ANTHROPIC_BASE_URL | 指向你的 vLLM 服务器(默认端口为 8000) |
ANTHROPIC_API_KEY | 可以是任意值,因为 vLLM 默认不需要身份验证 |
ANTHROPIC_AUTH_TOKEN | 是必需的。可以是任意值。 |
ANTHROPIC_DEFAULT_OPUS_MODEL | Opus 级别请求的模型名称 |
ANTHROPIC_DEFAULT_SONNET_MODEL | Sonnet 级别请求的模型名称 |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Haiku 级别请求的模型名称 |
提示
你可以将这些环境变量添加到你的 shell 配置文件(例如 .bashrc、.zshrc)、Claude Code 配置文件(~/.claude/settings.json)中,或者创建一个包装脚本以方便使用。
测试配置¶
Claude Code 启动后,尝试一个简单的提示来验证连接:
如果模型正确响应,说明你的配置正在工作。你现在可以使用 Claude Code 配合 vLLM 提供的模型进行编程任务。
故障排除¶
连接被拒绝:确保 vLLM 正在运行并且可以通过指定的 URL 访问。检查端口是否匹配。
工具调用不工作:验证你的模型是否支持工具调用,并且你已使用正确的 --tool-call-parser 参数启用它。请参阅工具调用。
模型未找到:确保 --served-model-name 与环境变量中的模型名称匹配。你不能使用包含 / 的模型名称,例如直接从 Huggingface 使用的 openai/gpt-oss-120b,因此请注意 Claude Code 的这一限制。
