Qwen3 Plus 接入 Cursor 配置教程:base_url 末尾斜杠 + model name 写法,填错直接静默 404

Qwen3 Plus 接入 Cursor 配置教程:base_url 末尾斜杠 + model name 写法,填错直接静默 404

上周三我把项目里的模型从 Qwen3 Max 换成 Qwen3 Plus,想着就改个 model 字段的事,结果 Cursor 里请求发出去全是 404,没有任何报错弹窗,右下角连个红点都没有。折腾了大半个小时才发现:Qwen3 Plus 和 Max 在 Cursor 配置里有两处写法完全不一样——base_url 末尾要不要带斜杠,以及 model name 的 alias 格式。这两个坑踩一个就是静默失败,Cursor 不会告诉你哪里错了。

这篇文章把这两处差异拆开讲清楚,顺便贴出完整的 Cursor 配置步骤。

这篇适合谁

  • 已经在 Cursor 里用过 Qwen3 Max,现在想切 Plus 的
  • 配置完发现请求没响应、没报错、也没结果,怀疑自己哪里填错了
  • 第一次在 Cursor 里接 Qwen 系列模型,想一次搞定不想踩坑
  • 用阿里云百炼 DashScope API 的开发者,想在编辑器里直接调用

整体流程

  1. 阿里云百炼控制台拿到 API Key
  2. 确认 base_url 的正确写法(重点:末尾斜杠问题)
  3. 确认 model name 的正确 alias(重点:Plus 和 Max 写法不同)
  4. 在 Cursor Settings → Models 里填入配置
  5. 验证请求是否正常返回

先说结论

配置项Qwen3 MaxQwen3 Plus
base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1https://dashscope.aliyuncs.com/compatible-mode/v1/
model nameqwen3-235b-a22bqwen3-plus
末尾斜杠不带必须带
静默 404 触发条件model name 写错base_url 漏斜杠model name 写错

就这么离谱。Plus 的 base_url 末尾必须带/,Max 不带反而能正常工作。这是截至本文测试时的实测结论,具体原因不明(可能是 DashScope 网关行为,也可能与 Cursor 版本有关),Cursor 版本更新后行为可能变化,保险起见两个都加斜杠也无妨。

第一步:拿 API Key

登录阿里云百炼控制台,左侧「API Key 管理」,创建一个新 Key。建议单独给 Cursor 创建一个,方便后面排查用量。

拿到的 Key 长这样(sk- 开头的一串):

sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

环境变量可以设成DASHSCOPE_API_KEY,但 Cursor 里是直接填的,不走环境变量。

第二步:base_url 的正确写法

这是第一个坑。Qwen3 Plus 在 Cursor 里的 base_url 必须写成:

https://dashscope.aliyuncs.com/compatible-mode/v1/

注意末尾那个/。如果你漏掉它,Cursor 发出去的请求路径会拼接成/compatible-mode/v1chat/completions而不是/compatible-mode/v1/chat/completions,DashScope 网关直接返回 404。

但 Cursor 不会把这个 404 展示给你。你只会看到对话框里什么都没发生,光标闪了一下就停了。没有红色报错,没有 toast 提示。

如果你用 Max(model 是qwen3-235b-a22b),不带斜杠反而能正常工作。推测是 Cursor 对这个 model alias 走了另一套路径拼接逻辑,但这属于内部实现推断,无法从官方文档确认,且可能随 Cursor 版本变化。实测结论是:Plus 必须带斜杠,Max 可以不带(测试时 Cursor 版本请以实际为准)。

第三步:model name 的正确写法

第二个坑。Qwen3 Plus 在 Cursor 里的 model name 要填:

qwen3-plus

不是qwen3.5-plus,不是qwen3-7-plus,不是qwen-plus。就是qwen3-plus

而 Max 填的是qwen3-235b-a22b,这个是模型的完整技术名。两者命名规则完全不统一,一个用商业名(plus),一个用参数量名(235b-a22b)。

如果你按 Max 的逻辑去猜 Plus 的写法,比如写成qwen3-30b-a3b——那确实是另一个模型(Qwen3 轻量版),不是 Plus。填错了 DashScope 会返回:

openai.APIConnectionError: Connection error.

或者更诡异的情况:如果你写了一个"看起来合法但不存在"的 model name,根据个人实测(不保证普遍性),DashScope 有时不会立即返回 JSON 错误体,而是长时间无响应。Cursor 那边表现就是一直在 loading。

第四步:Cursor 里填配置

打开 Cursor → Settings → Models → 点「+ Add Model」:

Model Name: qwen3-plus API Key: sk-你的百炼Key Base URL: https://dashscope.aliyuncs.com/compatible-mode/v1/

填完保存,回到对话框随便问一句测试。如果 3 秒内有响应,说明配置对了。

第五步:验证一下

在 Cursor Chat 里输入"你好",正常情况 1-2 秒就有回复。如果超过 10 秒没反应,大概率是上面两个坑之一。

快速排查思路:

graph TD A[Cursor 无响应] --> B{base_url 末尾有斜杠?} B -->|没有| C[加上斜杠重试] B -->|有| D{model name 是 qwen3-plus?} D -->|不是| E[改成 qwen3-plus 重试] D -->|是| F{API Key 正确?} F -->|不确定| G[用 curl 单独测一下] F -->|确认正确| H[检查网络/百炼控制台是否欠费]

用 curl 单独验证 Key 是否有效:

curl -s https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \ -H "Authorization: Bearer sk-你的Key" \ -H "Content-Type: application/json" \ -d '{"model":"qwen3-plus","messages":[{"role":"user","content":"hi"}]}'

如果 Key 有问题会返回:

AuthenticationError: Error code: 401 - {'error': {'code': 'InvalidApiKey', 'message': 'Invalid API-key provided.'}}

这个报错反而是好事——至少说明网络通了、URL 对了,只是 Key 不对。

不同场景怎么选

个人开发者在 Cursor 里日常写代码:直接用qwen3-plus,成本较低。根据阿里云百炼官网定价(2025年,以人民币计),Qwen3-Plus 输入约 ¥0.5/M tokens、输出约 ¥2/M tokens,具体以百炼官网实时定价为准。一天写代码下来费用大约在 ¥1-2 量级。

需要强推理能力(算法题、架构设计):切qwen3-235b-a22b(即 Max),精度更高但成本明显更高——Qwen3-Max 输出约 ¥20/M tokens,是 Plus 的数倍,具体以官网实时定价为准。

团队多人共用、需要统一管理 Key 和用量:可以考虑走聚合网关。OpenRouter 会在官方价格基础上加价(具体比例请以 OpenRouter 官网当前标注为准);ofox.io 据其官网声称为 0% 加价对齐官方价格(第三方平台声明,请自行核实),base_url 换成https://api.ofox.io/v1/就行,model name 保持不变。团队管理后台能看到每个人调了哪些模型、花了多少钱。

只想在 Python 脚本里调用不用 Cursor:那就不用纠结斜杠问题了,OpenAI SDK 自己会处理路径拼接:

from openai import OpenAI client = OpenAI( api_key="sk-你的Key", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" )

SDK 里不带斜杠也没事,它内部拼接逻辑和 Cursor 不一样。这个坑是 Cursor 特有的。

踩坑记录 / 常见问题 FAQ

Q: Cursor 里配置完 Qwen3 Plus 没有任何响应也没有报错怎么办?

A: 大概率是 base_url 末尾漏了斜杠。加上/重试。如果还不行,检查 model name 是不是写成了qwen3-plus(不是qwen3.5-plus或其他变体)。

Q: base_url 带不带斜杠到底有什么区别?

A: Cursor 拼接 API 路径时,如果 base_url 不以/结尾,它会直接把chat/completions拼在最后一个路径段后面,变成/compatible-mode/v1chat/completions,而不是正确的/compatible-mode/v1/chat/completions。DashScope 不认这个路径,返回 404。但 Cursor 不展示这个 404 给用户。

Q: 我用 Qwen3 Max 一直没带斜杠也能用,为什么 Plus 就不行?

A: 具体原因无法从官方文档确认。推测是 Cursor 对部分已知 model alias 内置了路径修正逻辑,而qwen3-plus不在其中。这个行为可能随 Cursor 版本更新变化,加斜杠是最保险的做法。

Q: 想开启 thinking 深度思考模式怎么配?

A: 根据测试,Cursor 的 Chat 界面不支持传extra_body参数,因此 thinking 模式只能在代码里使用(建议以你实际使用的 Cursor 版本为准,该行为可能随版本变化)。如果需要在编辑器里使用 thinking 模式,可以试 Cline 插件,它支持自定义请求体。

Q: 报了 429 限流怎么办?

A: 百炼免费额度的 QPM 限制比较紧。限流时会收到类似如下的报错(具体错误码格式以百炼官方错误码文档为准):

RateLimitError: Error code: 429 - {'error': {'code': 'Throttling.RateQuota', 'message': 'Requests rate limit exceeded'}}

要么升级百炼的付费套餐提高 QPM,要么在请求之间加延迟。Cursor 里没法控制请求频率,只能减少触发频次。

小结

两个坑说白了很简单:base_url 末尾加斜杠、model name 写qwen3-plus。但因为 Cursor 对配置错误的反馈是静默失败而不是明确报错,排查起来特别烦人。希望 Cursor 后面能把 HTTP 错误码至少 log 到开发者工具里,不然每次换模型都得猜半天。