El changelog de DeepSeek Harness

DeepSeek Harness publica rápido y rompe rápido: para eso está una vista previa para desarrolladores. Esta página sigue cada versión oficial de dsh: qué se añadió, qué se rompió y qué significa si escribes o instalas plugins. Las notas de versión oficiales son la fuente autorizada; lo que añadimos es un resumen que se lee en un minuto y el contexto del ecosistema de plugins que las notas omiten.

Versión actual

v0.1.2-alpha.42026-09-01

La versión más reciente de DeepSeek Harness es v0.1.2-alpha.4, publicada el 2026-09-01. El inicio rápido — npx @deepseek-ai/dsh web — descarga la compilación más nueva cada vez que lo ejecutas, así que no hay nada que actualizar. ¿Compilas desde el código fuente? Haz pull y recompila, pero lee antes la nota sobre almacenamiento bajo la rc.8.

v0.1.2-alpha.42026-09-01

Notas de versión oficiales

Un día después de eliminar el backend de sesiones, se reescribe la API de sesiones: la tercera versión seguida que mueve el suelo bajo los plugins que tocan sesiones.

Puntos clave

  • Los agentes padre y los agentes hijo continuables intercambian mensajes de seguimiento mediante send_message, que sustituye a la herramienta unidireccional report.
  • El descubrimiento de modelos propios reutiliza las cabeceras de petición del Profile, y el catálogo de modelos gana búsqueda y filtros.
  • web_fetch viene activado por defecto para el SDK de Python, Headless, ACP y los Profiles propios; el modo Web PTC deja de entregar al modelo la herramienta genérica workflow por defecto.
  • Las conversaciones muy largas se renderizan con menos coste durante el streaming, la maquetación y las vistas previas de navegación.

Cambio incompatible

`Session.events` desaparece, sustituido por lecturas bajo demanda: seq, eventAt() y snapshotEvents(). SessionSeq y SessionLogOffset pasan a ser tipos fuertes distintos, y las notas piden explícitamente revisar la compatibilidad. La herramienta unidireccional report también cede su sitio a send_message.

Para autores de plugins

Es la tercera versión consecutiva que mueve la capa de sesiones: rc.8 cambió el formato SQLite de forma incompatible, alpha.3 eliminó el backend opcional de sesiones SQLite y alpha.4 reescribe cómo se leen los eventos de sesión. Si tu plugin lee sesiones o informa a ellas, por ahora tendrás que tocarlo casi en cada versión: fija una versión que hayas probado en lugar de seguir la línea.

v0.1.2-alpha.32026-08-31

Notas de versión oficiales

Un día después de alpha.2, sobre todo pulido para conversaciones largas, más una eliminación que exige actuar antes de actualizar.

Puntos clave

  • En conversaciones largas, la navegación lateral permite previsualizar y saltar a todos los turnos paginados, incluidos los que aún no se han cargado.
  • Renderizar conversaciones largas consume menos memoria y el resaltado de sintaxis va más al día.
  • Las imágenes añadidas o encoladas mientras un turno está en marcha se muestran correctamente y se entregan de forma fiable; los subagentes continuables también aceptan imágenes en los mensajes de seguimiento.
  • Correcciones: read_image lee adjuntos sin extensión, Tab completa el comando de barra resaltado con el menú abierto, y los atascos del backend ya no se confunden con una conexión caída.

Cambio incompatible

Se ha eliminado el backend opcional de persistencia de sesiones en SQLite. El contenido existente no se borra, pero para exportarlo necesitas una versión anterior: exporta antes de actualizar, no después.

Para autores de plugins

Esta versión no toca el cargador ni la API de plugins. Aun así, es la segunda vez que esta línea cambia el almacenamiento de sesiones bajo tus pies: rc.8 cambió el formato de forma incompatible y ahora desaparece el backend opcional. Si tu plugin lee los datos de sesión directamente en lugar de pasar por el harness, trata esa ruta como inestable.

v0.1.2-alpha.22026-08-30

Notas de versión oficiales

Un seguimiento tres días después de alpha.1 que revierte una de sus eliminaciones.

Puntos clave

  • Los plugins ahora se agrupan por ámbito —conversación frente a global— con cambio de Agent Preset y búsqueda entre presets.
  • La interfaz muestra los fallos de conexión, reintenta sola y ofrece reconectar al instante; los horarios activos aparecen en la cabecera de la conversación.
  • Cada respuesta termina con su consumo de tokens y su duración, desplegable a estadísticas completas, y una web_search fallida indica el endpoint al que llegó realmente.
  • Correcciones: fallos de arranque y HMR muerto en Node.js 24.0–24.11.1, y migas de pan que desaparecían al entrar en directorios desde el menú @ con el ratón.

Para autores de plugins

SessionEvent.ignorable, eliminado en alpha.1, está de vuelta: aquella eliminación se revirtió, así que no corras a reescribir lo que dependía de ello. La pasarela @Remote a la que alpha.1 te migró ahora envuelve los fallos de llamada en un único RemoteError. En esta versión no se rompe nada.

v0.1.2-alpha.12026-08-27

Notas de versión oficiales

La versión más grande desde el lanzamiento, y la primera que retrocede de rc a alpha. Bajo el trabajo de interfaz se mueven dos superficies que afectan a los plugins: el antiguo ApiProxy desaparece y la vista de conversación queda dividida en módulos.

Puntos clave

  • Los plugins ganan dos sitios nuevos en la interfaz: controles de inicio de sesión de proveedores en la página de Modelos e idiomas de interfaz de terceros que puedes registrar tú mismo.
  • Los subagentes obtienen control real del modelo: dentro de la autorización que configures, un agente elige proveedor, modelo y esfuerzo de razonamiento, y quien lo inicia puede fijar además la longitud máxima de salida. Los subagentes de Claude Code y Codex también aceptan un modelo configurado.
  • ACP se pone al día con control de sesión estándar, ajustes de modelo, MCP, permisos y cancelación, y el runtime del SDK de Python suma un paquete para Windows x64.
  • WebFetch público viene activado por defecto, con protección SSRF y sin aprobación por petición; a cambio, acceder a la interfaz web a través de la red exige el token de un solo uso de la URL de arranque.
  • Las conversaciones pesan menos: el arranque y la inicialización transfieren menos datos, los registros ocupan menos disco, las imágenes aparecen en cuanto las envías y cada respuesta terminada se despliega para mostrar su uso exacto de tokens.

Cambio incompatible

La interfaz heredada ApiProxy se migró y se eliminó: todo pasa ahora por la pasarela @Remote. La vista de conversación también se dividió en módulos concretos, así que el código que la importaba entera debe importar la capa dueña de cada capacidad. Ambas cosas llegan en una alpha, un paso fuera de la línea rc.

Para autores de plugins

Además de esas dos eliminaciones, las peticiones oficiales de DeepSeek llevan por defecto el nombre de paquete y la versión de cada plugin activo —los despliegues pueden desactivarlo— y admiten la subida incremental opcional de los registros de sesión. El aviso de seguridad es más tajante que antes: dsh no ha pasado una auditoría de seguridad, y el sandbox, las aprobaciones y los permisos no garantizan aislamiento. Es justo la premisa sobre la que ya se apoya nuestra lectura del riesgo de los plugins.

v0.1.1-rc.22026-08-21

Notas de versión oficiales

Cinco horas después de la rc.1, un añadido discreto: la ruta de imágenes que abrió aquella versión recibe fontanería de verdad.

Puntos clave

  • El adaptador de DeepSeek ahora prefiere la Files API para subir imágenes y reutiliza los archivos ya subidos en lugar de reenviar los bytes.
  • Las imágenes se redimensionan y convierten al formato que espera el modelo de destino antes de enviar la petición.

Para autores de plugins

Leído junto a la rc.8, que corrigió los fallos de petición por imágenes demasiado grandes y acumuladas, aquí ese mismo camino se construye en vez de parchearse: las subidas se deduplican y se ajustan de tamaño antes de salir. Las notas no listan cambios de loader ni de API de plugins.

v0.1.1-rc.12026-08-21

Notas de versión oficiales

Una versión pequeña con un arreglo grande: se cierra un escape del sandbox y los cimientos multimodales por fin reciben un modelo que ve. La línea pasa de 0.1.0 a 0.1.1.

Puntos clave

  • El adaptador de DeepSeek gana DeepSeek-V4-Flash-Vision-Exp, un modelo experimental de comprensión visual multimodal. La rc.8 enseñó al harness a transportar imágenes; esta le da algo que las lee.
  • Seguridad: los procesos confinados podían escapar de las restricciones del sandbox Bubblewrap a través de /proc/<pid>/root. Corregido. Si te apoyas en el sandbox para contener el código de los plugins, esta es la compilación a la que pasar — cómo entendemos el riesgo de los plugins.
  • Pulido: tablas Markdown adaptables en las conversaciones, precisión honesta cuando la tasa de aciertos de caché se queda en 99,x %, navegación por las cabeceras de conversación de subagentes y respuestas ask_user_question multilínea con Shift+Enter.

Para autores de plugins

El arreglo sobre el que actuar es el del sandbox: antes de esta compilación, el código de plugin confinado por Bubblewrap podía alcanzar el exterior. Las notas no listan cambios en el loader ni en la API de plugins, así que lo que cargaba en la rc.8 debería seguir cargando — pero es una línea de vista previa: comprueba en lugar de suponer. Nuestro directorio sigue los plugins de sandbox y runtime que caen en ese radio.

v0.1.0-rc.82026-08-19

Notas de versión oficiales

La versión multimodal. Seis días después del lanzamiento: las imágenes pasan a ser entrada de primera clase y dos agentes de programación rivales se vuelven componentes instalables.

Puntos clave

  • Las peticiones de imagen nativas pueden activarse en los adaptadores de modelos DeepSeek; /goal y /plan aceptan entrada mixta de imagen y texto; el menú @ puede referenciar archivos y sesiones enteras.
  • Claude Code y Codex se instalan bajo demanda como Profile Bundles de subagente, con modos de permiso no interactivos y varias instancias con nombre para Codex — qué supone esto para la rivalidad.
  • Los terminales PTY de Windows mantienen sesiones PowerShell persistentes, activadas por defecto en el preset Minimal.
  • Calidad de vida: bifurcación más rápida de sesiones largas, consultas web_search concurrentes, una descarga de dependencias más pequeña y dsh web ahora abre el navegador por ti.
  • El runtime del SDK de Python cubre los cuatro presets de agente integrados e incluye lo que necesitan la búsqueda rg/glob y las herramientas MCP stdio.

Cambio incompatible

El backend de SQLite se rehízo: lecturas, escrituras y bifurcaciones más rápidas y archivos más pequeños, pero el formato de almacenamiento es incompatible y las notas no mencionan ninguna vía de migración. Trata los datos de sesión locales como desechables al cruzar esta versión.

Para autores de plugins

La rc.8 también publica unas directrices de marca: «DeepSeek Harness» es una marca registrada, se pide a los proyectos usar la abreviatura DSH en los nombres en lugar de la marca completa, y las fórmulas descriptivas como «built on DeepSeek Harness» siguen estando bien. Si mantienes un plugin, revisa el nombre de tu repositorio.

v0.1.0-rc.72026-08-17

Notas de versión oficiales

Cuatro días después: la primera versión de estabilización — costuras de UI para plugins, gestión de tareas de subagentes y un preset renombrado.

Puntos clave

  • Los plugins pueden registrar sus propias tarjetas de ajustes en la interfaz del harness.
  • Las tareas de subagente de Codex y Claude Code se gestionan desde el Job Panel.
  • MCP y ACP ganan adjuntos de imagen persistentes, y el PTC Mode reenvía imágenes anidadas.
  • El preset integrado en inglés Code mode pasa a llamarse PTC mode; los modelos DeepSeek ganan una opción de esfuerzo de razonamiento low (el valor por defecto sigue siendo high).
  • Correcciones: latencia del Bash persistente en el preset Minimal, desbordamientos de pila al paginar historiales largos, sesiones que morían tras el truncado por máximo de tokens, desalineación del cursor en Safari, y una actualización a node-pty 1.2 beta para mayor compatibilidad de terminales.

DeepSeek Harness se hizo público como vista previa para desarrolladores con licencia MIT y reunió unas 95 000 estrellas de GitHub en sus dos primeros días; en nuestra última actualización del conjunto de datos, el repositorio estaba en 207.390. La propuesta es una idea llevada en serio: modelos, herramientas, habilidades, sesiones, sandboxes, sistemas de archivos, el bucle y la interfaz son todos plugins sobre el runtime Cordis, compuestos mediante un archivo de carga cordis.yml.

Puntos clave

  • Inicio rápido con un solo comando — npx @deepseek-ai/dsh web — que sirve una interfaz web local en 127.0.0.1:3080.
  • Cuatro presets integrados: Standard, Code (renombrado PTC en la rc.7), Minimal para benchmarking y Creator para montar el tuyo.
  • El README advierte, en mayúsculas, de que vienen cambios que rompen la compatibilidad — una advertencia que la rc.8 acabó cumpliendo.

Preguntas frecuentes

¿Cuál es la última versión de DeepSeek Harness?
v0.1.2-alpha.4, publicada el 2026-09-01. Es una versión previa dentro de la vista previa para desarrolladores v0.1: todavía no hay rama estable, y la serie alterna candidatas a versión y alphas. Cualquier cosa más reciente que la fecha de revisión de esta página estará en la página oficial de releases de GitHub.
¿Qué es el PTC mode?
El preset integrado que antes se llamaba Code mode; la rc.7 renombró la etiqueta en inglés. Es el modo en que el modelo orquesta una tarea generando y ejecutando código en lugar de llamar a cada herramienta una por una. Mismo preset, nuevo nombre: los artículos antiguos que dicen Code mode describen el PTC mode.
¿Es DeepSeek Harness lo bastante estable para producción?
No, y tampoco lo pretende. Es una vista previa para desarrolladores cuyo README advierte en mayúsculas de cambios incompatibles, y la primera semana trajo dos release candidates y un cambio incompatible del formato de almacenamiento. Desarrolla sobre él y experimenta — pero no lo pongas donde una actualización rota cueste dinero.
¿Cómo actualizo dsh y sobrevivirán mis sesiones?
Con npx, cada arranque descarga la compilación más reciente; desde el código fuente, haz pull y recompila. La salvedad son las sesiones: la rc.8 cambió el formato de almacenamiento SQLite de forma incompatible y las notas no describen migración alguna, así que asume que los datos de sesión locales no cruzan esa actualización.
¿Las actualizaciones rompen los plugins instalados?
Pueden. El formato del loader y las API de plugins siguen tomando forma, así que un plugin que carga en una release candidate puede fallar en la siguiente. Antes de depender de uno, mira cuándo fue el último push de su repositorio: un plugin mantenido activamente sigue los cambios de upstream; uno abandonado deja de cargar en silencio. Cada página de plugin de nuestro directorio muestra esa frescura.

DSHarness es un directorio independiente de plugins de DeepSeek Harness, sin vínculo con DeepSeek AI. Los resúmenes condensan las notas de versión oficiales, que siguen siendo la referencia. Última revisión: 2026-09-02.