低成本运行 Claude Code:通过 LiteLLM 接入 GitHub Copilot Chat API
介绍如何通过 LiteLLM 本地代理将 Claude Code 接入 GitHub Copilot Chat API。利用现有 Copilot 订阅额度降低 Anthropic API 成本,并通过本地中转提升网络稳定性。步骤包括创建 LiteLLM 配置文件、安装启动代理、配置环境变量及验证连接。需注意 GitHub Copilot 服务条款风险。

介绍如何通过 LiteLLM 本地代理将 Claude Code 接入 GitHub Copilot Chat API。利用现有 Copilot 订阅额度降低 Anthropic API 成本,并通过本地中转提升网络稳定性。步骤包括创建 LiteLLM 配置文件、安装启动代理、配置环境变量及验证连接。需注意 GitHub Copilot 服务条款风险。

Claude Code 是 Anthropic 推出的编程 Agent 工具,很多人会用它做'vibe coding':一边写代码一边提问,在对话中重构、重组、查 bug,体验非常接近'和聪明同事结对编程'。
但在实际使用中,它有两个比较现实的问题:
与此同时,很多开发者已经在使用 GitHub Copilot。GitHub 在 Copilot 背后接入了包括 Claude 在内的多种大模型(具体组合会随时间调整),而你已经为这部分算力付过费了。
于是,一个很自然的问题出现了:
能不能让 Claude Code 直接'吃'GitHub Copilot 的额度?
答案是肯定的。
本文会介绍如何使用 LiteLLM 作为本地中间层,让 Claude Code 对着本地代理讲话,再由本地代理去请求 GitHub Copilot Chat API(下文简称 Copilot API)。
在继续之前,需要特别说明:
⚠️ 注意:通过中间层将 Claude Code 接入 Copilot API 的方式,并非 GitHub 官方公开文档中主推或保证支持的使用场景。
实际操作前,请自行阅读并评估 GitHub Copilot 的最新服务条款、使用限制与风控策略,确认自己的使用方式是合规且可接受风险的。
如果你清楚了解这一点,并愿意自行承担相应风险,可以继续往下。
Claude Code 支持通过环境变量配置自定义的 BASE_URL。我们正是利用这一点,将它'接入'LiteLLM,再由 LiteLLM 去调用 Copilot API。
整体流程可以概括为:
claude CLI 客户端(本文中的 claude 命令,即 Claude Code 的命令行工具);http://localhost:4000 发送请求。通过这种方式,你保留了完整的 Claude Code 交互体验,但实际计算由 GitHub Copilot 提供,从而:
在开始动手之前,你需要:
uv(推荐)或者 pip;claude(Claude Code CLI 工具)。假设你已经可以在终端中直接运行:
claude --help
并看到正常的帮助信息。
LiteLLM 是整个方案的核心入口。通过它的配置文件,我们将:
在任意目录下创建一个 config.yaml,内容示例:
model_list:
- model_name: claude-opus-4.5
litellm_params:
# 使用 GitHub Copilot 作为实际提供方
model: github_copilot/claude-opus-4.5
# 丢弃 Claude Code 发出的非标准参数,避免后端报错
drop_params: true
# 添加伪装为编辑器客户端的 Headers,确保 Copilot 正常响应
extra_headers:
Editor-Version: "vscode/1.106.3"
Editor-Plugin-Version: "copilot/1.388.0"
Copilot-Integration-Id: "vscode-chat"
User-Agent: "GithubCopilot/1.388.0"
这里有三个关键点:
model_name
ANTHROPIC_MODEL 时,需要与这里完全一致。model
github_copilot/claude-opus-4.5,你可以根据 LiteLLM 文档和 Copilot 实际支持的模型进行调整。drop_params: true
drop_params 后,LiteLLM 会剥掉非标准参数,避免因为字段不兼容导致 Copilot 返回 4xx 错误。如果你希望在 Claude Code 中切换多个不同模型,可以在
model_list里再添加多个条目,每个条目的model_name不同即可。
推荐用 uv 安装 LiteLLM。uv 提供了隔离环境和更快的安装体验。如果不熟悉,也可以直接用 pip。
# 使用 uv 安装带 proxy 功能的 LiteLLM
uv tool install "litellm[proxy]"
# 如果你更习惯 pip,也可以:
# pip install "litellm[proxy]"
安装完成后,litellm 会作为一个可执行命令出现在你的 PATH 中,可以直接在终端里使用。
在包含 config.yaml 的目录下运行:
litellm --config config.yaml --port 4000
这是你的 窗口 A,建议保持这个终端一直打开,用来观察日志。
LiteLLM 第一次调用 Copilot API 时,会引导你走一遍 GitHub 的设备授权流程:
https://github.com/login/device)和一个 8 位设备码;LiteLLM 会将获得的 token 缓存在本地(通常在你的配置目录下),后续重启代理不需要重复授权,除非 token 失效或手动清除。
接下来要做两件事:
可以通过 环境变量(临时)或 Claude Code 配置文件(持久化)来完成。
在启动 claude 之前,在 窗口 B 终端中执行:
export ANTHROPIC_AUTH_TOKEN="sk-any-string" # 客户端需要一个非空值,LiteLLM 会忽略它
export ANTHROPIC_BASE_URL="http://localhost:4000"
export ANTHROPIC_MODEL="claude-opus-4.5" # 必须与 config.yaml 中的 model_name 完全一致
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 # 减少遥测和非必要流量
说明:
ANTHROPIC_AUTH_TOKEN
ANTHROPIC_BASE_URL
4000)。ANTHROPIC_MODEL
config.yaml 中的 model_name 一模一样;CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
如果你希望以后每次运行 claude 时都自动应用这些设置,可以创建或编辑:
~/.claude/settings.json
内容示例:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-any-string",
"ANTHROPIC_BASE_URL": "http://localhost:4000",
"ANTHROPIC_MODEL": "claude-opus-4.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
保存后,claude 在启动时会自动加载这些环境变量。
如果你原本就有自己的
settings.json(例如配置了其他集成),记得把上面的字段合并到原有 JSON 中,而不是完全覆盖文件。
现在你应该有两个终端窗口:
窗口 B:运行 Claude Code(CLI)
claude
窗口 A:运行 LiteLLM 代理
litellm --config config.yaml --port 4000
如果一切配置无误:
claude 应该能正常启动;github_copilot/claude-opus-4.5 的调用记录。如果看到这些,说明整个链路已经打通:
Claude Code → LiteLLM(本地代理) → Copilot API → LiteLLM → Claude Code
如果没有成功,可以按下面几个方向排查:
ANTHROPIC_MODEL 与 config.yaml 中 model_name 是否完全一致(包括大小写和中划线)。ANTHROPIC_BASE_URL 是否确实指向 http://localhost:4000;通过在本地引入 LiteLLM 作为中间层,我们实现了:
claude、打开 familiar 的对话界面,只是背后的算力来源发生了变化。需要再次强调的是:
这种玩法属于'高级折腾',并不是 GitHub 官方文档鼓励或保证长期可用的路径。
在正式使用前,请务必自己阅读 Copilot 最新的服务条款和使用规范,并自行评估合规性与风险。
对于那些:
这个方案非常值得折腾和体验一番。
如果你愿意继续深入,还可以在 LiteLLM 上挂接更多模型(如 OpenAI、原生 Anthropic API 等),再通过 Claude Code 的模型选择实现更灵活的编程工作流,这是另一个可以展开写一篇的主题了。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online