【技术干货】零成本把 Claude Code 接入多家云端大模型:基于 OpenRouter 的工程化实践
摘要
本文系统解析如何在不开通 Claude Pro / Max 的前提下,通过 OpenRouter 将 Claude Code(Cloud Code CLI)接入云端大模型,实现“按量付费 + 多模型切换”的工程化方案。文章从原理、环境变量配置到项目级实战演示,并给出 Python 端调用示例与多模型平台选型建议,适合希望低成本搭建 AI 开发环境的工程师参考。
一、背景介绍:为什么要绕过本地模型和订阅套餐?
目前社区常见的“白嫖 Claude Code”方案,大多是:
Claude Code + 本地 LLM(llama.cpp / Ollama)
这类方案的核心问题在于:
-
硬件门槛高
- 需要中高端 GPU(至少 8G 显存,跑大模型建议 16G+)
- 大量内存 & 稳定散热
- 对绝大多数开发者而言成本和运维负担都不低
-
工程摩擦大
- 下载/量化模型、版本兼容问题
- 常驻后台服务、端口冲突
- 模型切换不灵活,维护成本高
-
模型质量不稳定
- 轻量本地模型在代码生成、复杂推理上与云端 SOTA 差距明显
- 想要质量好,需要上更大的模型,进一步推高本地硬件成本
视频中的方案从另一个角度切入:
不在本地跑模型,而是把 Claude Code 的请求“转发”到 OpenRouter 这类多模型网关。
优点非常明显:
- 不需要 GPU / 本地模型管理
- 用环境变量即可切换到任意云端模型
- 按量计费,无需订阅“Pro / Max 套餐”
- 模型选择面极大(OpenRouter 本身就聚合了大量模型)
下文将这一思路抽象成通用工程实践:用统一的“兼容 OpenAI 协议”的网关,把本地开发工具连接到多家云端大模型。
二、核心原理:用 Base URL + Token “劫持” Claude Code 的请求
Claude Code 在 CLI 中调用模型,本质是向 Anthropic 提供的 API 发起 HTTP 请求。
关键点在于:它支持通过环境变量重写这些配置。
典型的环境变量包括:
ANTHROPIC_BASE_URL:请求的基础 URL(默认指向 Anthropic 官方 API)ANTHROPIC_AUTH_TOKEN:鉴权 Token(这里可以填第三方网关的 API Key)ANTHROPIC_MODEL/ANTHROPIC_DEFAULT_SONNET_MODEL:默认使用的模型 IDANTHROPIC_API_KEY:原生 Anthropic Key,为避免冲突需要显式置空
OpenRouter / (xuedingmao.com)这类网关的特点是:
- 提供一个 OpenAI 兼容的统一 Endpoint(如
https://xuedingmao.com/v1/chat/completions) - 通过
Authorization: Bearer <API_KEY>传递鉴权信息 - 用
model字段选择具体模型(如claude-sonnet-4-6、gpt-5.4等)
因此,只要:
- 把 Base URL 设为网关地址
- 把 Auth Token 设为网关的 API Key
- 把 Anthropic 原生 Key 显式设为空
Claude Code 发出的所有请求就会透明地打到网关上,由网关再路由到具体模型——这就是整个方案的核心。
三、实战演示:配置 Claude Code + OpenRouter(可类比迁移到任意 OpenAI 兼容平台)
3.1 两种配置方式:全局 vs 项目级
从工程实践看,建议优先使用项目级配置,可以做到:
- 不污染系统全局环境变量
- 不影响其他项目(比如确实有项目在用官方 Anthropic 账号)
方式一:Shell 全局配置(不推荐初学者)
编辑你的 shell 配置文件(视系统而定:~/.zshrc、~/.bashrc 等):
nano ~/.zshrc # 或 ~/.bashrc
添加四行环境变量(以 OpenRouter 为例):
# OpenRouter 的 API Key
export OPENROUTER_API_KEY="sk-xxxx"
# 把 Claude Code 的 Base URL 指向 OpenRouter
export ANTHROPIC_BASE_URL="https://openrouter.ai/api"
# Claude Code 认为这是“Anthropic 鉴权”,实则为 OpenRouter Key
export ANTHROPIC_AUTH_TOKEN="$OPENROUTER_API_KEY"
# 关键:显式把原生 Anthropic Key 置为空,避免冲突
export ANTHROPIC_API_KEY=""
保存后使配置生效:
source ~/.zshrc
注意:若之前在 Claude Code 中登录过 Anthropic 账号,在会话里先执行:
/logout
以清空缓存的官方凭据。
方式二:项目级配置(推荐)
在项目根目录中,创建 Claude Code 的本地配置文件:
mkdir -p .cloud
touch .cloud/settings.local.json
写入如下内容(以 OpenRouter 为例):
{
"env": {
"OPENROUTER_API_KEY": "sk-xxxx",
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-xxxx",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "anthropic/claude-3.5-sonnet"
}
}
说明:
ANTHROPIC_MODEL填的是 OpenRouter 页面上模型的model_id- 若
ANTHROPIC_MODEL不生效,可尝试改为ANTHROPIC_DEFAULT_SONNET_MODEL - 若你使用子代理(sub-agents),还可加上:
"CLOUD_SUB_AGENT_MODEL": "anthropic/claude-3.5-sonnet"
之后,在该项目目录下运行:
cld # 或 claud / cloud-code,对应你的安装方式
在会话中输入 /status,检查:
- Base URL 是否指向
openrouter.ai/api - 使用的 Token 是否为 OpenRouter 的 Key
- 模型 ID 是否为你配置的那个
若都正确,即表明请求已经通过 OpenRouter 转发成功。
四、Python 端 API 调用实战:使用(xuedingmao.com)统一接入多家大模型
视频中以 OpenRouter 为例演示了 Claude Code 的 CLI 用法。
在实际工程项目里,更多场景是后端服务直接调用模型 API。
此时建议使用一类统一 OpenAI 协议的聚合平台来做“网关”。
这里以我日常使用的 薛定猫 AI(xuedingmao.com) 为例,它的技术特点是:
- 聚合 500+ 主流大模型:包括 GPT‑5.4、Claude 4.6、Gemini 3 Pro 等
- 新模型实时首发,API 层面基本“开箱即用”
- OpenAI 兼容 API:只需替换 Base URL 和 Key,大部分现有代码无需改动
- 单一接入接口即可在不同厂商间切换,减少多家 SDK 集成与运维负担
下面给出一个可直接运行的 Python 示例,调用 claude-sonnet-4-6 模型:
import os
import requests
# 请在系统环境变量中设置:
# export XUEDINGMAO_API_KEY="你的薛定猫AI API Key"
API_KEY = os.getenv("XUEDINGMAO_API_KEY")
if not API_KEY:
raise RuntimeError("请先在环境变量中设置 XUEDINGMAO_API_KEY")
# 薛定猫 AI 的 OpenAI 兼容基础 URL
BASE_URL = "https://xuedingmao.com/v1/chat/completions"
def call_claude_sonnet(prompt: str) -> str:
"""
使用薛定猫 AI 调用 claude-sonnet-4-6 模型进行对话。
返回模型的文本回复。
"""
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
payload = {
"model": "claude-sonnet-4-6", # 统一模型命名,便于热切换
"messages": [
{"role": "system", "content": "You are a helpful AI coding assistant."},
{"role": "user", "content": prompt}
],
"temperature": 0.2,
"max_tokens": 1024
}
resp = requests.post(BASE_URL, headers=headers, json=payload, timeout=60)
resp.raise_for_status()
data = resp.json()
# OpenAI 兼容格式:choices[0].message.content
return data["choices"][0]["message"]["content"]
if __name__ == "__main__":
prompt = "使用 Python 和 FastAPI 写一个简单的待办事项 REST API,包含内存级存储示例代码。"
answer = call_claude_sonnet(prompt)
print("模型回复:\n")
print(answer)
工程实践中可以把 model 参数做成配置项(环境变量、配置文件、数据库字段),例如:
- 开发环境用
gpt-4-mini/ 便宜模型 - 生产环境复杂任务用
claude-sonnet-4-6/ GPT‑5.4 - 运营同学的内容生成用
gemini-3-pro
通过统一的 BASE_URL + API_KEY 就能在多个厂商之间灵活切换,而无需改动业务逻辑。
五、注意事项与成本控制建议
5.1 环境变量常见坑
-
ANTHROPIC_API_KEY必须显式设为""- 不是“不写”,而是要写一个空值防止使用旧的官方 Key
-
变更配置后需重启终端 / CLI
- shell 全局配置:执行
source ~/.zshrc或重新打开终端 - Claude Code:在已有会话里
/logout再重新进入
- shell 全局配置:执行
-
项目级
.cloud/settings.local.json不要提交到版本库- 推荐在
.gitignore中忽略 - 如需多人协同,可以提交一个
settings.example.json模板
- 推荐在
5.2 成本与模型选型
- OpenRouter 中等价位模型:百万 token(输入+输出)合计 < 2 美元
- 即便全程使用高端模型(如 Sonnet 4.6),典型一次编码会话成本仍 < 1 美元
- Claude Code 的优势是自动规划与多文件代码生成,这类任务本身 token 消耗偏大,因此更需要可观测和可切换的计费方案
工程上建议:
-
严格监控用量:
- 利用 OpenRouter / 薛定猫的活动仪表盘查看每次请求成本
- 超长会话定期重置,避免上下文无限滚动
-
按任务切换模型:
- 轻量文案/简单脚本 → 便宜模型
- 复杂重构/系统设计 → 高端模型
- 通过环境变量或配置中心实现动态切换,减少人工修改
六、技术资源与工具推荐
从这篇文章的实践可以抽象出一条工程化经验:
不要把业务代码死死绑定到某一家模型厂商,而是通过“统一网关 + OpenAI 兼容协议”把大模型当作可替换的基础设施。
在具体工具选型上:
-
如果你主要是本地 CLI / Claude Code 体验:
- 可以直接用 OpenRouter 挂接,模型发现和价格对比很方便
-
如果你有后端服务、多个项目或希望快速试用新模型:
- 更建议使用类似 (xuedingmao.com) 这种多模型聚合网关:
- 聚合 500+ 主流大模型,支持 GPT‑5.4 / Claude 4.6 / Gemini 3 Pro 等
- 新模型上线速度快,适合及时跟进 SOTA
- 提供统一的 OpenAI 兼容 API,最大限度降低多模型集成、迁移成本
- 可以作为“模型中间层”,上层业务只依赖一套接口,后端灵活换模型
- 更建议使用类似 (xuedingmao.com) 这种多模型聚合网关:
结合本文的 Claude Code 配置 + Python API 示例,你完全可以搭建一套:
- 本地:Claude Code 负责自动化写代码、重构、生成项目骨架
- 线上:后端服务通过薛定猫 AI 统一调用不同模型,支撑真实业务流量
实现真正意义上的“多模型共存 + 按需选型”。
#AI #大模型 #Python #机器学习 #技术实战
更多推荐
所有评论(0)