Selected model is at capacity. Please try a different model. 绕过去不使用Codex, OpenCo

Selected model is at capacity. Please try a different model. 绕过去不使用Codex, OpenCode 里用 ChatGPT

一、问题背景:

手头有个 ChatGPT 订阅,最近疯狂提示Selected model is at capacity. Please try a different model. ,一般是被风控了,可以绕过去不使用codex,使用opencode。本文章介绍安装opencode网页版和桌面版。

原理是在 OpenCode 里直接 OAuth 登录账号来用。官网文档写得很简单,opencode auth login 就完事,但真上手才发现网页版和桌面版是两套逻辑,坑也各不一样。折腾了半天两边都通了,把过程记下来,省得别人再踩。

二、 网页版:CLI 起的 opencode web

网页版不是独立产品,就是 CLI 起的一个本地服务:

复制代码
opencode web

浏览器自动打开一个界面,用起来和桌面版差不多。所以网页版的授权就是 CLI 的授权,下面说的就是 CLI 的流程。

登录

复制代码
opencode auth login

选 OpenAI,浏览器弹出授权页,点完回来终端显示成功。

浏览器显示"登录成功",终端却报错

第一次登就栽在这。后来想明白了:OAuth 是分两半的。浏览器里点授权只是前半截,授权码要跳回 localhost 交给终端,终端再拿它去 OpenAI 服务器换令牌。浏览器显示成功只代表前半截完了,换令牌这步是终端自己发请求,挂了照样失败。

挂的原因九成是:终端不认系统代理。浏览器走系统代理所以授权页能开,但 opencode 终端进程是自己发 HTTP 请求的,Windows 的系统代理设置它不看,只认环境变量。所以登录前,在同一个窗口里先设上:

powershell 复制代码
$env:HTTPS_PROXY="http://127.0.0.1:7897"
$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:NO_PROXY="localhost,127.0.0.1,::1"

注意 NO_PROXY 得带上 localhost,不然跳回本地回调的请求也被送去代理,又是一种死法。

验证登录

凭据存在 ~/.local/share/opencode/auth.json。两条命令验证:

bash 复制代码
opencode auth list        # 应该能看到 OpenAI oauth
opencode models openai    # 列出这个账号能选的模型

模型别乱选

登录成功后我随手选了 gpt-5.4,直接报错:

css 复制代码
Bad Request: {"detail":"The 'gpt-5.4' model is not supported when using Codex with a ChatGPT account."}

ChatGPT 账号走的是 Codex 后端,不是所有模型都开放。我这个账号能用 gpt-6-astra、gpt-6.1-sol 这批,名字里带 codex 的 codex-spark 反而不行。碰上这个错别慌,不是登录坏了,换个模型就好。

三、桌面版:另一个世界

桌面版从官网下。想装到指定目录的话支持静默参数:

ini 复制代码
opencode-desktop-win-x64.exe /S /D=D:\OpenCode\Desktop

/D 必须放最后,路径别带引号。

桌面版的凭据和 CLI 不通用

这是最大的坑。我在 CLI 登录得好好的,打开桌面版,模型列表里压根没有 OpenAI 分组。查了半天才发现:桌面版 v2 的凭据存在自己的数据库里 (~/.local/share/opencode/opencode.db 的 credential / account 表),根本不读 CLI 的 auth.json。两边登录状态完全独立。

用桌面版自带的命令行可以验证:

arduino 复制代码
"%APPDATA%\ai.opencode.desktop\cli\2.0.27\opencode-cli.exe" auth list

显示 "No authenticated integrations",而同一时刻 CLI 的 auth list 明明有 OpenAI。数据库里那两张表也是空的,实锤。

界面里的"连接 OpenAI"按钮 403

桌面版设置里有授权按钮,点了之后浏览器能授权成功,界面却弹"授权失败:Request failed: 403"。

原因是桌面版背后跑着一个内嵌后端,换令牌是它发的,它和 CLI 一样不认系统代理,直连 OpenAI 从国内 IP 出去就是 403 区域拦截。我用带环境变量的方式启动(写了个 start-desktop.cmd,先 set 代理再 start exe),这个按钮还是 403------没完全坐实原因,怀疑是 Cloudflare 把它内嵌后端的请求指纹拦了。反正有别的路,就没再纠结它。

管用的办法:用桌面版自带的 CLI 登录

既然桌面版读自己的数据库,那就让写数据库的程序来登录。桌面版安装后自带一个 v2 命令行:

shell 复制代码
%APPDATA%\ai.opencode.desktop\cli\2.0.27\opencode-cli.exe

终端里带上代理环境变量跑:

cmd 复制代码
set HTTPS_PROXY=http://127.0.0.1:7897
"%APPDATA%\ai.opencode.desktop\cli\2.0.27\opencode-cli.exe" auth login

走完浏览器授权,凭据直接进桌面版的数据库。托盘退出桌面版再打开,OpenAI 分组和模型就出来了。

重启桌面版的正确姿势

顺带一个教训:桌面版是单实例的,光关窗口不算退出,后端还在跑,而且新启动时会探测旧后端接着用。我在 CLI 登录后重启桌面版,模型列表死活不更新,查到最后发现它一直连着登录前启动的那个旧后端,缓存了空状态。正确姿势是托盘图标右键退出,再启动。

相关推荐
武子康2 小时前
H3-World 的动作控制,为什么不能只靠一句提示词?
人工智能·agent
Markus实验室3 小时前
多Agent协作的“审查幻觉”:当两个AI互相点赞,谁来兜底?
agent
Jarming3 小时前
infinite-creation本地AI短剧带货项目推荐-本地运行无费用0负担
agent·qwen·skill·minimax·deepseek·skills·agent-skills·minimax-h3
一 铭4 小时前
本体 vs 语义层(Ontology vs Semantic Layer):基本概念和区别
人工智能·ai·agent·harness
SharpCJ4 小时前
Koog(3)——Prompt、LLM Client 与模型调用:Koog 如何抽象大模型访问
llm·agent
救救孩子把5 小时前
AI面试八股文-02_2-Prompt Engineering 面试题
人工智能·面试·llm·prompt·agent·agent记忆·agent面试题
长弓三石5 小时前
企业级RAG 的胜负手不在「召回」,在「排得准」:开源Harness平台BizBuddy 检索增强实录
人工智能·agent·ai编程
Topskys5 小时前
LoRA微调技术深度解析
agent
武子康5 小时前
语音评测显示 Passed,为什么工具调用只有 1/2?
人工智能·llm·agent