Kimi K2 挂进 Cursor 配置教程:base_url 末尾斜杠和 max_tokens 两处常见填错点
上周三我们项目要把 Cursor 里的 Kimi 模型切到最新版 K2(对,Moonshot 这命名属实反直觉,版本号不是线性递增的),结果填了两遍才跑通。问题出在两个地方:base_url 末尾路径格式,以及 max_tokens 不显式声明的话默认会截断输出。这篇把两个坑的具体填法逐步演示一遍,五分钟搞定。
这篇适合谁
- 已经在 Cursor 里用过 Kimi,现在想切到最新版或重新配置的
- 第一次在 Cursor 配 Moonshot API,搜到这篇想一步到位的
- 遇到
Failed to fetch或者输出莫名被截断、怀疑是配置问题的 - 团队里多人共用 API Key,需要统一配置规范的
整体流程
- 在 platform.moonshot.cn 确认模型 ID 和 Key
- Cursor 里打开 Settings > Models > Add Model
- 填 Base URL(末尾不加斜杠)
- 填 Model Name + API Key
- 显式声明 max_tokens(不填可能被截断)
- 用一条消息验证连通
graph LR
A[platform.moonshot.cn 拿 Key] --> B[Cursor Settings > Models]
B --> C[填 Base URL]
C --> D[填 Model Name]
D --> E[显式声明 max_tokens]
E --> F[发一条消息验证]
先说结论
| 配置项 | 填法 | 注意事项 |
|---|---|---|
| Base URL | https://api.moonshot.cn/v1 |
末尾不加斜杠,这是所有 OpenAI 兼容接口的通用规范 |
| Model Name | kimi-k2-0528(以 platform.moonshot.cn 模型列表为准) |
区分大小写,别手抖写成 Kimi-K2-0528 |
| max_tokens | 建议显式填 8192 或更高 |
不填时默认值较低,长输出容易被截断;具体默认值以 Moonshot 官方文档为准 |
第一步:确认你的 API Key 和模型 ID
先去 platform.moonshot.cn 控制台,在模型列表里确认你有权限访问的模型 ID(如 kimi-k2-0528),并复制好 API Key。
如果想用 curl 快速验证 Key 是否有效,可以参考 Moonshot 官方文档中的示例请求。注意:直接在终端硬编码 Key 有泄露风险,验证完记得清除命令历史。
如果请求返回:
Error: 400 Bad Request - model not found
说明你的 Key 还没开通该模型权限,或者模型 ID 填错了,回控制台确认一下。
第二步:Cursor 里填 Base URL(坑在这里)
打开 Cursor > Preferences > Cursor Settings > Models,点 Add Model。
Base URL 填:
https://api.moonshot.cn/v1
末尾不要加 /。这是所有 OpenAI 兼容接口的通用规范——据实测,Cursor 在拼接路径时会在 base_url 后追加 /chat/completions,如果末尾已有斜杠,就会拼成 /v1//chat/completions 双斜杠,导致请求失败:
Error: Failed to fetch - TypeError: Failed to fetch
这个报错信息毫无帮助,第一次排查很容易花很长时间才意识到是末尾多了个 /。养成不加末尾斜杠的习惯,对接任何 OpenAI 兼容接口都适用。
第三步:填 Model Name
Model Name 填(以 platform.moonshot.cn 模型列表显示的 ID 为准):
kimi-k2-0528
Moonshot 采用版本化命名规则,带发布日期后缀。这个 ID 区分大小写,别手抖写成 Kimi-K2-0528。如果后续 Moonshot 发布新版本,模型 ID 会变,以控制台列表为准。
第四步:显式声明 max_tokens(第二个坑)
不显式声明 max_tokens 时,Moonshot API 会使用默认值(具体数值以 Moonshot 官方文档 为准)。实测中这个默认值偏低,写代码时经常一个函数还没写完就被截断了,体验极差。
在 Cursor 的 model settings 里找到对应模型的参数配置区域(Settings > Models > 选中模型后的 Advanced 选项),在请求参数里加上:
{
"max_tokens": 8192
}
注意:max_tokens 是模型请求参数,应在 Cursor 的模型设置 UI 中配置,而不是写入 ~/.cursor/mcp.json——那个文件是 MCP(Model Context Protocol)服务器的配置文件,写进去对模型请求无效。
Kimi K2 支持最大 128K 上下文,但 max_tokens(输出上限)建议设 8192 或 16384,够用就行。设太大响应会变慢。
第五步:验证
在 Cursor 里随便开个文件,Cmd+K 调出 AI,问一句"用 Python 写一个快排",看输出是否完整、没有中途截断。
如果报 401:
Error: 401 Unauthorized - Invalid API key
大概率是 Key 复制的时候末尾被截断了,重新复制一次。
不同场景怎么选
个人开发者,就自己用:直接填 Moonshot 官方 api.moonshot.cn/v1,简单直接。Kimi K2 编码能力不错,写业务逻辑比较流畅。
团队多人共用,需要看每个人调了多少:如果你们团队超过 3 个人,建议走聚合 API 网关。OpenRouter、ofox.io 这类平台支持按成员维度查看 Token 消耗和费用明细,省得月底一个个对账。Cursor 里把 base_url 换成聚合平台的地址就行,模型 ID 保持一致。
想同时用 Kimi K2 和 Claude Sonnet 切换:Cursor 支持配多个 custom model,两个都配好,根据任务类型手动切——Kimi K2 写业务代码,Claude 做重构和代码审查,互补效果不错。
预算敏感,想控制日花费:具体定价以 platform.moonshot.cn 官方公告 为准,博客里的数字可能过时。如果觉得贵,可以把上下文窗口缩小或者选用更小的模型规格。
踩坑记录 / 常见问题 FAQ
Q: Cursor 里 Base URL 到底要不要加 /chat/completions?
A: 不要加。据实测 Cursor 会自动拼接这个路径。你只填到 /v1 即可,末尾不带斜杠。
Q: 填了模型 ID 报 model not found,怎么排查?
A: 去 platform.moonshot.cn 的模型列表确认你的 Key 有权限访问的模型 ID,以控制台显示为准。Moonshot 后续可能还会更新模型 ID,建议定期核对。
Q: 输出总是在中间断掉,像是被截断了?
A: 大概率是 max_tokens 没显式声明,默认值偏低。在 Cursor model settings 里加上 "max_tokens": 8192 或更高。具体默认值以 Moonshot 官方文档为准。
Q: Kimi K2 系列版本号怎么理解?
A: Moonshot 的版本号不是线性递增的,命名规则比较反直觉,社区也普遍吐槽过。建议以 platform.moonshot.cn 控制台的模型列表和官方公告为准,不要凭版本号大小判断新旧。
Q: 能用 Kimi 的 Function Calling 吗?
A: 可以。Kimi API 支持 tools/function calling,Cursor 在 Agent 模式下会自动调用。K2 系列的 function calling 稳定性有待持续观察,有新结论了再更新。
小结
两个坑:base_url 末尾别加斜杠(这是所有 OpenAI 兼容接口的通用规范),max_tokens 建议显式声明。折腾半天其实就这两行的事,但报错信息太模糊,不看文档根本猜不到原因。配置过程有问题评论区聊。
更多推荐

所有评论(0)