土土金 Tutujin API › Cursor

Cursor 接自定义 API:先看清它覆盖不到的地方

先讲限制再讲配置。很多人配完发现账单没变化,不是配错了,是这个开关本来就管不到那部分。

口径核对时间 2026-08 · Cursor 版本迭代很快,最终以你当前版本与 Cursor 官方文档为准

先给结论

最容易白忙一场的一点:Cursor 的 Override OpenAI Base URL 只作用于会话面板里走 OpenAI 兼容模型的请求Tab 自动补全,以及 Cursor 自家的 Composer 系列模型,仍然由 Cursor 官方后端提供——它们不会因为你配了自定义 Base URL 就转走。

换句话说:配完之后,你日常用得最多的那部分很可能一点没变便宜。想清楚这条再往下配,就不会有落差。配置本身只有三步:填 key、填以 /v1 结尾的 Base URL、添加模型名后 Verify。

一、边界:哪些会走你的 API,哪些不会

Cursor 功能会走自定义 Base URL 吗说明
会话面板(Chat / Ask)✅ 会选中你手动添加的 OpenAI 兼容模型时
Plan / 规划类对话✅ 通常会同上,取决于当前选中的模型
Composer 等 Cursor 自研模型❌ 不会选中这类模型时会直接提示不支持自定义 key
Tab 自动补全❌ 不会由 Cursor 自己的补全模型提供
行内编辑 / 代码索引等内部能力❌ 不会由 Cursor 后端承担

这张表怎么来的、可信度多少:来自 Cursor 官方文档与社区一致反馈的交叉口径(2026-08 核对),不是我们的实测承诺。Cursor 每次发版都可能调整这条边界。真要确认,最直接的办法是配好之后看网关侧的调用日志:哪些操作产生了调用、哪些没有,一目了然。

二、三步配置

  1. 填 key:Cursor Settings → Models → OpenAI API Key,填入你在土土金控制台生成的令牌。
  2. 开覆盖并填地址:勾选 Override OpenAI Base URL,填 https://api.tutujin.com/v1
  3. 加模型名并 Verify:在模型列表里手动添加网关实际提供的模型名,例如 gpt-4ogpt-4.1gpt-4o-mini,然后点 Verify。

模型名必须与 /api/pricing 里的写法完全一致——很多模型名带日期后缀,写短了 Verify 一定过不去。可用模型清单见模型与接口页

三、/v1 结尾的坑

写法结果
https://api.tutujin.com/v1✅ 正确
https://api.tutujin.com❌ 少了 /v1,请求打到 /chat/completions → 404
https://api.tutujin.com/v1/chat/completions❌ 写全了,会被再拼一次 → 404
https://api.tutujin.com/v1/⚠️ 结尾多一个斜杠,部分版本会拼出 //chat/completions

顺带记一下三个工具的约定,省得互相串味:Cursor 与 OpenAI SDK 都要带 /v1;Claude Code 的 ANTHROPIC_BASE_URL 不要带(详见 Claude Code 页)。

四、内置模型和自定义模型并存,会导致调度混乱

开启覆盖之后,模型下拉里同时存在两类条目:Cursor 内置的(走官方后端)和你手动添加的(走你的网关)。名字相同或相近时,很容易在切换会话后不知不觉切回内置模型,然后你会得到两个误判之一:

建议:把用不到的同系列内置模型关掉,只留你自己添加的那几个;然后拿网关的调用日志作为唯一判据。

五、Verify 失败怎么查

现象先查什么
Verify 报网络/连接失败Base URL 拼写、是否以 /v1 结尾、有没有多余斜杠
Verify 报 401 / 鉴权失败令牌是否正确、是否被删、余额是否充足
Verify 报模型不存在模型名写法(带日期后缀的要写全)、该模型是否在你的分组
提示该模型不支持自定义 key你选中的是 Cursor 自研模型,换成你添加的 OpenAI 兼容模型
配置看似都对但就是不通先用 curl 绕开 Cursor 验一次(见下)
curl https://api.tutujin.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TUTUJIN_KEY" \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"ping"}]}'

这条 curl 能正常返回内容,说明网关侧没问题,剩下的就都是 Cursor 侧配置。若返回 401 或 404,先按 SDK 迁移页的报错速查表排查。

六、想让编码 Agent 全程走自己的 API?

如果你的真实目的是「把编码 Agent 的所有请求都换成自己的 API」,Cursor 这条路天生做不到——它的核心能力就建立在自家后端上。更直接的路线是 Claude Code + ANTHROPIC_BASE_URL:那条路是整条链路都走你指定的地址,配置见 Claude Code 接第三方 API

成本上也要算清楚:Cursor 是订阅制、额度用完才按量;自建 Agent 是纯按量。哪个便宜取决于你的用量,把两边的单价按计费公式各算一遍再决定,别凭感觉。

常见问题

配了自定义 API 为什么没省钱?

因为 Tab 补全与 Cursor 自研模型不走这个开关,而它们往往正是你用量最大的部分。判断方法:看网关的调用日志——没有调用记录就说明请求根本没过来。

Base URL 要不要带 /v1?

要带,填 https://api.tutujin.com/v1;不要写到 /chat/completions,也注意结尾别多斜杠。

Verify 一直失败?

按顺序查:Base URL 结尾 → 令牌与余额 → 模型名写法与分组 → 是否选中了 Cursor 自研模型。都排掉之后,用上面那条 curl 绕开 Cursor 验一次。

能不能让 Composer 或 Tab 也走中转?

按目前公开信息不能。要整条链路走自己的 API,请改走 Claude Code 路线。

模型下拉里没有我添加的模型?

模型名要与 /api/pricing 完全一致(注意日期后缀),且必须在你所属分组内、且是对话类模型。同时建议关掉同名内置模型。