一、背景与动机
Claude Code 是 Anthropic 推出的编程 Agent 工具,很多人会用它做 "vibe coding":一边写代码一边提问,在对话中重构、重组、查 bug,体验非常接近'和聪明同事结对编程'。
但在实际使用中,它有两个比较现实的问题:
- 成本高:频繁的对话请求,会很快消耗你的 Anthropic API 配额;
- 网络不稳:在一些网络环境下,直接请求 Anthropic API 可能经常超时或失败。
与此同时,很多开发者已经在使用 GitHub Copilot。GitHub 在 Copilot 背后接入了包括 Claude 在内的多种大模型(具体组合会随时间调整),而你已经为这部分算力付过费了。
于是,一个很自然的问题出现了:
能不能让 Claude Code 直接'吃'GitHub Copilot 的额度?
答案是肯定的。
本文会介绍如何使用 LiteLLM 作为本地中间层,让 Claude Code 对着本地代理讲话,再由本地代理去请求 GitHub Copilot Chat API(下文简称 Copilot API)。
1.1 使用前的合规提示
在继续之前,需要特别说明:
⚠️ 注意:通过中间层将 Claude Code 接入 Copilot API 的方式,并非 GitHub 官方公开文档中主推或保证支持的使用场景。
实际操作前,请自行阅读并评估 GitHub Copilot 的最新服务条款、使用限制与风控策略,确认自己的使用方式是合规且可接受风险的。
如果你清楚了解这一点,并愿意自行承担相应风险,可以继续往下。
二、整体架构
Claude Code 支持通过环境变量配置自定义的 BASE_URL。我们正是利用这一点,将它'接入'LiteLLM,再由 LiteLLM 去调用 Copilot API。
整体流程可以概括为:
- 客户端:Claude Code
- 使用
claudeCLI 客户端(本文中的claude命令,即 Claude Code 的命令行工具); - 配置为向本地
http://localhost:4000发送请求。
- 使用
- 中间件:LiteLLM 代理
- 在本地启动一个 LiteLLM 代理服务;
- 接收来自 Claude Code(Anthropic 风格)的请求;
- 将请求参数转换为 Copilot API 支持的格式;
- 添加必要的请求头,将自己伪装成编辑器插件客户端;
- 将 Copilot API 的返回结果再转回给 Claude Code。
- 后端:GitHub Copilot Chat API(Copilot API)
- 接收 LiteLLM 转换后的请求;
- 返回模型输出,由 LiteLLM 原样转发给 Claude Code。
通过这种方式,你保留了完整的 Claude Code 交互体验,但实际计算由 GitHub Copilot 提供,从而:
- 利用现有 Copilot 订阅额度,减少额外 API 支出;
- 通过本地代理和 Copilot 的网络优势,提高请求稳定性。
三、准备工作
在开始动手之前,你需要:
- 一个有效的 GitHub Copilot 订阅;
- 一台可以本地运行以下工具的电脑:


