Ir al contenido principal

¿Qué es DeepSeek Harness? El runtime de agentes donde todo es un plugin

DeepSeek Harness explicado: cómo funciona su arquitectura de plugins basada en Cordis, para qué sirven los modos Standard, PTC, Minimal y Creator, y cómo se compara con Claude Code, Codex y OpenCode.
Actualizado 8 sept 2026  · 13 min leer

Explorar con IA

ChatGPTClaudePerplexity

DeepSeek Harness está diseñado para ejecutar una tarea, no solo para contestar una pregunta. Es un runtime de agente de código abierto que conecta un modelo con tu repositorio, terminal, herramientas e historial de sesión. Pídele que arregle un bug y podrá inspeccionar archivos, editar código, ejecutar tests y responder cuando un comando falle. Una única llamada al modelo no puede hacer todo eso por sí sola.

Lo más peculiar está bajo ese flujo de trabajo. DeepSeek Harness expone el adaptador del modelo, las herramientas, las sesiones, el sandbox e incluso el bucle del agente como plugins coordinados por Cordis. El modelo es una parte del agente, no el producto en sí.

No es software terminado. Harness sigue en vista previa para desarrolladores; sus APIs pueden romperse entre versiones y su propio aviso de seguridad indica que no ha pasado una auditoría. Veremos esos límites junto con la arquitectura y en qué se diferencia de Claude Code, Codex y OpenCode.

TL;DR

  • Qué es: DeepSeek Harness es un runtime de agente de código abierto, no un modelo. Aporta al modelo herramientas, sesiones, sandboxing y un bucle de agente.
  • Diseño central: Cordis expone el adaptador del modelo, las herramientas, el almacén de sesiones, el sandbox y el bucle del agente como plugins intercambiables.
  • Sesiones: Un registro de eventos solo-append permite reanudar, bifurcar, buscar, reproducir y la vista Trajectory.
  • Modos: Standard, PTC, Minimal y Creator cambian qué herramientas puede usar el agente y cómo accede a ellas.
  • Diferencia principal: DeepSeek Harness permite sustituir componentes del runtime de bajo nivel que Claude Code, Codex y OpenCode mantienen fijos.
  • Límite principal: Sigue en vista previa para desarrolladores, sin auditoría de seguridad, y sus APIs pueden cambiar entre versiones.

Introducción a los agentes de IA

Aprende los fundamentos de los agentes de IA, sus componentes y su uso en el mundo real, sin necesidad de programar.
Explora El Curso

¿Qué es DeepSeek Harness?

DeepSeek Harness, abreviado como dsh, es un runtime de agent harness de código abierto de DeepSeek AI bajo licencia MIT. Se sitúa entre un modelo de lenguaje y el mundo exterior, aportando herramientas, sesiones, sandboxing y el bucle que mantiene la tarea en marcha.

La propia formulación de DeepSeek es "Agente = Modelo + Harness". El modelo se encarga del razonamiento y la generación. El harness es todo lo que permite que ese razonamiento actúe sobre un sistema de archivos real y continúe sin que tengas que volver a explicar la tarea a cada paso.

Se ejecuta sobre Cordis, un framework de plugins anterior a DeepSeek Harness. Cordis permite sustituir estas piezas de forma independiente mediante la configuración. Volveré más adelante al coste de esa decisión.

Con ese marco, aquí van dos ideas equivocadas habituales.

DeepSeek Harness no es un modelo de IA

Como ya se ha dicho, el modelo y el runtime son capas separadas. Esa separación te permite cambiar de proveedor sin modificar las herramientas o la configuración de sesiones. El mismo runtime puede usar DeepSeek, Anthropic, OpenAI o un endpoint compatible con OpenAI.

DeepSeek Harness es más que un asistente de código

El modo Standard genera esa impresión, pero es solo una de las configuraciones. Como veremos, los modos Minimal y Creator cambian qué puede usar el agente. Crear una configuración nueva sigue requiriendo trabajo de ingeniería; los desarrolladores tienen acceso a las piezas.

Cómo organiza Cordis los plugins de DeepSeek Harness

Como se mencionó, Cordis es el framework de plugins bajo DeepSeek Harness. Permite que cada parte solicite un servicio sin quedar atada al código de un único proveedor.

Cordis proviene del ecosistema del chatbot Koishi y fue creado por un desarrollador conocido como Shigma; DeepSeek lo distribuye y amplía. Sus autores describen el diseño en el artículo A Programming Paradigm for Spatiotemporal Composability.

Esa base lleva al lema principal del proyecto y a dos términos de Cordis. Suenan académicos, pero el comportamiento es bastante sencillo.

"Todo es un plugin"

La documentación de arquitectura de DeepSeek dice que amplías dsh montando un plugin junto a los demás. Los adaptadores de modelo, herramientas, sesiones, sandboxes, almacenamiento, planificación, el bucle del agente y la IU son todos plugins.

Tomado al pie de la letra, el lema exagera. Cordis sigue estando debajo de los plugins. Los carga y elimina, comprueba qué necesitan y ejecuta los eventos que usan para comunicarse. Cordis es obligatorio, no una pieza opcional más.

La composabilidad espacial gestiona las dependencias de plugins

Un plugin declara los servicios que necesita sin exigir una secuencia de arranque escrita a mano. Se activa cuando esos servicios existen y se desactiva si desaparece alguno requerido. Sus dependencias deciden cuándo puede ejecutarse.

DeepSeek llama a esto composabilidad espacial. Las dependencias le dicen a Cordis dónde encaja un componente, así que los desarrolladores no tienen que ordenar el arranque a mano.

La composabilidad temporal revierte efectos de plugins

Cordis también rastrea registros como listeners de eventos, secciones de prompts y esquemas de herramientas. Al quitar un plugin, se eliminan esos efectos en vez de dejar listeners huérfanos. Esto no deshace acciones externas como un comando de shell; la reversibilidad solo aplica a efectos que Cordis rastrea.

Arquitectura de DeepSeek Harness: cómo encaja el runtime

Una instancia en ejecución es un árbol de plugins construido a partir de configuraciones cargadas en un orden concreto. Esas configuraciones determinan qué partes están activas.

Diagrama de arquitectura de DeepSeek Harness que muestra al usuario o aplicación conectándose a un runtime ensamblado, con el modelo, el bucle del agente, las herramientas, las sesiones, el almacenamiento y el sandbox enlazados a través de Cordis

Cordis conecta todos los plugins reemplazables del runtime. Imagen del autor.

Los servicios de Cordis permiten que los plugins se encuentren

Cordis ofrece un directorio compartido de servicios. Los plugins usan claves estables como ctx.tools, ctx.llm y ctx.sessions en lugar de importar el código de un proveedor concreto. Una herramienta que llama a ctx.llm no necesita saber qué adaptador de modelo hay detrás.

Los presets del agente y los perfiles del runtime controlan capas distintas

Si todo es reemplazable, alguien tiene que decidir qué se monta en cada ejecución, y DeepSeek Harness lo responde en dos capas fáciles de confundir.

Versión corta: un perfil controla cómo arranca el programa, mientras que un preset controla qué puede hacer el agente. Si solo usas la app web, puedes saltarte las dos subsecciones siguientes.

Perfiles de runtime

Un perfil de runtime (web, headless, sdk, sdk-minimal y acp se suministran como plantillas) decide cómo se lanza la aplicación y qué paquetes de plugins de Cordis se apilan al inicio. La mayoría solo tocará esta capa ejecutando dsh web o un comando similar.

Presets del agente

Un preset de agente (Standard, PTC, Minimal o Creator) decide qué puede usar una sesión activa. Un archivo de patch puede cambiar el preset sin tocar el código de Harness.

El bucle del agente coordina turnos, pasos y llamadas a herramientas

DeepSeek distingue un paso de un turno. Un paso es una solicitud al modelo más sus llamadas a herramientas. Un turno son cero o más pasos: se abre antes de que se reclame su primera entrada y se cierra cuando no queda nada pendiente. La mayoría de turnos ejecuta varios pasos antes de que el agente pueda responder, pero una entrada rechazada cierra un turno que no consumió pasos.

diagrama del flujo del bucle del agente que muestra un turno del usuario con uno o más pasos del modelo, cada uno seguido de una ejecución de herramientas protegida

Un turno puede contener varios pasos. Imagen del autor.

Las sesiones usan un registro de eventos solo-append

Esto me parece lo más importante. Una sesión es un registro de eventos tipados solo-append, no un array de mensajes de chat. Harness construye el historial del modelo a partir de ese registro, y la documentación de sesiones exige que todo lo que se envía al modelo sea recuperable desde ahí.

Reanudar, bifurcar, buscar, reproducir y la vista Trajectory se construyen sobre ese flujo de eventos.

Re-derivar el historial no es una re-ejecución determinista. La salida del modelo y el estado externo pueden diferir, pero el registro sigue ofreciendo un relato inspeccionable de lo ocurrido.

línea temporal de eventos de sesión que muestra mensajes de usuario, salidas del asistente, llamadas a herramientas y resultados de herramientas acumulándose en un registro solo-append

El historial de la sesión es un registro solo-append. Imagen del autor.

Cómo controla DeepSeek Harness las herramientas y los sandboxes

Un modelo puede solicitar una herramienta por nombre, pero no puede ejecutarla directamente. Dos controles separados median entre la solicitud y un cambio en el sistema de archivos.

La tubería de ejecución de herramientas

La llamada pasa por una comprobación de políticas, la ejecución y el manejo del resultado. El modelo elige la herramienta; el runtime decide si y cómo se ejecuta.

diagrama de la tubería de ejecución protegida de herramientas que muestra la solicitud del modelo pasando por política previa a la ejecución, ejecución y posprocesado antes de devolver el resultado al modelo

El runtime decide cómo se ejecutan las herramientas. Imagen del autor.

Sandboxing frente a aprobaciones

  • Aprobación pregunta si el usuario debe confirmar una acción. 
  • Sandboxing limita dónde y cómo se ejecuta. 

DeepSeek los mantiene separados, aunque los presets de permisos agrupan ambos controles, del mismo modo que un runtime de contenedores separa permisos de proceso de límites de ejecución.

Conviene destacarlo ahora, porque volveré a ello en las limitaciones: decirle a un modelo en el prompt del sistema que "solo lea archivos" es una instrucción que puede seguir, no un límite impuesto como el de un sandbox a nivel de sistema operativo.

Modos de DeepSeek Harness: Standard, PTC, Minimal y Creator

DeepSeek Harness ofrece cuatro modos distintos. Ninguno está por encima de los demás. Son cuatro respuestas a "cuánto del runtime debe exponerse a esta sesión", y el adecuado depende de la tarea. Como vimos en la arquitectura, cada modo cambia el conjunto de herramientas disponibles para el agente.

tabla comparativa de los cuatro modos de DeepSeek Harness mostrando la superficie de herramientas y propósito de los modos Standard, PTC, Minimal y Creator

Cuatro modos comparten una misma base de runtime. Imagen del autor.

Modo Standard

La base de uso general: 

  • Edición de archivos
  • Acceso a shell
  • Búsqueda en archivos y web
  • Skills
  • Planificación
  • Objetivos
  • Subagentes
  • Workflows

Para trabajo habitual con repositorios, aquí empezaría yo.

Modo PTC

El modo PTC mantiene casi todo el conjunto de herramientas de Standard pero cambia cómo llega el modelo a ellas. (Desde la versión 0.1.2, el modo Web PTC ya no expone por defecto la herramienta de propósito general workflow.) 

En lugar de pedir herramientas individuales en varios pasos del modelo, este escribe un programa contra un SDK generado. Ese programa puede llamar a varias herramientas mediante run_code. Cada llamada sigue pasando por las mismas comprobaciones de políticas, así que PTC cambia cómo el modelo expresa el plan, no lo que puede hacer.

La página de producto sigue usando la etiqueta "Code mode", pero una versión oficial más reciente lo renombró a modo PTC manteniendo legibles las conversaciones antiguas. Usaré modo PTC en todo el texto; el FAQ retoma qué podrían significar esas siglas.

Modo Minimal

El modo Minimal reduce el entorno a dos herramientas: un shell persistente y un editor de archivos por sustitución de cadenas. DeepSeek lo usa para benchmarks de modelos porque los resultados dependen en parte del harness del modelo, no solo de sus pesos.

Modo Creator

El modo Creator permite a los desarrolladores inspeccionar el runtime y probar plugins de Cordis en memoria. Sirve para crear presets, y no lo llamaría auto-mejorable en un sentido más profundo.

Qué hace diferente a DeepSeek Harness frente a otros frameworks de agentes

DeepSeek Harness se diferencia de muchos frameworks de agentes al hacer reemplazables las capas bajas del runtime. Casi lo incluyo en la sección de arquitectura, pero la distinción se pasa por alto con facilidad. Cordis gestiona esos cambios con un único sistema de plugins.

Puedes cambiar cómo opera el agente, no solo las herramientas que puede invocar. El registro de eventos también convierte la ejecución en algo inspeccionable por los desarrolladores, en lugar de leerlo solo como un chat. Los modos Minimal y Creator les permiten probar el runtime desde direcciones opuestas.

DeepSeek Harness vs. Claude Code, Codex y OpenCode

Una checklist de funciones pasaría por alto lo esencial. Cada competidor admite extensiones; la pregunta útil es qué partes pueden cambiar los desarrolladores. Parece una diferencia menor, pero no lo es. Nuestra comparativa dedicada de Harness frente a Claude Code usa el mismo modelo en ambos y cubre configuración, logs y costes.

DeepSeek Harness vs. Claude Code

Claude Code admite instrucciones de proyecto, skills, hooks, MCP, subagentes y un Agent SDK, y mantiene fijo su bucle integrado. DeepSeek Harness permite sustituir el bucle, el adaptador del modelo y la capa de almacenamiento mediante la configuración.

DeepSeek Harness vs. Codex

Codex requiere una comparación más cuidadosa porque su CLI y App Server también son de código abierto. Proporciona un agent harness que los desarrolladores amplían mediante puntos de entrada documentados. DeepSeek Harness está pensado para cambiar el propio runtime. Ofrecen niveles de control distintos.

DeepSeek Harness vs. OpenCode

OpenCode ya es de código abierto, funciona con varios proveedores de modelos y usa una arquitectura cliente-servidor. Puedes configurar sus herramientas, permisos, sesiones y proveedores. Sus plugins amplían un núcleo de servidor fijo, mientras que DeepSeek también hace reemplazables el bucle y el almacén de sesiones.

Cuándo usar DeepSeek Harness

Sustituir partes del runtime no es útil por sí mismo. Ese control extra solo importa cuando resuelve un problema que ya tienes.

  • Cuando el propio runtime forma parte del proyecto. Si estás modificando adaptadores de modelo, el bucle del agente, el almacenamiento o el comportamiento de sesiones, y no solo construyendo encima de un agente, este encaja mejor.
  • Cuando comparas modelos en un entorno controlado. Usar el mismo runtime mantiene más constantes las pruebas al intercambiar el modelo, aunque puedan diferir en uso de herramientas y estilo de razonamiento.
  • Cuando importa depurar una ejecución compleja. El registro de eventos de la sesión y la vista Trajectory facilitan reconstruir qué vio el modelo y qué herramientas se ejecutaron.
  • Cuando pruebas los internos de un agente. El modo Creator y Cordis están pensados para desarrolladores que estudian cómo se ensamblan los agentes, más que para quien solo necesita código de aplicación.

Puede ser innecesario para llamadas simples a modelos o para equipos que quieren un agente de código listo para usar sin tocar sus entrañas. Sustituir más piezas solo compensa cuando ese control resuelve un problema real.

Limitaciones de DeepSeek Harness: estado de vista previa y riesgos de seguridad

Nada de lo anterior importa sin explicar claramente en qué se queda corto hoy.

Sigue en vista previa para desarrolladores

El repositorio de DeepSeek deja claro que habrá cambios incompatibles. Ya ha ocurrido: el cambio de Code a PTC vino con cambios en las APIs de sesión y la eliminación de una opción opcional de almacenamiento en SQLite. Fija tus versiones. Omitir ese paso y confiar en que todo siga estable no es un plan.

Más control también implica más complejidad

Hacer reemplazable más parte del runtime también obliga a aprender más: dependencias de plugins, configuración, diferencias entre proveedores y compatibilidad de versiones. Es el intercambio habitual entre comodidad y control.

¿DeepSeek Harness es local?

DeepSeek Harness almacena por defecto el contenido de las sesiones, los registros de herramientas y la configuración de forma local, según su declaración de tratamiento de datos. Puedes desactivar sus informes anónimos sobre configuraciones y listas de proyectos. 

Pero un proveedor de modelo externo, una herramienta web, un servidor MCP o un plugin pueden seguir enviando datos fuera de tu máquina bajo su propia política. "Local-first" no cubre todos los servicios que conectes.

Ejecutar agentes conlleva riesgos de seguridad

Un runtime que puede editar archivos, ejecutar comandos y cargar plugins de terceros puede causar daños reales. El aviso de seguridad de DeepSeek indica que el proyecto no ha pasado una auditoría. El sandboxing, las aprobaciones y los controles de permisos reducen el riesgo, pero no garantizan aislamiento.

Ejecutarlo en tu propia máquina no elimina ese riesgo. Usa permisos limitados y un entorno desechable para trabajos no confiables, y ten cuidado con contenido que pueda contener instrucciones ocultas.

Por qué el comportamiento de un agente depende de algo más que del modelo

El comportamiento de un agente depende del runtime además del modelo. Volvemos a "Agente = Modelo + Harness", y la misma separación aplica a los agentes con LLM más allá de DeepSeek.

Lo que un modelo puede producir depende de sus pesos. Lo que hace un agente también depende de qué contexto llega al modelo, qué acciones puede tomar y cuán rígidas son las restricciones de ejecución. Nada de eso vive en los pesos.

DeepSeek Harness muestra esa capa circundante al dividirla en piezas con nombre que se pueden sustituir. El modo Minimal demuestra por qué esto importa más allá de DeepSeek: una puntuación de benchmark refleja en parte el harness usado en la prueba, no solo el modelo. El harness no hace más listo a un modelo. Cambia el entorno en el que trabaja.

Conclusión

La idea inicial es la que conviene recordar: el modelo razona, pero el runtime decide a qué puede llegar ese razonamiento y qué puede hacer. DeepSeek Harness hace editable ese runtime, desde el adaptador del modelo y las herramientas hasta el almacén de sesiones y el bucle del agente.

Ese control tiene un coste. Sustituir más partes del runtime implica responsabilizarse de su configuración, cambios de versión y límites de seguridad. Una vista previa para desarrolladores con acceso a shell no es algo que instales y te olvides.

Mi opinión es simple: usa DeepSeek Harness cuando el propio runtime forma parte del trabajo. Si solo necesitas ediciones en el repositorio, un agente de código listo te exigirá menos.

Nuestro tutorial de DeepSeek Harness cubre la configuración. La guía de alternativas a Claude Code compara más agentes de código, mientras que Introduction to AI Agents repasa las bases que este artículo da por sentadas.

Preguntas frecuentes sobre DeepSeek Harness

¿DeepSeek Harness es lo mismo que un modelo de DeepSeek?

No, el modelo y el runtime son cosas distintas. Harness no incluye pesos de modelo ni ejecuta inferencia por sí mismo; envía solicitudes a DeepSeek, Anthropic, OpenAI o a un modelo local.

¿DeepSeek Harness es gratuito?

El software en sí tiene licencia MIT y es gratuito. Lo que no es gratis es el proveedor de modelo que conectes, ya que la inferencia se factura aparte por quien opere ese modelo, además de cualquier coste de infraestructura de sandboxes o servicios externos que añadas.

¿Qué significan exactamente las siglas PTC?

Las notas de lanzamiento de DeepSeek usan "modo PTC" sin fijar una expansión oficial, aunque el comportamiento encaja con "programmatic tool calling" (llamadas a herramientas programáticas). Yo lo trataría como una definición operativa, no como siglas confirmadas, hasta que DeepSeek concrete una.

¿Puedo confiar a DeepSeek Harness un repositorio que me importe?

Siguen aplicando algunas limitaciones. Para un repositorio importante, trabaja en una copia o rama separada, mantén las credenciales de producción fuera del entorno y revisa cada plugin antes de cargarlo.

¿"Todo es un plugin" significa que puedo convertirlo en cualquier tipo de agente?

No sin trabajo de ingeniería real. Sustituir el adaptador del modelo o el bucle del agente requiere un plugin que cumpla el contrato de servicios correcto. El sistema de plugins te da acceso a más piezas; no hace que el trabajo desaparezca.

Temas
Agentes de IA
Inteligencia Artificial

¡Aprende IA agentic con DataCamp!

programa

Fundamentos de agentes de IA

6 h
¡Descubre cómo los agentes de IA pueden transformar tu forma de trabajar y aportar valor a tu organización!
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

blog

10 de los mejores plugins de ChatGPT para sacar el máximo partido a la IA en 2023

Libera todo el potencial de ChatGPT con nuestra guía de expertos sobre los 10 mejores plugins para 2023. Mejora la productividad, agiliza los flujos de trabajo y descubre nueva funcionalidad para elevar tu experiencia ChatGPT.
Matt Crabtree's photo

Matt Crabtree

12 min

Tutorial

Tutorial de DeepSeek-Coder-V2: Ejemplos, instalación, puntos de referencia

DeepSeek-Coder-V2 es un modelo de lenguaje de código de código abierto que rivaliza con el rendimiento de GPT-4, Gemini 1.5 Pro, Claude 3 Opus, Llama 3 70B o Codestral.
Dimitri Didmanidze's photo

Dimitri Didmanidze

8 min

ChatGPT Code Interpreter

Tutorial

Cómo utilizar ChatGPT Code Interpreter

Todo lo que necesitas saber sobre ChatGPT Code Interpreter de OpenAI
Adel Nehme's photo

Adel Nehme

9 min

Tutorial

Cómo ajustar GPT 3.5: Liberar todo el potencial de la IA

Explore GPT-3.5 Turbo y descubra el potencial transformador del ajuste fino. Aprenda a personalizar este modelo de lenguaje avanzado para aplicaciones especializadas, mejore su rendimiento y comprenda los costes asociados, la seguridad y las consideraciones de privacidad.
Moez Ali's photo

Moez Ali

11 min

Tutorial

Tutorial de la API de OpenAI Assistants

Una visión completa de la API Assistants con nuestro artículo, que ofrece una mirada en profundidad a sus características, usos en la industria, guía de configuración y las mejores prácticas para maximizar su potencial en diversas aplicaciones empresariales.
Zoumana Keita 's photo

Zoumana Keita

14 min

Tutorial

Tutorial sobre cómo crear aplicaciones LLM con LangChain

Explore el potencial sin explotar de los grandes modelos lingüísticos con LangChain, un marco Python de código abierto para crear aplicaciones avanzadas de IA.
Moez Ali's photo

Moez Ali

12 min

Ver MásVer Más