Conecte DeepSeek V4-Pro a Cursor con su configuración predeterminada compatible con OpenAI y la primera llamada a la herramienta devuelve un error 400. La razón es pequeña pero obstinada: V4-Pro es un modelo de pensamiento que devuelve un bloque reasoning_content, Cursor elimina ese campo de sus solicitudes de seguimiento y la API de DeepSeek rechaza los mensajes de llamada a la herramienta que omiten la cadena de razonamiento. Un proxy de código abierto en yxlao/deepseek-cursor-proxy almacena en caché el contenido de razonamiento y lo reinyecta en las solicitudes salientes. Una vez que el proxy está en funcionamiento, V4-Pro se comporta como cualquier otro modelo en el panel de modelos personalizados de Cursor, con los tokens de pensamiento renderizados como markdown colapsable. A continuación se presenta la configuración completa, el cálculo de costos y la lista de solución de problemas.
TL;DR
- Cursor más DeepSeek V4-Pro devuelve errores 400 por defecto, porque V4-Pro es un modelo de pensamiento y Cursor elimina
reasoning_contenten los mensajes de llamada a la herramienta. deepseek-cursor-proxy(código abierto, Python) se interpone entre Cursor y DeepSeek, almacena en caché elreasoning_contentde cada conversación y lo reinyecta para que las llamadas a la herramienta no fallen.- Configuración: instale a través de
uvopip, ejecutedeepseek-cursor-proxy, pegue la URL de ngrok más su clave API de DeepSeek en la configuración de modelos personalizados de Cursor. - V4-Pro dentro de Cursor ahora cuesta aproximadamente $0.87 por millón de tokens de salida, aproximadamente 34 veces más barato que GPT-5.5 en la salida. Consulte El recorte de precios permanente del 75% de DeepSeek V4-Pro ya está aquí para el contexto completo de precios.
Por qué necesitas un proxy en primer lugar
V4-Pro devuelve dos cosas en cada respuesta: un campo content regular y un campo reasoning_content que contiene la cadena de pensamiento. Para el chat ordinario, puedes ignorar reasoning_content. El problema comienza con las llamadas a herramientas.
El contrato de API de DeepSeek para modelos de pensamiento requiere que, cuando continúas una conversación que contenía un bloque reasoning_content, incluyas ese bloque en la siguiente solicitud junto con el resultado de tool_calls. La cadena de razonamiento es parte del estado de la conversación. Cursor no conoce este requisito. Envía un cliente de chat estilo OpenAI, y reasoning_content no forma parte del esquema de OpenAI, por lo que elimina el campo. La siguiente llamada a la herramienta devuelve un HTTP 400 y un mensaje sobre un reasoning_content faltante.
Esto no es exactamente un error de Cursor. Es una falta de coincidencia de contrato entre dos proveedores que comparten la mayor parte de su superficie de API. Hasta que Cursor agregue soporte de primera clase para V4-Pro o DeepSeek flexibilice el contrato, la solución es un proxy que recuerde lo que Cursor olvidó.
Lo que hace el proxy, en tres líneas
- Escucha en un puerto local (por defecto 9000) las solicitudes de chat salientes de Cursor.
- Almacena en caché el
reasoning_contentde cada respuesta de V4-Pro, indexado por SHA-256 del prefijo canónico de la conversación. - En cada nueva solicitud, busca el
reasoning_contentalmacenado en caché para el prefijo coincidente y lo añade al mensaje antes de reenviarlo a DeepSeek.
También expone el puerto local a través de un túnel ngrok, porque la configuración del modelo personalizado de Cursor requiere HTTPS y no aceptará una URL localhost.
La caché se encuentra en ~/.deepseek-cursor-proxy/reasoning_content.sqlite3. El uso de SHA-256 como clave significa que dos conversaciones paralelas no colisionan. El contenido de razonamiento se almacena exactamente como lo devolvió DeepSeek, por lo que la propia caché de prompts de DeepSeek sigue funcionando, lo cual es importante para los nuevos precios permanentes.
Requisitos previos
Necesitas cuatro elementos antes de empezar:
- Cursor 2.0 o más reciente. La interfaz de usuario del modelo personalizado es la misma en 3.x; cualquiera funciona.
- Una clave API de DeepSeek. Regístrate en platform.deepseek.com si no tienes una. Un pequeño saldo es suficiente; los detalles de precios están abajo.
- Python 3.11 o más reciente. El proxy es puro Python. Se recomienda
uvperopiptambién funciona. - Una cuenta de ngrok con un authtoken. La capa gratuita es suficiente para desarrolladores individuales. Los dominios estáticos son opcionales pero facilitan la vida si reinicias el proxy a menudo.
Si nunca has instalado uv, consulta la documentación oficial de instalación de uv. Para ngrok, la guía de inicio rápido de ngrok te guiará a través del paso del authtoken.
Paso 1: Instalar el proxy
La ruta más rápida es uv. Desde cualquier directorio:
uv tool install deepseek-cursor-proxy
Si prefieres pip, clona el repositorio e instálalo como un paquete editable:
git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Cualquiera de las dos rutas coloca un comando deepseek-cursor-proxy en tu PATH. Verifica con deepseek-cursor-proxy --help.
Paso 2: Configurar ngrok
El proxy necesita una URL HTTPS pública porque el campo de modelo personalizado de Cursor no aceptará http://localhost. ngrok proporciona el túnel.
ngrok config add-authtoken YOUR_NGROK_AUTHTOKEN
Obtén tu authtoken del panel de ngrok después de registrarte. La capa gratuita te da un subdominio aleatorio en cada reinicio. Si eso es un problema, reclama un dominio reservado en el panel de control y pásalo al proxy con --ngrok-url https://your-reserved.ngrok-free.app.
Paso 3: Iniciar el proxy
Los valores predeterminados son adecuados para la mayoría de las configuraciones:
deepseek-cursor-proxy
En la primera ejecución, el proxy crea ~/.deepseek-cursor-proxy/config.yaml, abre un túnel e imprime la URL pública. La salida se ve así:
Starting deepseek-cursor-proxy
Tunnel: https://random-name.ngrok-free.app
Local: http://127.0.0.1:9000
Cache: /Users/you/.deepseek-cursor-proxy/reasoning_content.sqlite3
Banderas útiles (flags):
--port 9000: cambia el puerto local si el 9000 está ocupado.--verbose: imprime los cuerpos de solicitud y respuesta. Úsalo al depurar la integración de Cursor.--no-ngrok: omite el túnel. Útil al probar desde una herramienta que aceptahttp://localhost.--no-display-reasoning: elimina los bloques de pensamiento colapsables de la vista de Cursor. El razonamiento sigue fluyendo; solo se suprime la renderización.
Mantén el proxy ejecutándose en una terminal separada, o envuélvelo en un trabajo de launchctl en macOS. Cursor se comunica con él en cada solicitud.
Paso 4: Configurar Cursor
Abre la configuración de Cursor, navega a Modelos y añade un modelo personalizado. Los campos que necesitas:
- Nombre del modelo:
deepseek-v4-pro. El proxy reenvía esta cadena directamente a DeepSeek, por lo que debe coincidir con un identificador de modelo real de DeepSeek. Usadeepseek-v4-flashpara la variante más económica. - URL base: la URL de ngrok que imprimió el proxy, más
/v1. Ejemplo:https://random-name.ngrok-free.app/v1. - Clave API: tu clave API de DeepSeek (comienza con
sk-). El proxy no tiene su propia capa de autenticación; reenvía la clave tal cual.
Cursor ejecuta una comprobación de “Verificar modelo”. La comprobación envía una única finalización de chat. Un tic verde significa que has terminado. Un error de conexión generalmente apunta a la URL de ngrok: cópiala de nuevo de la salida del proxy y confirma que termina con /v1.
Paso 5: Selecciona el modelo y prueba una llamada a la herramienta
Abre el selector de modelos en el panel de chat y selecciona tu nuevo modelo personalizado. El primer prompt a probar es uno que fuerce el uso de herramientas, porque las llamadas a herramientas son donde residían los errores 400 originales:
“Abre el README en este repositorio, lista cada bloque de código y dime cuáles carecen de sugerencias de lenguaje.”
Cursor emitirá una llamada a la herramienta read_file. Si el proxy está haciendo su trabajo, la cadena de respuesta se verá así:
- Cursor envía el mensaje de usuario al proxy.
- El proxy lo reenvía a DeepSeek sin
reasoning_content(es el primer turno). - DeepSeek devuelve texto más un bloque
reasoning_contentmás una solicitudtool_calls. - El proxy almacena en caché el
reasoning_contentindexado por el hash del prefijo de la conversación. - Cursor ejecuta la herramienta y luego envía un seguimiento con el resultado de la herramienta. El seguimiento no tiene
reasoning_contentporque Cursor lo eliminó. - El proxy busca el
reasoning_contentalmacenado en caché por el hash del prefijo y lo reinyecta antes de reenviarlo. - DeepSeek acepta la solicitud, continúa razonando y devuelve la respuesta final.
Ejecuta con --verbose y verás la inyección en los registros.
Cómo se ve el costo en la práctica
V4-Pro dentro de Cursor paga las tarifas estándar de la API de DeepSeek, no los precios de crédito empaquetados de Cursor. Esas tarifas son permanentes a partir de mayo de 2026:
| Tipo de token | Tarifa por 1M de tokens |
|---|---|
| Entrada (fallo de caché) | $0.435 |
| Entrada (acierto de caché) | $0.003625 |
| Salida | $0.87 |
Un día de uso intensivo de Cursor se ve aproximadamente como 50 turnos de chat más 20 cadenas de llamadas a herramientas. Cada turno promedia quizás 8,000 tokens de prompt (contexto de archivo más prompt del sistema más historial) y 1,500 tokens de salida. Eso es:
- 50 turnos × 8,000 de entrada × $0.435 / 1,000,000 = $1.74 en el peor de los casos
- Con aciertos de caché en un prefijo de sistema y contexto de 6,000 tokens al 60%: alrededor de $0.85
- 50 × 1,500 × $0.87 / 1,000,000 = $0.065 de salida
Total: aproximadamente $1 por día de uso intensivo. En comparación con ejecutar la misma carga de trabajo a través de la cuota de GPT-5.5 incluida en Cursor Pro, esto es un orden de magnitud más barato antes de que comience la limitación de cuota. El cálculo completo del recorte de precios se encuentra en El recorte de precios permanente del 75% de DeepSeek V4-Pro ya está aquí.
Para contexto sobre el resto de la línea de productos de DeepSeek, consulta Qué es DeepSeek V4 y Cómo usar la API de DeepSeek V4.
Cómo se siente V4-Pro dentro de Cursor
Se notan tres diferencias en comparación con tu modelo predeterminado de Cursor.
- Los tokens de pensamiento son visibles. Por defecto, el proxy renderiza el razonamiento de DeepSeek como un bloque de markdown colapsable encima de cada respuesta. El panel de chat de Cursor lo muestra como un elemento
<details>. Útil para depurar prompts; ruidoso para el trabajo rutinario. Alterna con--no-display-reasoning. - La latencia en la primera llamada a la herramienta es mayor. V4-Pro es un modelo de pensamiento, y la cadena se ejecuta antes de cualquier llamada a la herramienta. Espera de 2 a 4 segundos antes de que se dispare la primera herramienta, luego un rendimiento estándar en los seguimientos.
- Las sugerencias de “Aplicar” de Cursor mejoran en refactorizaciones complejas. Esta es la noticia principal. La cadena de razonamiento de V4-Pro detecta dependencias de múltiples archivos que los modelos de finalización planos pasan por alto. Renombramientos, cambios de firma y refactorizaciones impulsadas por configuración que solían necesitar tres rondas con GPT-5.5 a menudo se logran en una sola pasada con V4-Pro.
Existen otros tutoriales de DeepSeek con Cursor para modelos predecesores. Consulta Cómo usar DeepSeek R1 localmente con Cursor y DeepSeek V3 con Cursor: paso a paso para los patrones antiguos. El proxy de esta guía reemplaza los trucos de inyección manual de razonamiento documentados en esas publicaciones.
Probando tu configuración de DeepSeek con Apidog
La integración de Cursor solo demuestra la ruta desde dentro de Cursor. Si estás implementando V4-Pro en otras superficies (un bot de CI, un agente de backend, un plugin IDE personalizado), querrás un arnés de prueba determinista contra el mismo endpoint al que tu proxy está reenviando.

Ahí es donde Apidog se gana su lugar. Apunta un entorno de Apidog a https://api.deepseek.com/v1, introduce tu clave API e importa el esquema de finalización de chat de OpenAI. Puedes:
- Grabar respuestas doradas de V4-Pro y reproducirlas en cada cambio de prompt para detectar desviaciones.
- Validar las formas de
tool_callscon aserciones de JSON Schema para que una mala edición del prompt del sistema no rompa tu agente de producción silenciosamente. - Comparar V4-Pro y GPT-5.5 lado a lado en el mismo lote de entrada usando los escenarios de prueba de Apidog.
Descarga Apidog, importa la especificación OpenAPI de DeepSeek y tendrás un banco de pruebas V4-Pro funcionando en cinco minutos. El mismo flujo de trabajo que presentamos en Cómo usar la API de DeepSeek V4.
Errores comunes
- Errores 400 después de la primera llamada a la herramienta. El modo de fallo clásico que este proxy fue diseñado para solucionar. Si aún lo ves después de la configuración, el proxy no está ejecutándose o Cursor apunta a la URL base incorrecta. Vuelve a verificar que la URL termina con
/v1y que el registro del proxy muestra solicitudes entrantes. - El túnel de ngrok se reconecta constantemente. Los túneles de la capa gratuita rotan al reiniciar. Si la verificación de Cursor pasa pero luego falla minutos más tarde, tu túnel ha rotado. Muévete a un dominio reservado (un clic en el panel de ngrok) y pásalo con
--ngrok-url. - El contenido de razonamiento aparece duplicado. Esto ocurre cuando dos instancias del proxy se ejecutan con la misma ruta de caché
SQLite. Detén ambas, elimina~/.deepseek-cursor-proxy/reasoning_content.sqlite3e inicia una instancia. - La tasa de aciertos de caché parece baja. La caché de prompts de DeepSeek requiere prefijos idénticos byte a byte. Cursor inyecta marcas de tiempo e IDs de sesión en algunos prompts del sistema, lo que anula los aciertos de caché. La solución no está dentro del proxy; o aceptas el costo o usas el modo "sin-prompt-del-sistema" de Cursor para las sesiones de V4-Pro.
- Cursor reporta “modelo no encontrado”. El nombre del modelo en la configuración de Cursor debe coincidir con un modelo real de DeepSeek. Los valores válidos hoy son
deepseek-v4-pro,deepseek-v4-flash,deepseek-v3-2-proydeepseek-r1-1. El proxy no traduce nombres; los reenvía.
Alternativas si el proxy no es adecuado para ti
El proxy es la ruta más limpia hoy, pero existen dos alternativas:
- V4-Flash sin el proxy. V4-Flash no es un modelo de pensamiento y no devuelve
reasoning_content. Cursor se comunica directamente con él sin necesidad de soluciones alternativas. Pierdes el impulso de la cadena de pensamiento pero mantienes la integración sencilla. El precio es de $0.14 / $0.28 por millón de tokens. - Cline, Continue u otros plugins IDE de IA con soporte nativo para modelos de pensamiento. Estas herramientas manejan
reasoning_contenten los mensajes de llamada a herramientas de forma nativa. Si no estás comprometido con Cursor específicamente, cambiar el editor a veces es más fácil que ejecutar el proxy. Consulta Los mejores asistentes de codificación de código abierto en 2026: alternativas gratuitas a Cursor para el campo.
Otras integraciones de modelos de Cursor cubiertas en detalle: Claude Opus 4.6 con Cursor, Kimi K2.5 con Cursor y Gemini 3.0 Pro con Cursor.
Preguntas Frecuentes (FAQ)
- ¿Por qué Cursor no soporta DeepSeek V4-Pro de forma nativa? El cliente de chat de Cursor sigue el esquema de finalizaciones de chat de OpenAI.
reasoning_contentno forma parte de ese esquema; es una extensión específica de DeepSeek que surgió con la familia R1 y se mantuvo en V4-Pro. Cursor necesitaría añadir un manejo específico del proveedor para pasar el campo. Podrían hacerlo; hasta entonces, el proxy es la solución alternativa. - ¿Funciona el proxy con DeepSeek R1 o V3.2? Sí. Se soporta cualquier modelo de pensamiento de DeepSeek que devuelva
reasoning_contenty lo requiera en los seguimientos de llamadas a herramientas. Establece el nombre del modelo en la configuración de Cursor al identificador de modelo real de DeepSeek. - ¿Es seguro dejar el proxy en ejecución? Sí, con una advertencia: la caché
SQLitecontiene contenido de razonamiento en bruto de tus sesiones. Si utilizas configuraciones multiusuario o compartes máquinas, restringe los permisos del directorio de caché o ejecuta con--no-cache(solo en memoria, lo que significa que las llamadas a herramientas fallan después de un reinicio del proxy). - ¿Puedo usar el proxy sin ngrok? Sí, con
--no-ngrok. El proxy entonces expone solohttp://127.0.0.1:9000. La interfaz de usuario del modelo personalizado de Cursor rechaza las URLhttp://en las versiones estándar, pero algunas compilaciones cargadas lateralmente y configuraciones parcheadas aceptanlocalhost. La mayoría de los usuarios querrán ngrok o un equivalente (Cloudflare Tunnel, Tailscale Funnel). - ¿Funciona esto con Cursor Composer 2.5? Composer usa el mismo pipeline de enrutamiento de modelos que el panel de chat, así que sí. La primera llamada a la herramienta dentro de un agente de Composer activará el mismo requisito de
reasoning_contenty el proxy lo solucionará de la misma manera. - ¿Cuál es la sobrecarga de latencia del proxy? Insignificante. El proxy añade un salto de red local, una búsqueda en
SQLitey unos pocos KB de manipulación de JSON por solicitud. La sobrecarga medida es de 5 a 15 ms por llamada. ngrok añade de 30 a 80 ms dependiendo del punto de acceso más cercano. El proxy no es el cuello de botella. - ¿Cómo decide el proxy qué almacenar en caché? Hash el prefijo de la conversación (todo antes del último mensaje de usuario o herramienta), asocia el SHA-256 de ese hash al
reasoning_contentde la última respuesta de DeepSeek y almacena ambos enSQLite. En la siguiente solicitud, calcula el hash del nuevo prefijo y busca la entrada coincidente. Esto es conservador. Las coincidencias parciales de prefijo no activan un acierto de caché, por lo que dos conversaciones casi idénticas no se contaminan entre sí. - ¿Anthropic, OpenAI o Cursor romperán esto? Anthropic y OpenAI no están involucrados. Cursor podría agregar soporte nativo para modelos de pensamiento (en cuyo caso el proxy se vuelve innecesario) o cambiar el formato de la solicitud de una manera que rompa el proxy. El repositorio se mantiene; consulta sus problemas para actualizaciones de compatibilidad.
Conclusión
La capacidad de codificación de V4-Pro se sitúa a pocos puntos de referencia de GPT-5.5 (comparación de DataCamp) a aproximadamente 1/34 del precio de salida. El único obstáculo para los usuarios de Cursor ha sido una falta de coincidencia en el contrato de la API en torno a reasoning_content. El repositorio deepseek-cursor-proxy lo resuelve en menos de cien líneas de código significativo y una configuración de cinco minutos.
Tres próximos pasos concretos:
- Instala el proxy y ejecuta una prueba comparativa contra tu configuración predeterminada actual de Cursor en cinco solicitudes de extracción reales de tu repositorio.
- Audita tu prompt de sistema de Cursor en busca de contenido variable (marcas de tiempo, IDs de sesión) que anule los aciertos de caché. Mueve ese contenido al mensaje del usuario.
- Configura una suite de regresión de Apidog contra
api.deepseek.compara que puedas detectar desviaciones del contrato sin volver a probar a través de Cursor cada vez.
El impuesto de los tokens de pensamiento se paga. El precio no.
