Engineering Field Note · 2026-08-05

用 Claude Code CLI 驱动 GPT-5.4

保留 Claude Code 的 agent UX、工具循环和文件编辑能力,通过本机 LiteLLM Gateway 将 Anthropic Messages API 转换为 GitHub Copilot Responses API,最终由 GPT-5.4 完成推理。

Claude Code 2.1.222 LiteLLM 1.95.0 FastAPI 0.136.3 GitHub Copilot OAuth GPT-5.4 Loopback only

结论先行

1

仍然是 Claude Code CLI

启动的是 Anthropic 发布的 claude.exe。终端 UI、agent loop、工具定义、上下文压缩和文件操作均由 Claude Code 管理。

2

模型不是 Claude

所有模型推理请求进入 GitHub Copilot 服务,由 GPT-5.4 响应。Anthropic Claude API 不在推理链路中。

3

Copilot CLI 不参与运行时

copilot 是另一套 agent 客户端。当前方案仅使用同一 GitHub Copilot entitlement 与 OAuth 服务,不启动 Copilot CLI。

请求链路

Claude Code CLI生成 Anthropic Messages API 请求,包含 system prompt、tools 与会话内容。
LiteLLM @ localhost监听 127.0.0.1:4000,把 Messages API 转换为 OpenAI Responses API。
GitHub Copilot通过一次性 device OAuth 认证,执行模型授权、策略、路由和计量。
GPT-5.4完成推理并返回文本或 tool calls;LiteLLM 再转换为 Claude Code 能理解的响应。
Claude Code CLI执行工具、编辑文件、运行命令,并继续下一轮 agent loop。

关键实现

安装原生 Claude Code

使用官方 Windows installer,实际二进制位于用户目录的 .local\bin\claude.exe

irm https://claude.ai/install.ps1 | iex

部署本机协议 Gateway

LiteLLM 仅绑定 loopback,不对局域网或公网开放。依赖固定到已验证组合,避免 FastAPI API 漂移。

litellm[proxy]==1.95.0
fastapi==0.136.3

配置 GPT-5.4 为 Responses 模型

Claude Code 会同时发送 tools 与 reasoning。GPT-5.4 的 Copilot Chat Completions 路径拒绝该组合,必须使用 Responses API。

model_list:
  - model_name: gpt-5.4
    model_info:
      mode: responses
    litellm_params:
      model: github_copilot/gpt-5.4

完成 GitHub device OAuth

授权脚本使用 GitHub device flow,token 只保存在本机 OAuth cache,不写入 Git、HTML 或日志。后续由短期 Copilot token 完成请求。

将 Claude Code 指向 Gateway

$env:ANTHROPIC_BASE_URL = 'http://127.0.0.1:4000'
$env:ANTHROPIC_AUTH_TOKEN = 'local-loopback-gateway'
$env:ANTHROPIC_MODEL = 'gpt-5.4'
$env:CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY = '1'
$env:CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS = '1'

简化启动命令

PowerShell profile 中的 claude 函数转发到 launcher。新终端中直接运行:

claude

需要原始 Anthropic 入口时运行 claude-anthropic

运行组件与职责

组件是否运行职责数据去向
Claude Code CLIAgent UX、工具循环、文件和命令操作模型请求先发往 localhost
LiteLLM协议与模型名称转换转发到 GitHub Copilot
GitHub Copilot 服务OAuth、模型授权、路由、计量调用 GPT-5.4
GPT-5.4推理、文本和 tool calls经 Copilot 返回
GitHub Copilot CLI独立 agent 客户端不在当前链路
Anthropic Claude API否(推理)Claude 模型服务当前模型请求不发送至此

踩坑与修复

现象根因修复
get_flat_dependant ImportErrorLiteLLM 的 FastAPI 上限过宽,安装到了不兼容的新版本固定 fastapi==0.136.3
Windows UnicodeEncodeErrorcp1252 无法输出 LiteLLM Unicode banner设置 PYTHONIOENCODING=utf-8
no healthy deploymentsLiteLLM device code 只轮询 60 秒,首次 OAuth 未及时完成独立授权 helper 按 GitHub 返回的完整有效期轮询并缓存 token
tools + reasoning 返回 400GPT-5.4 Chat Completions 不支持该组合将 model mode 改为 responses
-p 参数歧义PowerShell advanced script 抢先解析 Claude CLI 参数launcher 使用原生 $args 完整透传

验证标准

完成条件:Gateway health endpoint 返回 healthy;Anthropic /v1/messages 返回模型 gpt-5.4;最终执行 claude -p 能收到预期文本。三层验证全部通过后,才说明 Claude Code → LiteLLM → Copilot → GPT 链路成立。

安全与合规边界

这不是把 Claude Code 变成 Copilot CLI。客户端仍是 Claude Code。若组织政策禁止安装或运行 Claude Code 本身,更换后端模型并不会使其自动合规,应使用批准的 copilot --model gpt-5.4

参考资料