OpenAI 员工亲手教 5 分钟把 Claude Code 后端换 GPT-5.6 Sol,我盯着那 4 行 alias 没敢按

cover

哈喽,我是飞飞。

昨天夜里刷 X,一条推让我盯了挺久。发推的人叫 Tibo(thsottiaux),身份是 OpenAI 员工兼公关帐号。他手把手教你用一个叫 CLIProxyAPI 的开源代理,配一条 4 行的 claudex 别名,5 分钟就把 Claude Code 的后端换成了 GPT-5.6 Sol。CC 的客户端还是 CC,skill 生态一根不动,只是脑袋换了。评论区一堆人喊「神操作 tonight 就试」。我一手咖啡一手手机,盯了半天,最后没按下去。

那 4 行 alias 长这样

先把话说前面:这个操作真能跑,不是纸上谈兵。项目源自 GitHub 的 router-for-me/CLIProxyAPI,快 4 万 star,开源 MIT 协议。周边生态也长起来了,vibeproxy 菜单栏 GUI、CCS 多账号切换、Quotio 配额监控、Claude Proxy VSCode 插件一堆下游。核心步骤简单到反常识:

  1. brew install cliproxyapi 装本地代理
  2. cliproxyapi --codex-login 登录你的 Codex 订阅(OAuth 授权)
  3. .zshrc 里加两行环境变量加一条别名,重开终端就完事

关键那条 claudex 别名,Tibo 推里贴的原文长这样:

1
2
3
4
5
6
7
8
export ANTHROPIC_BASE_URL=http://127.0.0.1:8317
export ANTHROPIC_AUTH_TOKEN=my-local-token

alias claudex='CLAUDE_CODE_SUBAGENT_MODEL=gpt-5.6-sol \
CLAUDE_CODE_ALWAYS_ENABLE_EFFORT=1 \
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY=3 \
ENABLE_TOOL_SEARCH=false \
claude --model gpt-5.6-sol'

这 4 个 env 每一个都在处理一件具体的 provider-specific 事。SUBAGENT_MODEL 逼 CC 的子智能体也走 Sol,不让它偷偷 fallback 到 Haiku。ALWAYS_ENABLE_EFFORT 把推理档常开。MAX_TOOL_USE_CONCURRENCY 卡到 3,给并发工具调用留缰绳。ENABLE_TOOL_SEARCH=false 最有意思,它把 Claude Code 自带那个 tool_search 前置整个关掉,因为 GPT-5.6 有自己的 Programmatic Tool Calling,那层 CC 优化对它反而是负优化。看得出 Tibo 是知道坑的老手。

看完这 4 行我头一反应挺舒服,老手做事就是这么细。翻回头再看一眼眉头一皱:能想到要关 tool_search 的人,一定是踩过 tool_search 坑的人。他心里明白换后端不像画个别名那么简单,只是没说出来。

Anthropic 不会封,OpenAI 可能会

很多人头一时间会问一句:Anthropic 会不会看到就把我账号封了。这个问题我想清楚了,方向反了。

Anthropic 那波大封杀发生在今年 1 月 9 日凌晨 2 点 20(UTC)。服务端一个 switch 上线,当天所有把 Claude 订阅 OAuth 塞进 OpenClaw、OpenCode、Cline、Roo Code 这些第三方 harness 的账号,20 分钟内自动被停。

报错原文是 This credential is only authorized for use with Claude Code and cannot be used for other API requests。2 月 20 更新条款,4 月 4 全量生效。Anthropic Claude Code 头子 Boris Cherny 官方原话说得明白:我们的订阅模型本来就不为第三方工具那种用量模式设计。

但 Tibo 教的这条路方向反过来。Claude Code 客户端还是原装 CC,只是 ANTHROPIC_BASE_URL 环境变量指向了本地 127.0.0.1 的代理端口。这个环境变量是 Anthropic 官方支持的,本来就给企业客户接自建 gateway 用。Anthropic 服务器根本看不到你在干什么,它看到的只是 CC 客户端没连上它的官方 endpoint 而已。这层合规。

真正的风险在 OpenAI 那侧。你的 Codex 订阅 OAuth 被 CLIProxyAPI 拿着当持久 API 后端用,这跟 Anthropic 1 月封的那类「订阅拿去当 API」是同构的动作。OpenAI 眼下还没像 Anthropic 那样部署一波服务端封杀,说白了不代表以后不会。Tibo 自己那条推末尾有一句原话,我看了两遍:

If this gets blocked, I owe you a reset.

OpenAI 员工发推教用户这么玩,末尾自己说要是被封了给你重置账号。这句话本身就是最诚实的免责声明,他心里也没底。

这条我想清楚之后,其实不算我犹豫最大的理由。可它是最上面那一层,得先摆到桌面上。

skill 家底才是那块最实的挡板

真正让我按不下去的,是十几个自定义 skill 长在 Claude Code 的语义脾气上这件事。

我这条写作流水线,拉资讯的、查重的、配图的、发公众号的、防 AI 味的,每一个 skill 都是照着 Claude Code 读 SKILL.md、认 frontmatter、调 hook 的口味一点点磨出来的。光那份防 AI 味的 grep 规则就长了 76 版,才把破折号、negate-first 对仗、三联否定这些坑扫得勉强不误伤正常疑问句。这些规则写的是「Claude 写字容易犯什么错」的语义地图,跟通用 AI 写字地图差着一层。

今天上午我刚发了一篇 Ploy 生产迁移的复盘,他们把 agent 从 Opus 4.8 切到 GPT-5.6 Sol,账面漂亮得没话说,但中间要修四个大坑,tool 参数默认值、prompt cache 命中、reasoning replay、eval harness 假设。每一个坑都不在模型不行,在整套 stack 悄悄围着 incumbent 长出的一堆 provider 特化行为。那篇发完 3 小时,我这边工程债的余温还热着,现在又端上来一份 5 分钟的甜点。

具体到我这条流水线上,光是 CLAUDE.md 我砍到 4KB 之前也是 12KB 起步的,一路照着 Opus 反馈的行为磨出来。memory 文件按我每天真调什么裁出来,Skill 触发的 description 一句话写窄一分误触发多两成,改到能自动唤起该跑的、不打扰该静的那个平衡点,中间几十版调整不是模型能替我做的。这些是我这几个月拿真活喂出来的家底,不好意思拿一个 5 分钟别名去赌它跟 Sol 也顺。

门槛越低我越警惕。5 分钟能跑起来,不代表 5 分钟之后跑得对。我那十几个 skill 一换后端,tool call 会不会静默填错、prompt cache 命中会不会掉、subagent 分发的模型会不会跑偏,一个都没答案。它跑得看起来好好的,可我心里那本「我看到的就是它真做的」的信心已经掉了一半。

Tibo 站在哪边,值得看清楚

顺手把最外层拆一下。thsottiaux 是 OpenAI 员工,推特上还有几条推是关于 Codex 使用量重置、Codex Chrome 插件、GPT-5.6 Sol 效率提升的官方口径动作。这个位置的人发这条推,说真的,多少带着点市场动作。

我没说 Tibo 心思不正,他给的技术信息扎实到没话说。但这条推的传播路径值得读者心里有本账:一个 OpenAI 员工亲自教你把 Claude Code 大脑换成自家 GPT,那条推被点赞几万次,评论区一堆开发者兴冲冲喊 tonight 就试。这个画面本身就是行业奇观。谁在教你走这一步,教你的人自己站在哪边,该看清楚就看清楚。

我改过 CC 的 env var,只改过那一次

有人可能觉得改 env var 是件小事,我不敢按只是心虚。这条得掰扯清楚。

我确实改过 Claude Code 的环境变量,就改过那一次。工信部点 Claude Code 传数据那阵,我把 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 加进了 .zshrc,顺带 DISABLE_TELEMETRY=1DISABLE_ERROR_REPORTING=1。三个开关拧完,关的是遥测和自动更新那类非核心外呼,主链路一根没敢动。改完当天该跑什么活还跑什么活。

那次改的判据很清楚:我只是把非必要出站关了,CC 到 Anthropic 的核心 API 通道我一根没敢碰。Tibo 教的这次动的是核心通道本身,ANTHROPIC_BASE_URL 直接指向 127.0.0.1 一个本地代理,再往下走的就完全不是 Anthropic 的服务了。同样改 env var,一个是拧掉泄水口的阀门,一个是把整根主管道拧到旁边去。你别说,两码事的分量差得真不是一星半点。

装一份并跑,是我今天的答案

我不打算把 CC 主力换掉。也不打算装作没看见 Sol 那些指标。

今晚我会开另一个终端,起一份 CLIProxyAPI,配一条独立的 claudex 别名,只拿它跑一些小的探索性活。改博客某个 skill 的边角,让它去查一段冷门 API 文档,重构一段十几行的小脚本。主力仍是原装 Claude Code 加 Opus,过秤心法照旧,重活留 Opus 杂活切便宜档。两条线并跑一阵,盯 skill 兼容、盯 subagent 分发、盯月底真实账单,看那 4 行 alias 承诺的东西,落到我这套 grep 规则底下还剩多少。

顺手要做的还有一件事:把并跑期间那份 claudex 生成的每一段代码都单独打个 tag,跟主力那份分开归档,防止我哪天翻旧文件搞混谁写的。这是我踩过的老坑,同一批脚本混在同一个仓库里跑久了,你会分不清哪些是你自己写的、哪些是当天 agent 顺手改的,出了问题回头都找不到人。

跑完体感如果攒得够多,我会再单开一篇摆效果。Tibo 那句 If this gets blocked, I owe you a reset,我打算把它翻译成中文贴在那份 claudex 别名上边,当每次启动前的免责声明。

你会按下那 4 行 alias 吗,还是也在心里那本账上看到了什么让你迟疑的东西?

参考资料

  • [[tibo-claudex-alias-cliproxyapi]]
  • [[anthropic-third-party-harness-ban]]
  • [[cliproxyapi-github-readme]]

相关洞察

  • [[claudex-5min-migration-hesitation]]
  • [[model-migration-is-engineering-debt]]