三个框里最容易填错的是 Base URL。密钥复制错了会 401,模型名抄错了会 model_not_found;地址多写或少写一层,常见是 404,响应里还能看到 /v1/v1/chat/completions。

先记住一件事
Base URL 是「根地址」,不是完整接口。OpenAI 兼容客户端会在后面自己拼 /chat/completions 或 /models。你如果把完整路径也填进去,路径就会叠两层。
官方 Chat Completions 的完整地址是 POST https://api.openai.com/v1/chat/completions。用官方 SDK 时,base_url 填到 https://api.openai.com/v1 即可,不要填到 /chat/completions。
按软件对照
| 软件 | /v1 怎么处理 | 不要填 |
|---|---|---|
| OpenAI 官方 SDK / 多数兼容客户端 | 要带 /v1:https://api.openai.com/v1 |
…/v1/chat/completions;末尾多余的 / 有的库会拼出双斜杠 |
| DeepSeek 官方 API | 文档给的 OpenAI 格式根地址是 https://api.deepseek.com。为了兼容,也可以写成 https://api.deepseek.com/v1。这里的 v1 不是模型版本。 |
把聊天完整路径贴进 Base URL |
| Cursor(Override OpenAI Base URL) | 多数兼容端写成 https://主机/v1。Cursor 会自己补接口路径。 |
…/v1/chat/completions;也不要漏掉软件要求的那一层 /v1 |
| Cherry Studio | 按官方说明:如果服务商给的是 https://xxx.xxx.com/v1/chat/completions,只填根地址 https://xxx.xxx.com。Cherry 会自动拼 /v1/chat/completions。 |
完整接口;以及随手在末尾加的 / 或 #(# 在 Cherry 里表示「不要再拼接」,乱加会变成 405) |
Cherry 的 # 是开关,不是装饰
Cherry Studio 文档写得很清楚:API 地址用 # 结尾时,不再拼接,只用你填的字符串。路径不是常规 /v1/chat/completions 时才需要这么做。
社区里大量 405,就是普通 OpenAI 兼容地址末尾多打了 # 或 /。默认情况:只填根,不要自己加号。
DeepSeek 为什么两套都能用
DeepSeek 文档(中文):根地址是 https://api.deepseek.com;「出于与 OpenAI 兼容考虑,也可以设为 https://api.deepseek.com/v1」。示例 curl 打的是 https://api.deepseek.com/chat/completions(根地址后面直接接接口)。
所以:
- 软件会自动加
/v1→ 你填https://api.deepseek.com - 软件要求 OpenAI SDK 那种带版本的 base → 可以填
https://api.deepseek.com/v1 - 两种都 404 时,看实际请求路径里有没有
/v1/v1或少了/chat/completions
现场判断
- 打开客户端日志或用代理看实际 URL。
- 出现
/v1/v1/:删你填的那一层/v1。 - 实际打到
/chat/completions而官方要/v1/chat/completions:补/v1。 - Cherry 报 405:先去掉地址末尾的
/和#。 - Key、地址、模型必须来自同一家。OpenAI 的 Key 打到别的主机,或反过来,都会表现为 401 / 404,看起来像「地址填错」。
和另外两条线分开
网页版 ChatGPT 打不开、官方订阅登录的 CLI、自己填的 API Key,是三条链路。改 Base URL 救不了网页 Network Error;网页能打开也不等于 Cursor 里的自定义地址是对的。

AI故障手册