我在Cursor里设置了自定义OpenAI Base URL。这个设置可以把聊天请求路由到任何兼容OpenAI的端点——本地代理、Ollama或自托管模型。设置生效时,请求确实走了我的配置,日志也正常记录。第二天早上,代理面板显示从前一天晚上起就没有请求了。聊天功能仍然可用。Cursor设置→模型→API密钥里的“覆盖OpenAI Base URL”勾选框处于关闭状态。
我没有动过它。是Cursor自己关的。
实际发生的情况
启用自定义OpenAI Base URL后,Cursor会把该选项写入SQLite状态数据库(state.vscdb)中的useOpenAIKey属性。只要值为true,所有请求都会发往你指定的URL。Cursor每隔几小时就会自行将其改为false,请求随即回落到默认的API令牌计费。
由于切换后聊天功能仍然可用,你只有在查看端点日志或令牌账单时才会注意到:
- 请求不再到达你的端点(代理、Ollama或自托管模型)
- 请求开始消耗API令牌,而不是走你自己的配置
- Cursor不显示任何错误或警告,因此重置过程不易被察觉
重新勾选该选项可以维持几个小时,之后Cursor会再次重置。这个设置和这个问题都已经存在很长时间。作者认为Cursor不会修复它:当勾选框处于关闭状态时,每个请求都经过他们的令牌计费,而你的端点不会向他们发送任何内容。
Cursor超过一年未修复此问题
这不是偶发故障。Cursor论坛上反复出现同样的重置报告,相关帖子一直未关闭,也没有修复结论。2025年11月的一份报告(到2026年1月仍未解决)称这种情况已持续数月且没有修复。2026年3月的一个帖子称这是一个超过一年未修复的bug,同年4月同一帖子下的一条报告描述了同样的无通知禁用,费用在累积且没有任何提示。macOS、Linux和Windows上的表现一致:开关自行复位,没有错误提示,也没有警告。
用监控工具保持设置开启
手动反复勾选只能暂时解决问题。更可靠的方法是监控这个设置,一旦Cursor将其关闭就自动恢复。开源扩展Ungate做的就是这件事:它监控状态数据库,在Cursor禁用该选项时自动重新启用。
Ungate还可以将Claude和ChatGPT订阅接入Cursor,具体步骤在其订阅使用指南中有完整说明。其工作流程如下:
- 扩展启动后读取useOpenAIKey的值
- 检测状态数据库的变化
- 验证useOpenAIKey当前状态
- 如果为false,则在状态数据库中将其改回true
- “覆盖OpenAI Base URL”勾选框恢复
该监控程序在打开的Cursor窗口间后台运行。只要useOpenAIKey被改为false,Ungate就将其设回true,勾选框随之恢复。
一个容易混淆的相邻问题
如果你的接口地址指向localhost,请求卡住而不是切回默认,那是另一个问题,与这个自动重置不是一回事。相关说明在关于localhost限制的文章中有单独解释。Ungate的代码仓库地址是github.com/orchidfi。
热门跟贴