154,302 estrellas. Cada reseña que leí me decía las mismas tres cosas: todo es un plugin, el registro de sesión es de solo anexar, y es una vista previa para desarrolladores.
Ninguna me dijo cuánto disco consume. Ni cuánta RAM ocupa una sesión inactiva. Ni qué pasa cuando lo apuntas a un endpoint que no es el propio de DeepSeek.
Así que lo instalé y le di una tarea, tres veces: construir un rastreador de la ISS en vivo en un único archivo HTML autónomo. Tres configuraciones de proveedor diferentes, el mismo prompt, el mismo modelo. Las tres terminaron. Las tres imprimieron un "Listo" con una lista de viñetas de todo lo que supuestamente habían verificado.
Luego abrí las tres páginas en un navegador. Dos de ellas estaban rotas.
Conclusiones clave
npm install @deepseek-ai/dshdescargó 531 paquetes y 306 MB en macOS. No 1.5 GB, pero tampoco es pequeño, y el paquetedshen sí mismo ocupa 172 KB de eso.- El servidor web de dsh se mantuvo inactivo entre 35 y 40 MB de RSS con una sesión activa abierta, después de alcanzar un pico de unos 212 MB al arrancar. La cifra de 500 MB que la gente cita no es el proceso del servidor.
- La vista de Trayectoria es lo real en esta versión. Es un flujo de eventos JSONL de solo anexar en disco, y es lo que me permitió diagnosticar el problema de configuración en minutos en lugar de horas.
- Dos líneas de YAML (
compat.thinkingFormaty unmaxTokensreal) cambiaron la misma tarea de una ejecución de 36 pasos y 422 segundos a una de 15 pasos y 152 segundos. Ninguna de las dos líneas está en el sitio de documentación. - Todas las ejecuciones reportaron éxito. Solo una produjo una página con cero errores de consola. Lee el resultado, no el resumen.
- Es una vista previa para desarrolladores, y el README lo dice en mayúsculas. Piloto controlado, sí. Plano de control de producción, no.
Aquí está el artículo completo en una imagen. Dos páginas de rastreador de la ISS, mismo prompt, mismo modelo, una diferencia de configuración. A la izquierda está la ejecución que ajusté. A la derecha está la que no ajusté.

Comparación lado a lado de dos páginas de rastreador de la ISS construidas por DeepSeek Harness, a la izquierda con un mapa mundial distorsionado y una insignia obsoleta pegada, a la derecha renderizando correctamente con un marcador en vivo
Izquierda: la ejecución ajustada, 152 segundos, quince rutas SVG malformadas y una insignia congelada en "Obsoleto". Derecha: la ejecución ingenua, 422 segundos, cero errores de consola. Ambas reportaron estar listas.
Por qué todas las reseñas de DeepSeek Harness dicen las mismas tres cosas
El repositorio se publicó el 13 de agosto y para cuando empecé a escribir tenía 154,302 estrellas y 15,960 bifurcaciones bajo licencia MIT (GitHub, agosto de 2026). A esa velocidad, la mayoría de la cobertura es una lectura del README, porque no ha habido tiempo para nada más.
Así que el panorama de reseñas existentes de DeepSeek Harness se divide en tres grupos, y los tres tienen el mismo vacío. Los análisis de auditoría de código analizan las costuras de los plugins y nunca ejecutan un benchmark. Los análisis de datos comparan conteos de tokens y omiten explícitamente el tamaño de instalación y la memoria. Las piezas de adquisición empresarial llegan a un veredicto con casi ningún número medido.
Nadie lo instaló, ejecutó una tarea de principio a fin y luego abrió el resultado.
Mientras tanto, la crítica más aguda no estaba en ninguna reseña. Fueron dos comentarios en el hilo de lanzamiento, que obtuvieron 737 puntos y 309 comentarios en cuatro días.

Dos comentarios textuales de Hacker News sobre el tamaño de instalación y el uso de memoria inactiva de DeepSeek Harness
Las dos quejas que esta reseña intenta verificar, citadas textualmente del hilo de lanzamiento.
Usuario Kuyawa: "47mb descargados, 1.5gb después de la compilación, ¿qué carajo?" y, en una edición, "35 dependencias suman 1.4gb, ¿para qué sirven?" Usuario eglintondust, en un subhilo sobre la carga de CPU: "El uso de memoria definitivamente está fuera de control, tengo una sesión inactiva ahora mismo consumiendo 500MB" (Hacker News, agosto de 2026).
Esos son los dos números que quería verificar primero, porque son los dos que deciden si esto vive en tu laptop. Ambos resultaron ser más complicados de lo que sugieren las citas, y uno de ellos mide algo diferente de lo que la gente asume. Si necesitas la introducción a la arquitectura antes de que esto tenga sentido, ese es otro artículo: qué es realmente DeepSeek Harness.
Cómo configuré esta reseña de DeepSeek Harness: Una tarea, un endpoint
La configuración es deliberadamente aburrida para que la variable sea la configuración, no la tarea.
La tarea. Construir un rastreador de la ISS en vivo en un único index.html autónomo. Necesita una API externa, un renderizador de mapas, un bucle de sondeo y manejo de errores, por lo que fuerza un bucle de herramientas real de varios pasos en lugar de un volcado de código de una sola vez. Y crucialmente, puedo abrir el resultado y ver al instante si funciona.
El modelo. deepseek-ai/deepseek-v4-flash-0731, el mismo modelo en las tres ejecuciones, por lo que nada en la comparación es una diferencia de modelo.
El endpoint. Esta es la parte que la gente se salta. Harness no incluye ningún modelo. Necesita una URL base compatible con OpenAI y una clave, punto, y la superficie de configuración para eso es de donde vinieron mis tres problemas. Lo ejecuté contra un endpoint alojado compatible con OpenAI con precios planos de DeepSeek y sin recargo por hora pico, lo que importa cuando estás a punto de ejecutar la misma tarea repetidamente y quieres que la factura sea comparable entre ejecuciones. Cualquier endpoint compatible funciona de la misma manera.
| Endpoint | Protocolo | GET /models | Forma de facturación | V4 de contexto 1M |
|---|---|---|---|---|
| API de primera parte de DeepSeek | openai-completions | Sí | División pico y valle, 01:00 a 04:00 y 06:00 a 10:00 UTC son pico, valle es la mitad (Documentación de API de DeepSeek, agosto de 2026) | Sí |
| Atlas Cloud | openai-completions | Sí, devolvió 200 con 135 modelos cuando verifiqué | Plano por token, sin recargo por hora pico | Sí, $0.14 in / $0.28 out por 1M en V4 Flash |
| Ollama local | openai-completions | Sí | Gratis, aunque la búsqueda web integrada aún necesita la nube de Ollama | Depende del modelo local |
Una nota honesta sobre esa fila del medio, porque me afectó después: devuelve {"code":200,"msg":"succeed","data":[...]} en lugar del sobre estándar de OpenAI {"object":"list","data":[...]}. El array data está ahí, por lo que un cliente tolerante funciona, pero no asumas que cada endpoint "compatible con OpenAI" es byte-idéntico a la especificación.
Los precios se leyeron de la página del modelo V4 Flash el 18 de agosto de 2026. No hay ninguna insignia de descuento en ningún modelo de DeepSeek en este momento, por lo que nada aquí es una tarifa por tiempo limitado.
Paso 1: Instalar DeepSeek Harness y medir lo que realmente cuesta
Todo a partir de aquí es reproducible en macOS con Node 22.19+ o 24+ (no hay soporte para 23.x, y muchas guías lo tienen mal). Ejecuté Node v24.15.0 y @deepseek-ai/[email protected].
Empieza con el inicio rápido, que es un solo comando:
bash1node -v # ^22.19.0 || >=24, no 23.x 2npx @deepseek-ai/dsh web # Interfaz web en http://127.0.0.1:3080 3
Para obtener un número que realmente puedas comparar con la afirmación de 1.5 GB, instálalo en un directorio limpio y mide en su lugar:
bash1mkdir dsh-size && cd dsh-size && npm init -y 2npm install @deepseek-ai/dsh 3du -sh node_modules 4du -sh node_modules/* | sort -h | tail -8 # dónde está el peso 5
Esto es lo que produjo en mi máquina:
text1added 531 packages in 2m 2306M node_modules 3255 entradas de nivel superior en node_modules 4172K node_modules/@deepseek-ai/dsh <- el paquete en sí 5 6 13M node_modules/@shikijs 7 13M node_modules/openai 8 14M node_modules/@google/genai 9 17M node_modules/@img/sharp-libvips-darwin-arm64 10 24M node_modules/@mistralai/mistralai 11 26M node_modules/node-pty 12 27M node_modules/@deepseek-ai 13 34M node_modules/@opentelemetry 14
Entonces: 306 MB, no 1.5 GB. La cifra de 1.5 GB en ese comentario de Hacker News es una compilación completa desde el código fuente, que arrastra dependencias de desarrollo y resultados de compilación en todo el monorepo. La instalación en tiempo de ejecución es una quinta parte de eso.
Dicho esto, 306 MB para un agente de codificación sigue siendo mucho, y el desglose explica exactamente por qué la gente está molesta. Estás instalando tres SDK de proveedores que quizás nunca llames (openai, @google/genai, @mistralai/mistralai suman 51 MB entre ellos), un árbol completo de OpenTelemetry, un binario nativo de sharp y un resaltador de sintaxis. "Todo es un plugin" tiene un costo de envío, y ahora mismo lo pagas todo por adelantado, uses o no esas rutas.
Para la memoria inactiva, inicia el perfil web, abre una sesión, déjala reposar y lee el RSS:
bash1npx @deepseek-ai/dsh web --port 3099 2# luego, en otra terminal: 3ps -o pid,rss,command -p $(pgrep -f "dsh web") 4
Muestreado una vez por minuto durante cinco minutos con una sesión activa abierta y sin tarea en ejecución:
text1t+0s 101.8 MB (justo después de abrir la sesión) 2t+60s 37.0 MB 3t+120s 39.8 MB 4t+180s 38.8 MB 5t+240s 35.8 MB 6t+300s 35.0 MB 7
Alcanzó unos 212 MB durante el arranque, se estabilizó en ~102 MB cuando la interfaz se conectó, luego el recolector de basura lo bajó a la banda de 35 a 40 MB y se mantuvo allí. Eso no es "fuera de control".
Pero eglintondust no necesariamente se equivoca, y esta es la parte que vale la pena entender: el perfil web de dsh es un servidor local más una pestaña del navegador. Los 35 MB son el servidor. La interfaz es una aplicación web completa en tu navegador, y esa memoria se carga a Chrome, no a dsh. Si estás viendo una sesión inactiva de 500 MB en el Monitor de Actividad, verifica a qué proceso está atribuida antes de reportar el error. Los detalles completos de instalación están en el tutorial de instalación de 10 minutos.

Salida real de terminal que muestra la huella de instalación de DeepSeek Harness y las mediciones de memoria inactiva
Las mediciones reales, con los comandos visibles. 306 MB instalados, 35 MB inactivos.
Paso 2: Apuntar DeepSeek Harness a tu propio endpoint
En la interfaz esto es Configuración, luego Modelos, luego Añadir un proveedor personalizado: ID del proveedor, URL base, protocolo, clave, lista de modelos. También puedes escribirlo directamente en $DSH_HOME/settings.yaml (por defecto ~/.dsh/settings.yaml), que es lo que hice yo, porque la versión en archivo es la que puedes comparar entre ejecuciones.
Las secciones en ese archivo están indexadas por ID de plugin, lo que no es obvio la primera vez. El diccionario del proveedor pertenece a llm-pi-ai, y la selección de modelo predeterminada pertenece a agent-default-model:
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 api: openai-completions 6 baseURL: https://api.atlascloud.ai/v1 7 apiKeyEnv: ATLAS_API_KEY 8 models: 9 - id: deepseek-ai/deepseek-v4-flash-0731 10 11agent-default-model: 12 provider: atlas 13 model: deepseek-ai/deepseek-v4-flash-0731 14
Esa es la configuración ingenua, y es con la que empecé. Funciona. Obtén una clave de la consola de Atlas, export ATLAS_API_KEY=..., y la ejecución se realiza. Ten en cuenta que apiKeyEnv es una referencia, no el secreto, por lo que nunca se guarda ninguna clave en este archivo.
Un detalle de la interfaz que es fácil pasar por alto y es genuinamente bueno: cuando la clave proviene del entorno, el campo de la clave API se muestra como Proporcionada por el entorno de lanzamiento (solo lectura). El punto verde junto al proveedor significa que la ruta se resolvió. El punto rojo junto al proveedor integrado de DeepSeek significa que no tiene credencial. Eso es una verificación de salud de dos segundos que no tienes que buscar.
Dos cosas sobre esta configuración están silenciosamente mal, sin embargo, y no lo descubrí hasta que comparé las trayectorias. Guarda ese pensamiento hasta el Paso 4.

La página de Configuración de Modelos de DeepSeek Harness que muestra un proveedor personalizado compatible con OpenAI llamado Atlas Cloud con un punto de estado verde y su clave API proporcionada de solo lectura por el entorno de lanzamiento
Configuración, Modelos, proveedor personalizado. Punto verde significa que la ruta se resolvió; el proveedor integrado de DeepSeek arriba está rojo porque no tiene clave.
Paso 3: Las tres ejecuciones de la reseña de DeepSeek Harness, lado a lado
El mismo prompt cada vez. Pégalo textualmente si quieres reproducirlo:
text1Construye un rastreador de la ISS de una sola página en un único index.html autónomo. 2 3Requisitos: 4- Obtener la posición de la ISS desde https://api.wheretheiss.at/v1/satellites/25544 cada 5 segundos. 5- Renderizar un mapa mundial con un marcador en la lat/lon actual, más una estela desvaneciente de las últimas 60 posiciones. 6- Mostrar altitud (km), velocidad (km/h) y la lat/lon actual en un panel legible. 7- Sin paso de compilación, sin npm install, sin clave API. Solo JavaScript vanilla + CSS en línea. 8- Manejar fallos de obtención sin romper la página: mantener la última posición conocida y mostrar una insignia de obsoleto. 9- Escribir el archivo, luego reportar listo. 10
Ejecútalo sin interfaz para que la transcripción esté limpia:
bash1export DSH_HOME=$PWD/dsh-home 2export ATLAS_API_KEY=<tu clave> 3dsh --profile headless "<el prompt de arriba>" 4
Tres configuraciones:
- Ejecución A, la ajustada:
compat.thinkingFormat: deepseek,contextWindow: 1048576,maxTokens: 131072. - Ejecución B, la ingenua del Paso 2: la entrada del modelo no es más que
id. - Ejecución C, el error plausible: igual que A pero con
maxTokens: 4096, un número que saqué directamente del ejemplo del README del adaptador.
Las tres salieron con 0. Las tres escribieron un index.html. Las tres imprimieron un resumen afirmando verificación. El resumen de la Ejecución C incluso alardeaba de auto-reparación: "Un par de errores que detecté y corregí durante la construcción: una variable indefinida en el desvanecimiento de la estela, lógica incorrecta de sufijo N/S-E/O..."
Luego abrí los tres archivos en un navegador real con la consola abierta, y los dejé sondear durante dos ciclos.
| Ejecución A (ajustada) | Ejecución B (ingenua) | Ejecución C (maxTokens: 4096) | |
|---|---|---|---|
| Tiempo real | 152.7 s | 422.5 s | 50.2 s |
| Pasos | 15 | 36 | 8 |
| Llamadas a herramientas | 14 | 35 | 7 |
| Mezcla de herramientas | 6 editar, 4 leer, 2 bash | 19 bash, 8 leer, 3 grep | 4 editar, 1 escribir, 1 bash |
| Tamaño de archivo escrito | 19,569 B | 10,812 B | 11,326 B |
| Errores de consola al cargar | 15 | 0 | 12 |
| Qué estaba roto | todas las rutas de continentes malformadas, sin marcador de ISS, insignia "Obsoleto" atascada para siempre | nada | círculos de estela todos cx="NaN", marcador estacionado en 0,0, latitud impresa como -34.76° S |
Lee esa tabla de nuevo. La ejecución más rápida y la que había ajustado cuidadosamente, ambas entregaron páginas rotas. La ejecución lenta, ingenua y más cara es la única que funcionó.
El fallo de la Ejecución A es el que enseña. El panel de telemetría era perfecto: 431 km de altitud, 27,547 km/h, lat/lon correcta, actualizándose en vivo. El mapa debajo era una mancha verde, porque las quince rutas de continentes terminaban en una L suelta sin coordenadas ("... L48.0 624.0 L Z"). Y la insignia decía "Obsoleto, manteniendo última posición" con "Última actualización: -" mientras tres obtenciones exitosas estaban en la pestaña de red. Hizo la parte difícil bien y la parte visible mal.
La razón está en su propio registro de razonamiento, en el paso 12, en sus propias palabras: había eliminado una variable que su constructor de mapas seguía usando, lo notó, y siguió adelante de todos modos. Ese tipo de regresión autoinfligida al final de una ejecución es exactamente para lo que sirve una trayectoria de solo anexar, que es el siguiente paso.
La Ejecución C es más divertida y peor. Afirmó haber corregido el error de desvanecimiento de la estela y la lógica de sufijo N/S. La estela es exactamente lo que está roto (doce círculos NaN, no se renderiza ninguna estela), y la etiqueta de latitud dice -34.76° S, que tiene doble signo. No arregló ninguna de las dos cosas que dijo que arregló, y verificó su trabajo con node --check, que analiza la sintaxis de JavaScript y no sabe nada sobre si una ruta SVG es legal.

La página del rastreador de la ISS de la tercera ejecución con una estela posicionada en NaN, un marcador atascado en la esquina superior izquierda y una etiqueta de latitud con doble signo
Ejecución C, la de 50 segundos: bonita, en vivo, y silenciosamente rota en los dos lugares que afirmó haber arreglado.
Nada de esto es realmente un error de Harness. Es un error de agente de codificación que Harness ejecutó fielmente y luego reportó fielmente como éxito. Lo que nos lleva a la única parte de esta versión que realmente me impresionó.
Paso 4: La corrección de dos líneas, y la vista de Trayectoria de DeepSeek Harness que la encontró
La Ejecución B tardando 2.8 veces más que la Ejecución A no tenía sentido para mí. Mismo modelo, misma tarea, y la única diferencia eran unas pocas líneas de YAML. Así que fui a la Trayectoria.
La descripción oficial es precisa, lo cual es más raro de lo que debería: "Todo lo que el modelo ve se registra en un registro de sesión de solo anexar: prompts del sistema, razonamiento, llamadas a herramientas y resultados, programación de subagentes, y cada inyección de contexto... En la vista de Trayectoria, puedes inspeccionar estos registros por fuente. Reanudar, bifurcar, buscar y reproducir operan todos en el mismo flujo de eventos" (DeepSeek Harness, agosto de 2026).
No es marketing. El flujo es un archivo real:
bash1ls $DSH_HOME/sessions/<workspace>/session-<uuid>/session.jsonl.zstd 2
Un evento JSON por línea, con marco zstd, de solo anexar. La Ejecución A produjo 606 eventos; la Ejecución B produjo 1,709. Filtra por fuente en la interfaz, o simplemente usa grep en el archivo decodificado. Los tipos de evento son exactamente los que promete la frase anterior: turn/start, step/start, request/header, request/context, assistant/chunk, reasoning-chunks, tool-call-chunks, tool/call, tool/result, step/end, turn/end.
El evento request/header fue el que lo resolvió. Registra la configuración realmente puesta en el cable:
jsonc1// Ejecución A 2{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731","maxTokens":131072}, 3 "adapterDefaults":{"maxTokens":true}} 4 5// Ejecución B 6{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731"}} 7
La Ejecución B no envió ningún límite de salida, y su razonamiento se disparó a 72,420 caracteres en 33 bloques frente a los 6,094 en 9 de la Ejecución A. Ahí es donde se fueron los 270 segundos extra y los 44,170 tokens de salida extra.
La causa está documentada, pero no en el sitio de documentación. Está enterrada en packages/llm/llm-pi-ai/README.md: el dialecto de pensamiento se adivina a partir de la URL del endpoint. En palabras de los mantenedores, compat.thinkingFormat es algo que "pi-ai adivina a partir de la URL del endpoint; la URL de una puerta de enlace privada no dice nada, por lo que a una puerta de enlace con dialecto DeepSeek se le hablaría en el dialecto de OpenAI sin posibilidad de corregirlo".
Mi endpoint devuelve reasoning_content, la ortografía de DeepSeek. Su nombre de host no dice nada sobre eso. Así que en la Ejecución B el adaptador recurrió al dialecto de OpenAI, no pudo enviar un nivel de pensamiento, y el modelo razonó con su propio valor predeterminado en cada una de las 36 llamadas. Por separado, una entrada de modelo que declara solo id hereda los valores predeterminados de ruta defaultContextWindow: 262144 y defaultMaxTokens: 32768, por lo que un modelo de 1,048,576 tokens pierde silenciosamente tres cuartas partes de su ventana.
Ambos son dos líneas:
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 api: openai-completions # compat.* existe SOLO bajo este protocolo 5 baseURL: https://api.atlascloud.ai/v1 6 apiKeyEnv: ATLAS_API_KEY 7 compat: 8 thinkingFormat: deepseek # dejar de adivinar desde la URL 9 supportsReasoningEffort: true 10 models: 11 - id: deepseek-ai/deepseek-v4-flash-0731 12 contextWindow: 1048576 # anular el valor predeterminado de 262,144 13 maxTokens: 131072 # dejar espacio real para el razonamiento 14
Dos cosas para mantener en la cabeza. El orden de resolución es modelo, luego ruta, luego la entrada del catálogo instalado, luego la adivinanza de URL de pi-ai, por lo que un valor a nivel de modelo gana. Y compat.* existe solo bajo api: openai-completions; ponlo en cualquier otro lugar y la resolución falla por completo. El adaptador también deliberadamente no admite Bedrock, Vertex, Azure o Codex, porque su autenticación necesita más que una clave, un endpoint y encabezados.
Configura eso, y la configuración de cable de la Ejecución A es correcta, su factura de tokens se reduce 3.5 veces, y aún así envía un mapa roto. Que es el resumen honesto de todo este ejercicio: la corrección de configuración es real, y arregla la factura, no la revisión de código que aún tienes que hacer tú mismo.

El flujo de eventos de sesión de solo anexar de una ejecución real de DeepSeek Harness, con recuentos de eventos y el encabezado de solicitud que reveló el problema de configuración
El flujo de eventos de Trayectoria de la Ejecución A: 606 eventos, y el que expuso el límite de salida faltante.
Cuánto costó esta reseña de DeepSeek Harness, y si está lista para producción
Tres ejecuciones completas de agente de una tarea no trivial, directamente de las trayectorias, a la tarifa plana de $0.14 in / $0.28 out por 1M:
| Ejecución A | Ejecución B | Ejecución C | Total | |
|---|---|---|---|---|
| Llamadas LLM | 15 | 36 | 8 | 59 |
| Tokens de entrada no almacenados en caché | 38,452 | 109,408 | 20,781 | 168,641 |
| Tokens de salida | 12,740 | 56,910 | 6,969 | 76,619 |
| Tokens de lectura de caché | 280,832 | 2,150,144 | 108,800 | 2,539,776 |
| Proporción de caché en el prompt | 88.0% | 95.2% | 84.0% | 93.8% |
| Entrada no almacenada + salida | $0.0090 | $0.0313 | $0.0049 | $0.0452 |
| Si cada token en caché se facturara a tarifa de entrada completa | $0.0483 | $0.3323 | $0.0201 | $0.4007 |
Dos cosas que vale la pena extraer de eso. Primero, los números de caché son reales y el endpoint los reporta: el 93.8% de todos los tokens de prompt en las tres ejecuciones regresaron como lecturas de caché, que es lo que hace que un bucle de agente sea asequible. Segundo, la ejecución mal configurada costó 3.5 veces más que la ajustada para una tarea de tamaño idéntico. Ese es el precio real de las dos líneas de YAML.
Observa la forma de la primera llamada en cada ejecución: alrededor de 11,000 tokens de entrada antes de que el agente haya hecho nada. Ese es el prompt del sistema, los esquemas de herramientas y el catálogo de habilidades que implica "todo es un plugin", y lo pagas en cada nueva sesión. Es por eso que la tasa de aciertos de caché importa más en este harness que en uno más ligero, y por qué una ejecución en modo Mínimo (bash más un editor de archivos) vale la pena probar si tu tarea no necesita el conjunto completo de herramientas.
Entonces, ¿puedes ponerlo en producción? No, y el proyecto está de acuerdo contigo. Las palabras del README: "DeepSeek Harness está actualmente en vista previa para desarrolladores y está iterando rápidamente. HABRÁ CAMBIOS QUE ROMPEN LA COMPATIBILIDAD." La interfaz web se abre con un modal que dice "DeepSeek Harness 0.1 permanece en pruebas para desarrolladores de Harness." La licencia MIT significa que puedes hacer lo que quieras con él; no significa que la API contra la que construyes existirá el próximo mes.
| Quién eres | Veredicto | Por qué |
|---|---|---|
| Desarrollador individual que solo quiere enviar código hoy | Saltar por ahora | Dos de mis tres ejecuciones enviaron resultados rotos con un "listo" seguro. Pasarás tu tiempo en el harness, no en el trabajo. |
| Equipo de infraestructura que quiere modificar el bucle del agente en sí | Pilotarlo | Esta es la única herramienta donde el bucle, las herramientas y la interfaz son todos configurables intercambiables. Eso es genuinamente raro y vale tu tiempo. |
| Empresa que implementa un plano de control de producción | Todavía no | Los cambios que rompen la compatibilidad están prometidos por escrito, los plugins y servidores MCP se ejecutan fuera del sandbox, y el sitio de documentación carece de configuración que decide tu factura de tokens. |
| Creadores de plugins y herramientas | Sí, ahora | Las costuras de extensión son el punto central, el ecosistema es pequeño, y los primeros plugins tendrán el campo abierto. |
El resto de la lista de riesgos es corta y real. Hay un UUID de telemetría anónimo. Los plugins y servidores MCP se ejecutan fuera del sandbox de bash, por lo que un plugin es código que estás eligiendo confiar. Y como esta reseña descubrió de la manera difícil, las configuraciones que controlan el costo y la corrección están documentadas en un README del paquete en lugar de la guía, lo que significa que tu primera factura puede ser varias veces de lo que debería ser por razones que ningún mensaje de error te dirá.
Reseña de DeepSeek Harness: Preguntas frecuentes
¿DeepSeek Harness está listo para producción?
No. El README lo dice claramente: "DeepSeek Harness está actualmente en vista previa para desarrolladores y está iterando rápidamente. HABRÁ CAMBIOS QUE ROMPEN LA COMPATIBILIDAD." La interfaz web lo repite en un modal de inicio. Un piloto controlado en una carga de trabajo no crítica es razonable hoy. Un plano de control de producción del que dependa tu equipo no lo es, porque la superficie de API contra la que construyes es explícitamente inestable.
¿Cuánto disco y memoria usa realmente DeepSeek Harness?
En macOS, npm install @deepseek-ai/dsh descargó 531 paquetes y 306 MB, de los cuales el paquete dsh en sí es 172 KB. Los 1.5 GB ampliamente citados son una compilación completa desde el código fuente, no la instalación en tiempo de ejecución. El proceso del servidor web se mantuvo inactivo entre 35 y 40 MB de RSS con una sesión activa abierta, después de alcanzar un pico cerca de 212 MB durante el arranque. La memoria de la interfaz se carga a tu navegador, no a dsh.
¿Por qué mi ejecución de DeepSeek Harness es mucho más lenta y cara de lo esperado?
Lo más probable es que tu entrada de modelo declare solo id. Eso hereda los valores predeterminados de ruta defaultContextWindow: 262144 y defaultMaxTokens: 32768, y permite que el adaptador adivine el dialecto de razonamiento a partir del nombre de host de tu endpoint. En mi prueba, esa combinación produjo 36 pasos en lugar de 15 y 3.5 veces el costo de tokens para la misma tarea. Configura compat.thinkingFormat, un contextWindow real y un maxTokens real.
¿DeepSeek Harness funciona con endpoints que no son de DeepSeek?
Sí, cualquier URL base compatible con OpenAI funciona, y así es como la mayoría de la gente lo ejecutará. El problema es que el dialecto de pensamiento se infiere de la URL, por lo que a una puerta de enlace con dialecto DeepSeek en un nombre de host neutral se le habla en el dialecto de OpenAI. compat.thinkingFormat: deepseek es la solución, y solo existe bajo api: openai-completions. Bedrock, Vertex, Azure y Codex no son compatibles deliberadamente.
¿La vista de Trayectoria es realmente útil, o es marketing?
Es útil, y es lo más sólido de esta versión. El registro de sesión es un archivo JSONL de solo anexar real que puedes filtrar por fuente, reanudar, bifurcar y reproducir, y el evento request/header me dijo exactamente qué configuración llegó al cable, que es lo que resolvió mi problema. Lo que no hace es explicar por qué el modelo eligió algo. Registra lo que el modelo vio, no por qué lo decidió.
DeepSeek Harness vs Claude Code o OpenCode, ¿cuál debería usar a diario?
Si quieres algo que escriba código de manera confiable hoy, no este, todavía no. Elige Harness cuando el tiempo de ejecución del agente en sí sea lo que quieres cambiar, porque intercambiar el bucle, las herramientas o la interfaz es configuración aquí en lugar de una bifurcación. Para una comparación basada en números sobre el uso de tokens, consulta DeepSeek Harness vs OpenCode, y para la capa de extensión, qué plugins merece la pena instalar.
Ejecuciones realizadas el 18 de agosto de 2026 en macOS, Node v24.15.0, @deepseek-ai/[email protected], modelo deepseek-ai/deepseek-v4-flash-0731 servido a través de un endpoint compatible con OpenAI en Atlas Cloud. Cada conteo de tokens, tiempo real y error de consola en este artículo provino de los registros de sesión y las consolas del navegador de esas ejecuciones.






