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 登录后重启桌面版,模型列表死活不更新,查到最后发现它一直连着登录前启动的那个旧后端,缓存了空状态。正确姿势是托盘图标右键退出,再启动。

相关推荐
hpoenixf7 小时前
一个 null 如何让 Agent 工具调用失败:流式协议兼容性实战
agent
hpoenixf8 小时前
Agent 的行动提醒:从生成建议到真正送达模型
agent
hpoenixf8 小时前
Agent 有这个工具,模型为什么还是看不到?——工具表面的演进
agent
hpoenixf9 小时前
一份研究报告,为什么需要先变成「资产」?
agent
hpoenixf9 小时前
为什么 Agent 需要 Workspace?从一次性对话到长期研究
agent
遇码13 小时前
2026-11-01-daw-retry-banner-body
人工智能·ai·rust·数据分析·大模型·agent
威哥爱编程13 小时前
Python 智能体开发实战 10:本地跑得好好的,一并发就崩?把它做成一个能上线的服务
python·agent
威哥爱编程13 小时前
Python 智能体开发实战 09:改了提示词,到底是变好还是变坏?搭一套能打分的离线评测
python·agent
文谦南宁AI普工14 小时前
拆解 DeepSeek dsh-superagent:用 60 行代码模拟它的授权门控与 observe 模式
aigc·agent·ai编程
小七-七牛开发者15 小时前
AI Agent 的安全风险,正在从 Prompt 扩展到运行环境
ai·agent·security·权限管理·cursor