尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

Claude Code 切换为 OpenAI 格式 API 接入说明 Claude Code 切换为 OpenAI 格式 API 接入说明一、适用场景与前提已安装Claude Codeclaude命令可正常运行无论当前走官方登录还是 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-routerCCRClaude 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-routerCCR先检查 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.jsonProvider 名用 relayapi_base_url 填我给的端点api_key 填我给的 Keymodels 含我给的模型名transformer 用 {use:[openai]}Router 的 default / background / think / longContext / webSearch 全部设为 relay,模型名。若文件已存在先备份为 config.json.bak 再覆盖。写完对文件 chmod 600。 4. 修改 ~/.claude/settings.json保留已有键仅设置/更新 env 下的 ANTHROPIC_BASE_URLhttp://127.0.0.1:3456、ANTHROPIC_AUTH_TOKENtest、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 发一个 POSTmodel 字段填 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/messagesmodel 字段填 claude-sonnet-4-5-20250929 发一个小请求确认返回的 model 是我的目标模型、HTTP 2003) 读 ~/.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 Key2) 视需要删除 ANTHROPIC_DEFAULT_*_MODEL 三个映射键或保留3) ccr stop 停掉本地代理。改前备份 settings.json。全程不要回显 Key。八、注意事项Key 安全CCR 不支持从环境变量读取上游 KeyKey 必须落在~/.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 -g报EACCES把 npm 全局目录指到用户目录npm config set prefix ~/.npm-global并加入 PATH或按提示用sudo不要反复重试。直连与 CCR 并存settings.json指向本地 3456 时claude与ccr code都走 CCR若想临时直连中转站临时改ANTHROPIC_BASE_URL即可互不破坏。配置变更生效改了config.json后用ccr restart让新配置生效。
返回列表