Zing 论坛

正文

Cursor 连接 DeepSeek 推理模型的本地代理方案

介绍 cursor-deepseek 项目,一个解决 Cursor IDE 与 DeepSeek 推理模型兼容性问题的本地代理工具,详细解析其工作原理、核心功能和使用方法。

CursorDeepSeek代理推理模型reasoning_content工具调用本地部署AI开发工具
发布时间 2026/05/09 15:43最近活动 2026/05/09 15:49预计阅读 2 分钟
Cursor 连接 DeepSeek 推理模型的本地代理方案
1

章节 01

导读 / 主楼:Cursor 连接 DeepSeek 推理模型的本地代理方案

介绍 cursor-deepseek 项目,一个解决 Cursor IDE 与 DeepSeek 推理模型兼容性问题的本地代理工具,详细解析其工作原理、核心功能和使用方法。

2

章节 02

问题背景

DeepSeek 的推理模型(如 deepseek-v4-pro 和 deepseek-v4-flash)在工具调用场景下有一个特殊要求:必须在后续请求中回传完整的 reasoning_content 链。然而,Cursor IDE 在发送工具调用请求时会省略这个字段,导致 API 返回 400 错误:

Provider returned error: reasoning_content must be passed back to the API.

这个错误让许多希望在 Cursor 中使用 DeepSeek 推理能力的开发者感到困扰。

3

章节 03

cursor-deepseek 的解决方案

cursor-deepseek 是一个本地代理服务,它在 Cursor 和上游 API 之间充当桥梁,自动存储和恢复 reasoning_content,使 DeepSeek 推理模型能够在 Cursor 中正常工作。

4

章节 04

核心工作原理

代理的工作流程分为五个步骤:

  1. 接收请求:监听 Cursor 发送的 /v1/chat/completions 请求
  2. 规范化载荷:移除不支持的字段,转换遗留的 function_call 格式,并向 Cursor 遗漏 reasoning_content 的工具调用消息中注入缓存的推理内容
  3. 转发请求:将转换后的请求发送到上游 API(如 DeepSeek 或 opencode)
  4. 重写响应:对于流式响应,累积 SSE 数据块,将 reasoning_content 镜像到可见的 Markdown 块中,并将推理内容缓存到 SQLite 供后续请求使用
  5. 返回结果:将重写后的响应返回给 Cursor

代理使用对话内容的 SHA-256 哈希作为缓存键,确保在具有重叠工具调用 ID 的并发对话中正确匹配 reasoning_content。

5

章节 05

reasoning_content 自动注入

这是项目的核心功能。代理会自动检测 Cursor 遗漏 reasoning_content 的请求,并从本地缓存中恢复该内容,避免 DeepSeek 的报错。

6

章节 06

推理过程可视化

代理将推理令牌镜像到 Cursor 可见的可折叠 Markdown 块中(使用 <details><summary>Thinking</summary>... 格式),让用户能够看到模型的思考过程。

7

章节 07

ngrok 隧道自动启动

由于 Cursor 会阻止非公共 API 端点(如 localhost),代理内置了 ngrok 隧道功能,自动启动公共 HTTPS 隧道,使 Cursor 能够访问本地代理。

8

章节 08

对话隔离机制

通过 SHA-256 哈希对对话上下文进行作用域限定,防止并发线程之间的工具调用 ID 冲突,确保每个对话的 reasoning_content 独立存储。