Cursor 自定義 API 配置:Base URL 作用範圍與不生效排查

部落格 / 開發工具

Cursor 自定義 API 配置:Base URL 作用範圍與不生效排查

Cursor 自定義 API 能做的事比很多教程說的要少:在設定裡填 OpenAI API Key 並開啟 Override OpenAI Base URL,只會影響聊天、Agent 這類會呼叫"OpenAI 格式模型"的功能,Tab 補全仍然走 Cursor 自家的模型;而且請求是先發到 Cursor 的雲端、再由雲端轉發到你填的地址,所以 localhost 和內網地址填了也不會生效。弄清這兩點,大部分"配了沒反應"的問題就能定位。

下面先把作用範圍列成一張表,再給一條排查順序。文中提到的設定項名稱以撰寫時 Cursor 的英文介面為準,Cursor 更新頻繁,選單位置可能變化,遇到不一致請以 Cursor 官方文件 和你當前版本的設定頁為準。

Cursor 的自定義 API Key 和 Base URL 到底管什麼?

在 Cursor Settings 的 Models 頁面裡,通常能看到幾組 API Key 輸入框(OpenAI、Anthropic、Google 等),OpenAI 那一組下面有一個 Override OpenAI Base URL 的開關。它的含義是:凡是 Cursor 按 OpenAI 介面格式去呼叫的模型,都改為把請求發到你填的地址,並帶上你填的 Key。

幾個容易誤解的地方:

問題實際情況影響
覆蓋的是一個模型還是全部?開啟 Override 後作用於所有走 OpenAI 格式的模型,不是隻改你新加的那個你的端點不認識的模型名會直接報錯
Tab 補全會走自定義端點嗎?不會。Tab 用的是 Cursor 自家的補全模型自定義 Key 不能替代 Cursor 訂閱裡的補全額度
請求從哪裡發出?從 Cursor 的伺服器發出,不是從你的電腦直接發出localhost、127.0.0.1、192.168.x.x 無效,地址必須公網可達
所有功能都能用自定義模型嗎?不一定。部分功能(例如某些 Agent 能力、程式碼應用)依賴 Cursor 自己的模型或特定能力,自定義模型可能不可選或表現不同同一個模型在 Ask 能用、在 Agent 報錯是常見現象
填了 Key 會不會還走 Cursor 額度?走自定義 Key 的那部分請求按你的 Key 計費;沒被覆蓋的功能(如 Tab)照常用 Cursor 的賬單要分兩邊看
程式碼會不會經過 Cursor?會。即使用自己的 Key,提示詞也是在 Cursor 服務端拼裝後轉發涉及隱私時要同時看 Cursor 和端點方兩邊的資料政策

如果你選自定義端點是出於資料方面的考慮,要知道資料會同時經過 Cursor 和端點提供方兩家,兩份政策都要讀。怎麼讀資料政策可以參考用第三方 AI API 時,程式碼和對話會被看到嗎。

為什麼填了 Base URL 還是不生效?

Cursor 論壇裡的同類求助,原因大致是這幾類:

  1. 地址從公網訪問不到。 前面說過,請求由 Cursor 服務端發出。你本機能 curl 通,不代表 Cursor 的伺服器能訪問到。本地起的代理、公司內網閘道器、只在本機 hosts 裡解析的域名都屬於這一類。
  2. 路徑少了或多了 /v1。 大多數 OpenAI 相容端點要求 Base URL 寫到 /v1 為止,例如 https://api.example.com/v1,Cursor 再自己拼接 /chat/completions。寫成 https://api.example.com 或 https://api.example.com/v1/chat/completions 都可能 404。具體以端點方文件為準。
  3. 介面格式不匹配。 Override OpenAI Base URL 只會發 OpenAI 格式的請求。如果端點只支援 Anthropic 的 Messages 格式,或者對 OpenAI 格式支援不完整(比如不支援流式、不支援 tools 欄位),就會出現 Ask 能用、Agent 報錯的情況。
  4. 模型名不對。 你在 Cursor 裡新增的模型名要和端點 /v1/models 返回的 id 完全一致,大小寫和字首都算。開啟 Override 後,Cursor 內建的其他 OpenAI 模型名也會發到你的端點,端點不認識就報錯,所以建議把用不到的模型在列表裡關掉。
  5. 網路層的 HTTP/2 問題。 有些網路環境(公司代理、部分安全軟體)對 HTTP/2 長連線處理不好,表現為請求掛起或流式輸出中斷。Cursor 設定的 Network 部分提供 HTTP 相容模式,可以切到 HTTP/1.1 再試。注意這個設定影響的是你的電腦到 Cursor 伺服器這一段,不是 Cursor 到你端點的那一段。
  6. Key 驗證沒過。點 Verify 時 Cursor 會發一個測試請求;驗證沒透過時,先看報錯原文定位原因,不要反覆重填。

一條可以照做的排查順序

按下面順序做,每一步只改一個變數。

第 1 步:先確認 Cursor 本身沒出問題

自定義端點不通時,先排除 Cursor 服務端故障,因為請求必須經過它。開啟 Cursor 掛了嗎 看當前報告,或在 API 狀態頁 查同步過來的 Cursor 官方狀態頁事件。cdnping 每 15 分鐘同步一次 Cursor 官方狀態頁。按 cdnping 同步到的記錄,2026-09-17 到 2026-10-17 期間 Cursor 狀態頁共有 25 起事件,其中 major 5 起、minor 20 起;例如 2026-10-13 00:22(UTC)開始的 "Degraded performance and errors across Cursor services" 持續約 165 分鐘。cdnping 自己的探測從 2026-10-17 才開始,這裡的事件數取自官方狀態頁的歷史記錄,視窗只有一個月,不是長期統計。

如果這段時間裡 Cursor 有事件,先等它恢復再排查自己的配置。事件等級和元件怎麼看,可以參考怎麼看 OpenAI 狀態頁和 Claude 狀態頁,方法對 Cursor 狀態頁同樣適用。如果同一時段其他 AI 服務也在報錯,可以對照 AI 服務故障盤點:2026 年 9–10 月 判斷是不是上游的共性問題。

第 2 步:用 curl 從公網驗證端點

不要只在本機測。最好在一臺雲伺服器上,或至少換一個網路執行:

# 把 BASE 換成你在 Cursor 裡填的 Base URL(通常以 /v1 結尾)
BASE="https://api.example.com/v1"
KEY="sk-xxxx"

# 1) 列模型:確認地址可達、Key 有效,並拿到準確的模型 id
curl -sS "$BASE/models" -H "Authorization: Bearer $KEY" | head -c 800; echo

# 2) 非流式對話:把 your-model-id 換成上一步返回的 id
curl -sS "$BASE/chat/completions" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"your-model-id","messages":[{"role":"user","content":"ping"}]}'

# 3) 流式對話:Cursor 聊天使用流式,必須單獨測
curl -sSN "$BASE/chat/completions" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"your-model-id","stream":true,"messages":[{"role":"user","content":"ping"}]}'

判斷方法:

  • 第 1 條返回 HTML 頁面或 404:Base URL 路徑不對。
  • 第 1 條通、第 2 條報 model not found:模型名不對。
  • 第 2 條通、第 3 條沒有逐行返回 data: 開頭的內容:端點不支援流式,Cursor 裡會表現為卡住或報錯。
  • 三條都通,Cursor 裡仍然不行:問題在 Cursor 側的配置或功能限制,繼續第 3 步。

如果想順便看連線質量,可以用 cdnping 首頁的線上測速,它在瀏覽器裡測各家 AI API 的首次連線(含 DNS 與 TLS 握手)和往返時間。不過這測的是"你的瀏覽器到端點",和"Cursor 伺服器到端點"不是同一條路徑,只能作為參考。延遲由哪幾段組成,見 AI API 延遲拆解:連線建立、閘道器往返與首 token 時間。

第 3 步:在 Cursor 裡收窄變數

  1. 在 Models 列表裡只保留一個你確認存在的模型 id,其他 OpenAI 模型先關掉。
  2. 重新點 Verify,記下報錯原文。
  3. 先在 Ask(問答)模式發一句簡單的話;能用之後,再切到 Agent 模式試同樣的問題。
  4. Ask 正常、Agent 報錯:大機率是端點對 tools/function calling 的支援不完整,或該功能本身不支援自定義模型。前者問端點方,後者看 Cursor 文件。
  5. 兩個模式都卡住、流式中斷:到 Network 設定裡切 HTTP 相容模式(HTTP/1.1),重啟 Cursor 後再試。

第 4 步:確認地址確實是公網可達的 HTTPS

如果你的端點跑在本地或內網,Cursor 服務端連不到它,這是架構決定的,換配置解決不了。需要部署到一個有公網域名、證書有效的地址上。順帶檢查一下域名解析是否在不同網路下一致,以及證書鏈是否完整,瀏覽器開啟 https://你的域名/v1/models 不報證書警告是最低要求。

排查檢查表

把上面的內容壓縮成一張表,排查時逐項勾:

檢查項怎麼確認透過標準
Cursor 服務正常/down/cursor、/status當前無進行中的事件
Base URL 路徑curl $BASE/models返回 JSON 模型列表
公網可達在另一臺機器或網路執行 curl與本機結果一致
模型 id對照 /models 返回與 Cursor 中填寫的完全一致
流式支援curl 帶 "stream":true逐行返回 data:
其他模型已關閉Cursor Models 列表只啟用端點支援的模型
Verify 結果設定頁無報錯
Ask / Agent 分別測試Cursor 聊天面板至少 Ask 可用
HTTP 相容模式Network 設定流式卡頓時切 HTTP/1.1 再試

選端點時還要看什麼?

自定義端點接進 Cursor 以後,所有 OpenAI 格式的請求都會經過它,它出問題時 Cursor 的聊天和 Agent 也跟著不可用。接入前建議確認這幾項:

舉個例子,AGI Plan 是一個同時相容 OpenAI 和 Anthropic 介面格式的聚合閘道器(AGI Plan 是 cdnping 的商業合作方),Cursor 屬於"能填介面地址 + API Key"的工具之一,接入方式就是上面這套:Base URL 填它的地址,模型名照它 /models 的返回填寫。它在 https://agiplan.dev/api/status/requests?month=YYYY-MM 公開逐小時、逐能力組的請求成功與失敗計數,不需要登入,可以自己下載核對;站方也明確說明自己不是官方授權渠道。無論選哪家,都請先讀清服務條款,並遵守所在地的法規和各模型提供方的使用政策。

相關文章

繼續閱讀