news 2026/6/28 4:52:32

Claude Code 切换为 OpenAI 格式 API 接入说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Code 切换为 OpenAI 格式 API 接入说明

Claude Code 切换为 OpenAI 格式 API 接入说明

一、适用场景与前提

  • 已安装Claude Code(claude命令可正常运行,无论当前走官方登录还是 Anthropic 直连)。
  • 手里有第三方中转站提供的 OpenAI 格式 API:一个 base URL(形如https://xxx/v1/chat/completions)、一个模型名、一个 API Key。
  • 目标:让 Claude Code 不再走 Anthropic 格式端点(/v1/messages),改为走OpenAI 格式端点/v1/chat/completions)。

本文以 cloudrouter 中转 + GLM5.2 为示例,但流程对任意 OpenAI 格式中转通用——把 URL / 模型名 / Key 换成你自己的即可。

二、原理(为什么不能直连)

Claude Code 只会发Anthropic 格式请求;OpenAI 格式端点听不懂。解决办法是在本地加一层翻译代理claude-code-router(CCR)

Claude Code ──(Anthropic格式)──► CCR(本地 127.0.0.1:3456) ──(OpenAI格式)──► 中转站 ──► 模型

CCR 负责两种格式互译。配好后,Claude Code 以为自己在跟 Anthropic 端点对话,实际请求被翻译成 OpenAI 格式转发给你指定的中转站。

三、涉及的两个配置文件(目标状态预览)

Key 位用<占位符>表示——真实 Key 由 Claude 在执行时写入,不写进本文档

1.~/.claude-code-router/config.json(翻译路由)

{"LOG":true,"Providers":[{"name":"relay","api_base_url":"https://<你的中转站>/v1/chat/completions","api_key":"<你的API Key>","models":["<模型名>"],"transformer":{"use":["openai"]}}],"Router":{"default":"relay,<模型名>","background":"relay,<模型名>","think":"relay,<模型名>","longContext":"relay,<模型名>","webSearch":"relay,<模型名>"}}

2.~/.claude/settings.json(让 Claude Code 指向本地 CCR)

{"env":{"ANTHROPIC_BASE_URL":"http://127.0.0.1:3456","ANTHROPIC_AUTH_TOKEN":"test","ANTHROPIC_DEFAULT_HAIKU_MODEL":"<模型名>","ANTHROPIC_DEFAULT_SONNET_MODEL":"<模型名>","ANTHROPIC_DEFAULT_OPUS_MODEL":"<模型名>"},"model":"opus","theme":"dark"}

说明:ANTHROPIC_AUTH_TOKEN: "test"是给本地 CCR 的占位鉴权,不是真实 Key;真实 Key 只在config.json里。model: "opus"配合ANTHROPIC_DEFAULT_OPUS_MODEL让 Claude Code 的 opus 档实际落到你的目标模型。

四、一键部署(把下面整段提示词粘进 Claude Code)

复制下方代码块全部内容,粘进 Claude Code 对话框,回车。Claude 会向你索取 Key 并完成全部配置,Key 不会被打印回显

帮我把 Claude Code 的 API 从 Anthropic 格式切换为 OpenAI 格式(经本地 claude-code-router 翻译)。请按下面步骤执行,全程不要在对话里回显、打印或记录我的 API Key 明文: 1. 安装 claude-code-router(CCR):先检查 ccr 是否存在,没有就执行 npm install -g @musistudio/claude-code-router,装完跑 ccr -v 确认版本。若全局安装报权限错误,提示我配置 npm prefix 到用户目录或改用 sudo,不要擅自用 sudo。 2. 一次性向我索取三项信息:中转站 OpenAI 格式端点(形如 https://xxx/v1/chat/completions)、模型名、API Key。拿到 Key 后只能写入配置文件,禁止在后续任何输出、日志、记忆文件里出现 Key 明文。 3. 写 ~/.claude-code-router/config.json:Provider 名用 relay,api_base_url 填我给的端点,api_key 填我给的 Key,models 含我给的模型名,transformer 用 {"use":["openai"]};Router 的 default / background / think / longContext / webSearch 全部设为 "relay,<模型名>"。若文件已存在先备份为 config.json.bak 再覆盖。写完对文件 chmod 600。 4. 修改 ~/.claude/settings.json:保留已有键,仅设置/更新 env 下的 ANTHROPIC_BASE_URL=http://127.0.0.1:3456、ANTHROPIC_AUTH_TOKEN=test、ANTHROPIC_DEFAULT_SONNET_MODEL=<模型名>、ANTHROPIC_DEFAULT_OPUS_MODEL=<模型名>、ANTHROPIC_DEFAULT_HAIKU_MODEL=<模型名>,顶层 model 设为 opus。改前备份为 settings.json.bak。不要写入任何真实 Key。 5. 执行 ccr start,等待就绪,再 ccr status 确认监听在 127.0.0.1:3456 且状态 Running。 6. 端到端测试:用 curl 向 http://127.0.0.1:3456/v1/messages 发一个 POST,model 字段填 claude-sonnet-4-5-20250929、max_tokens 给小值、messages 问"你是什么模型",确认返回 HTTP 200 且响应里 model 字段是我的目标模型名。 7. 汇报测试结果,并告诉我日常启动方式(ccr start 后用 ccr code)和切回 Anthropic 直连的方法。全程不要回显 Key。

五、验证(可选,粘进 Claude Code)

部署后想复查链路是否正常,粘这段:

帮我核查 Claude Code 当前是否正确走 OpenAI 格式链路:1) ccr status 看服务状态与端口;2) curl 本地 127.0.0.1:3456 的 /v1/messages,model 字段填 claude-sonnet-4-5-20250929 发一个小请求,确认返回的 model 是我的目标模型、HTTP 200;3) 读 ~/.claude/settings.json 确认 ANTHROPIC_BASE_URL 指向 127.0.0.1:3456。给出"通过/未通过"结论与原因。不要回显 Key。

六、日常使用

部署完成后,每次开机后用 Claude Code 的标准动作:

  • ccr start—— 启动本地翻译代理(开机一次,常驻后台)。
  • ccr code—— 经代理启动 Claude Code(日常用这条)。

因为~/.claude/settings.json已把 base_url 指向本地 3456,所以ccr start之后直接敲claude也会走 CCR;但务必先ccr start,否则本地代理没起来claude会连不上。

七、回退到 Anthropic 格式直连(粘进 Claude Code)

想切回不走 CCR、直接用中转站的 Anthropic 端点时,粘这段:

帮我把 Claude Code 从 CCR/OpenAI 格式切回 Anthropic 格式直连:1) 把 ~/.claude/settings.json 里 env 的 ANTHROPIC_BASE_URL 改回我的中转站 Anthropic 端点(我会告诉你,形如 https://xxx)、ANTHROPIC_AUTH_TOKEN 改回我的 Anthropic Key;2) 视需要删除 ANTHROPIC_DEFAULT_*_MODEL 三个映射键或保留;3) ccr stop 停掉本地代理。改前备份 settings.json。全程不要回显 Key。

八、注意事项

  • Key 安全:CCR 不支持从环境变量读取上游 Key,Key 必须落在~/.claude-code-router/config.json里。本流程由 Claude 写入,不会出现在本文档、对话或日志中;配置文件已设chmod 600,仅属主可读。
  • effort / 思考档位:经 CCR→第三方模型这条链路,Claude Code 的/effort命令与--effort参数会失效(环境检测为非官方后端即锁定);多数第三方模型(如 GLM5.2)默认即深度思考,无需也无法配置 effort,不必折腾。
  • 模型名:用中转站/v1/models列出的准确 id;带方括号后缀的变体(如glm-5.2[1m])通常不被识别,[1m]只是"1M 上下文"的标注、并非合法模型名。
  • npm 权限:若npm install -gEACCES,把 npm 全局目录指到用户目录(npm config set prefix ~/.npm-global并加入 PATH)或按提示用sudo,不要反复重试。
  • 直连与 CCR 并存settings.json指向本地 3456 时,claudeccr code都走 CCR;若想临时直连中转站,临时改ANTHROPIC_BASE_URL即可,互不破坏。
  • 配置变更生效:改了config.json后用ccr restart让新配置生效。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/28 4:41:00

2026年水处理药剂行业现状与核心企业解析

近年来&#xff0c;随着环保监管体系的不断完善&#xff0c;水处理药剂行业正经历从粗放型向精细化运营的转变。在工业企业复杂废水合规排放、市政污水厂降低运维成本以及洗砂洗煤行业提升污泥脱水效率等高频场景中&#xff0c;用户对聚丙烯酰胺&#xff08;PAM&#xff09;、聚…

作者头像 李华
网站建设 2026/6/28 4:31:37

2026年景德镇装修工作室怎么选?这份指南请收好

装修是大事&#xff0c;尤其对于很多首次置业的景德镇朋友来说&#xff0c;选错装修团队&#xff0c;不仅费钱费时&#xff0c;更可能留下日后居住的隐患。2026年景德镇装修市场有哪些变化&#xff1f;如何避开常见坑点&#xff1f;又该怎样选到靠谱的本土工作室&#xff1f;这…

作者头像 李华
网站建设 2026/6/28 4:31:14

MiMo Code介绍:小米AI编程助手

MiMo Code介绍&#xff1a;小米AI编程助手 什么是MiMo Code&#xff1f; MiMo Code是小米公司推出的一款AI编程助手&#xff0c;旨在帮助开发者提高编码效率。它基于先进的大语言模型技术&#xff0c;能够理解代码上下文&#xff0c;提供智能的代码补全、错误检测和优化建议。 …

作者头像 李华