省下订阅费!手把手教你给 Cursor 接入第三方 API 中转站

Cursor Composer 界面功能示例

Cursor Composer 功能界面展示

最近 AI 编程助手 Cursor 真是火得一塌糊涂,那个“Cursor Composer”功能用起来确实爽,能帮我们处理很多繁琐的代码逻辑。但是,官方的订阅价格对于很多偶尔写写代码或者学生党来说,确实有点小贵。

其实,Cursor 本质上还是调用的 LLM(大语言模型),只要我们拿到了 API 接口,是不是就能绕过官方的收费限制,自己用更便宜的或者手头的现成资源呢?

答案是肯定的!今天就来教大家怎么给 Cursor “换壳”,让它用上第三方的 API 中转站。

为什么要用第三方中转?

在动手之前,先聊聊为什么我们要折腾这个。主要有两个原因:

  1. 省钱羊毛:很多第三方 API 中转站或自建的 One-API 服务,价格往往比 Cursor 官方订阅要亲民得多。哪怕是自己买了 Azure OpenAI 或者其他模型的额度,通过中转站复用,成本也更好控制。
  2. 网络优化:有些朋友的网络环境直接连 Cursor 官方服务可能不太稳定,经常出现连接超时或者生成代码卡顿。通过配置一个国内或者线路好的第三方中转,有时候能丝滑不少。

API 配置参数示意图

准备 API 地址所需的 Base URL 和 Key

核心原理:伪造 vs 配置

网上的教程有很多,有的教你修改 Hosts,有的教你抓包替换。其实 Cursor 官方为了灵活性,预留了手动的配置入口,我们完全不需要去搞那些可能破坏软件稳定性的 Hack 操作。

我们需要做的是两件事:

  1. 搞到一个支持 OpenAI 接口格式的 API 地址(这就是所谓的“中转站”)。
  2. 在 Cursor 的设置里把这个地址填进去。

具体操作步骤

下面直接上干货。

第一步:准备你的 API 地址

首先,你需要有一个第三方中转站。这可能是一个你购买的公共服务,也可能是你自己服务器上搭建的 One-APINew-API

假设你已经有了,你会得到两个关键信息:

  • API Base URL:通常长这样 https://api.your-domain.com/v1
  • API Key:一串 sk- 开头的密钥。

注意:请确保你的中转站支持的模型与 Cursor 兼容,通常建议使用 gpt-4claude-3-opus 等模型名称进行映射。

第二步:修改 Cursor 配置文件

这是最关键的一步。Cursor 并没有在 UI 界面里直接放一个大大的“自定义 API”按钮(可能是为了保护官方订阅),我们需要通过修改配置文件来实现。

  1. 找到配置文件位置
    • Windows: %APPDATA%\Cursor\User\globalStorage\storage.json
    • macOS: ~/Library/Application Support/Cursor/User/globalStorage/storage.json
    • Linux: ~/.config/Cursor/User/globalStorage/storage.json

找不到的话,直接在系统里搜索 storage.json 这个文件名就好。

  1. 备份文件重要! 在修改之前,把原文件复制一份备份,万一改错了恢复不过来就只能重装软件了。

  2. 编辑 JSON 文件: 用记事本或者 VS Code 打开这个 JSON 文件。你会看到一堆杂乱的代码,我们需要找到相关字段进行修改(如果没有相关字段,就需要手动添加逻辑,不过通常新版 Cursor 已经在底层预留了相关钩子)。

最简单通用的方法是利用环境变量或者通过“注入”的方式。这里介绍一个更现代、更稳妥的方法:利用 系统代理 配合 请求重写,或者直接寻找配置项里的 telemetry 等相关设置。

但其实,最直接的“白嫖”姿势是通过 Cursor 的 CLI 或者配置 Monkey Patch 脚本。为了照顾大多数新手,这里推荐使用一种更直观的“曲线救国”方案:

利用 HTTP 代理工具(如 Clash/V2rayN)进行规则分流。

因为你已经有了第三方中转站的域名(比如 api.my-openai.com),你只需要在代理软件里设置规则: * 域名 api.cursor.sh (官方地址) -> 拒绝或直连(因为我们要替换它)。 * 域名 api.my-openai.com (你的中转地址) -> 走代理。

等等,Cursor 的限制在于它内部写死了域名。所以,硬改配置文件 才是正解。

硬核修改法回归: 打开 storage.json,添加或修改以下内容(具体键名可能会随版本更新微调,核心思路是覆盖请求地址):

    {
      "mcp.server": {
        "your-server-name": {
          "command": "node",
          "args": ["/path/to/your-proxy-script.js"]
        }
      }
    }
    ```
    *(注:这需要你写一个简单的 Node.js 脚本在本地做转发,把 Cursor 发出的请求截取下来,转发到你的第三方中转。这也就是常说的“本地中转”。)*

**有没有不用写代码的办法?**
    有!Cursor 其实允许通过 JSON 直接配置(部分版本)。请仔细查找 `telemetry` 相关的配置,或者直接搜索 `openaiBaseUrl` 这类的字段。

如果文件里没有,你可以尝试添加如下配置(视具体版本有效性而定):
    ```json
    {
      "telemetry.enableTelemetry": false,
      "telemetry.aiProxy": {
        "openai": "https://api.your-domain.com/v1",
        "anthropic": "https://api.your-domain.com/v1"
      }
    }
    ``n
    *如果上述字段无效,说明版本更新了禁用了此方法,那么请尝试终极方案:修改系统 Hosts。*

**终极方案:修改 Hosts 文件**
    1.  打开系统 Hosts 文件。
    2.  添加一行:`127.0.0.1 api.cursor.sh` (屏蔽官方直连)。
    3.  在本地启动一个 Nginx 或者简单的 Node 服务,监听 `api.cursor.sh` 的端口(通常是 443,需要做 HTTPS 代理,比较麻烦,不推荐新手搞 SSL 证书)。

**综上,对于普通用户,最推荐的是使用社区现成的“修改版”或者借助配置注入工具。**

这里提供一个目前最有效的**配置注入思路**(不需要改代码,只需改 JSON):
    在 `storage.json` 中,找到 `jsonrpc` 版本或者 `userData` 部分,尝试注入自定义的 Model 映射。如果 Cursor 发起请求到官方 API,你可以通过抓包工具(如 Fiddler)自动替换 URL 和 Header,但这属于中间人攻击,配置繁琐。

**最新最稳方案(推荐):**
    其实 Cursor 很多版本支持通过环境变量 `OPENAI_API_BASE` 来控制。你可以在启动 Cursor 之前,在终端里执行:

*Mac/Linux:*
    ```bash
    export OPENAI_API_BASE="https://api.your-domain.com/v1"
    open -a Cursor
    ```

*Windows (PowerShell):*
    ```powershell
    $env:OPENAI_API_BASE="https://api.your-domain.com/v1"
    Start-Process "Cursor"
    ```

试试这个方法,很多构建基于 Electron 的应用都会遵守这个环境变量。如果不行,那你可能需要寻找特定的“Patch”工具或者等待 Cursor 官方开放更多自定义接口。

### 第三步:填入 Key 并测试

不管你是用了环境变量,还是改了配置文件,最后一步都是填 Key。

打开 Cursor,点击左下角的设置图标,找到 "Models" 或者 "Account" 相关设置。

如果是直接修改了请求地址指向你的中转站,那么你需要填写的是**你中转站对应的 Key**。如果 Key 格式不对(官方要求 sk-, 中转也是 sk-),系统可能会报错。

在输入框里输入你的 API Key,然后尝试在编辑器里按 `Ctrl+K` (Cmd+K) 让 AI 写一段代码。

*   **成功标志**:代码流畅生成,没有报错,且不仅没扣官方余额(如果你有的话),你的第三方中转站后台有流量消耗记录。
*   **失败排查**:如果提示 401,通常是 Key 错了;如果提示 404 或连接失败,通常是地址填错了,或者网络没走通。

## 避坑指南

折腾这种“软改”配置,有几个坑大家要注意:

1.  **版本更新失效**:Cursor 更新非常频繁,每次大版本更新,可能会重置你的 `storage.json` 或者屏蔽之前的接口配置方法。一旦遇到更新后用不了了,第一时间先检查配置文件被没被还原,再去社区找新的“姿势”。
2.  **模型名称映射**:有些中转站为了省钱,自己改了模型名称(比如把 `gpt-4` 映射成了 `gpt-4-32k`)。如果 Cursor 发起请求时指定了 `gpt-4`,而中转端不认,就会报错。建议在 One-API 等中转后台做一下“模型重定向”。
3.  **安全性**:不要随便用不明来源的第三方中转站,毕竟你的代码可能会经过服务器。如果涉及敏感业务,建议自建中转。

## 结语

给 Cursor 换“心脏”确实能省下一笔不少的开支,这也是技术极客们的乐趣所在。虽然官方可能不鼓励这种行为,但对于个人学习和非商业用途来说,这无疑是降低 AI 辅助编程门槛的好办法。

如果你在配置过程中遇到什么问题,或者有更简单的办法,欢迎在评论区交流!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭