En agosto de 2026 DeepSeek publicó DeepSeek Harness (dsh) como developer preview. El proyecto es open source bajo licencia MIT y no pretende ser únicamente otro agente de programación para terminal. DeepSeek lo presenta como un agent harness, es decir, la capa que conecta un modelo con herramientas, memoria de sesión, sandbox, políticas de aprobación, subagentes, búsqueda web, skills, workflows e interfaz de usuario.[1][2]
Su principio arquitectónico principal es:
Everything is a plugin.
Modelos, tools, skills, sesiones, sandboxes, storage, agent loop, scheduling, subagentes e incluso la UI se componen como plugins sobre Cordis.[1][3][11]
Eso es distinto de un producto convencional con un loop y una superficie de herramientas definidos por el proveedor. En dsh, incluso el agent loop puede sustituirse mediante configuración.[3]
Sin embargo, eso no convierte a DeepSeek Harness en un producto más maduro que Claude Code, Codex o Muse Code. El SAFETY.md oficial dice explícitamente que es experimental developer-preview software, que no ha pasado una auditoría de seguridad y que no debe tratarse como secure ni production-ready.[6]
La versión pública de npm @deepseek-ai/dsh comprobada el 31 de agosto es 0.1.1-rc.2.[10]
Resumen: DeepSeek Harness es especialmente interesante como infraestructura abierta y reemplazable para construir agentes propios. Además puede delegar trabajo al Claude Code y Codex reales como subagentes, por lo que puede competir con ellos y, al mismo tiempo, actuar como una capa de orquestación por encima.[8][9]
Estado de la información: 31 de agosto de 2026.
TL;DR
| Pregunta | Respuesta verificada |
|---|---|
| ¿Qué es DeepSeek Harness? | Agent harness y runtime open source |
| Licencia | MIT |
| Estado | Developer preview |
| Versión npm actual | 0.1.1-rc.2 |
| ¿Production-ready? | No, según SAFETY.md |
| ¿Auditado en seguridad? | El proyecto dice que no |
| Arquitectura | Everything is a plugin |
| Framework base | Cordis |
| ¿Solo modelos DeepSeek? | No |
| Otros providers | Anthropic, OpenAI, Bedrock, Vertex, Azure y custom endpoints |
| ¿Modelo propio? | Sí, mediante provider/adapter |
| Interfaces | Web UI, headless, SDK y perfiles |
| ¿Subagentes? | Sí |
| ¿Claude Code como subagente? | Sí |
| ¿Codex como subagente? | Sí |
| ¿Codex CLI es open source? | Sí, Apache-2.0 |
| ¿Claude Code usa una licencia open source comparable? | No, su repo remite a Anthropic Commercial Terms |
| Muse Code | Beta |
| ¿Benchmark común justo? | No encontramos un benchmark público harness-identical |
| Mayor ventaja | Composability y posibilidad de sustituir capas del runtime |
| Mayor riesgo | Inmadurez de developer preview y amplios permisos locales |
¿Qué es un agent harness?
Un modelo de lenguaje por sí solo no es un agente completo.
Puede generar:
texto
código
planes
tool calls
pero otra capa debe decidir qué herramientas existen, cómo se ejecutan comandos, dónde puede escribir el agente, cuándo necesita aprobación, dónde se guarda la sesión, cómo se reanuda, cómo se delega trabajo y cómo se conectan modelos externos.
DeepSeek lo resume así:
Agent = Model + Harness
El harness convierte el modelo en un sistema capaz de actuar dentro de un entorno real.
¿Por qué no construir simplemente otro CLI?
DSH tiene CLI, Web UI y modo headless, pero su diseño es más amplio que el de un único coding assistant.[1][3][5]
La idea es:
no hardcodear capacidades dentro del loop;
montarlas como componentes reemplazables
Entre esos componentes están model adapters, tools, filesystem, shell, sandbox, skills, web access, persistence, compaction, subagents, jobs, scheduling, approvals y UI.[1][3]
“Everything is a plugin” incluye el agent loop
La documentación oficial indica que model adapter, tool registry, session log y agent loop son plugins.[3]
Eso va más allá de un marketplace de extensiones.
En muchos productos se pueden añadir tools, pero el ciclo:
prompt → model → tool → model → finish
sigue siendo una parte fija del producto.
En DSH el propio loop es una capability sustituible. La documentación dice que no existe un privileged core que deba parchearse para ampliar el comportamiento.[3]
Cordis: la base arquitectónica
DeepSeek Harness está construido sobre Cordis.[1][3]
El 26 de agosto de 2026 investigadores vinculados a Peking University y DeepSeek-AI publicaron A Programming Paradigm for Spatiotemporal Composability.[11]
Cordis trabaja con:
- temporal composability, para revertir efectos al retirar componentes,
- spatial composability, para declarar dependencias y reaccionar al entorno.
La implementación incluye effect tracking, dependency resolution, declarative loading, configuration reconciliation y hot module replacement.[11]
No es solo una etiqueta de marketing para un sistema de plugins.
Profiles y bundles
Un proceso dsh es un árbol de plugins compuesto durante el arranque.[3]
Los profiles son composiciones nombradas, por ejemplo:
web
headless
Los bundles distribuyen configuración Cordis y código.
dsh-base aporta model adapters, tools, persistence, sandbox, approval policy, settings, credentials y telemetry.[3]
dsh-web-app añade la aplicación web y dsh-headless un runner one-shot sin servidor.
Configuración por capas
La configuración se aplica en capas:[3]
bundles
↓
profile cordis.patch.yml
↓
home cordis.patch.yml
↓
--patch overlay
La configuración efectiva se puede inspeccionar con:
dsh --profile web --dump-config
Para equipos que construyen una plataforma propia, esto es más limpio que modificar directamente el código upstream.
Web UI
El quick start oficial:
npx @deepseek-ai/dsh web
Por defecto sirve la UI en:
http://127.0.0.1:3080
El usuario configura el modelo, elige workspace y crea una sesión. El agente puede leer y modificar archivos, ejecutar comandos, delegar trabajo y mantener un plan.[5]
DeepSeek Harness no está limitado a modelos DeepSeek
Settings → Models admite otros providers.[4]
La documentación cita:
- Anthropic,
- OpenAI,
- Amazon Bedrock,
- Google Vertex,
- Azure,
- Codex,
además de custom providers para gateways internos, servicios self-hosted y endpoints OpenAI-compatible.[4]
Por tanto:
DeepSeek Harness ≠ DeepSeek-model-only
Se puede integrar un modelo propio
ctx.llm funciona como registry de adapters.[3][4]
El patrón documentado es similar a:
class MyAdapter extends LlmAdapter {
async *stream(options) {
// provider implementation
}
}
El adapter traduce:
Harness request
↔
API del provider
Cambiar de modelo sin reiniciar el servidor
Los cambios de configuración quedan disponibles para la siguiente request sin reiniciar la Web UI.[4]
El modelo elegido pasa a ser el default para nuevas sesiones.
Una sesión que ya ha enviado requests conserva el modelo grabado en su session log.[4]
Cuatro runtime modes
DeepSeek documenta cuatro modos.[1]
Standard
Coding agent completo con edición de archivos, shell, file/web search, skills, planning, goals, subagents y workflows.
Code
Incluye Standard, pero expone tools mediante Code Mode SDK para que el modelo agrupe operaciones en un programa TypeScript.[1]
Minimal
persistent bash
str_replace_editor
Pensado, entre otras cosas, para benchmarks con una superficie mínima de herramientas.[1]
Creator
Para inspección del runtime, experimentos con plugins y custom presets.[1]
Append-only session log
DeepSeek afirma que todo lo que ve el modelo queda registrado en un append-only session log.[1]
Incluye system prompts, reasoning, tool calls/results, subagent scheduling y context injections.[1][3]
Resume, fork, search y replay operan sobre el mismo event stream.
“Model-visible means logged”
La arquitectura formula la regla:
Model-visible means logged.
Todo aquello que llegue a un request del modelo debería poder reconstruirse desde el log.
Esto mejora auditabilidad, debugging y análisis de decisiones del agente.
Subagentes como capability
ctx.subagents es un registry de providers.[8]
Los providers documentados incluyen:
spawn-in-process
fork
ACP
Codex
Claude Code
dsh-sdk
El parent agent delega sin necesitar conocer los detalles internos del child runtime.
Puede ejecutar el Codex real
El provider documentado:
@deepseek-ai/dsh-subagent-codex
no es una simple llamada HTTP a un modelo.[9]
Arranca el producto Codex real como proceso.
La implementación documentada resuelve:
@openai/[email protected]
y usa app-server --stdio.[9]
Cada llamada crea un proceso nuevo, un ephemeral thread y una tarea one-shot.
También puede ejecutar Claude Code
Otro first-party provider integra el Claude Code real.[8][9]
Flujo:
task
→ subagent provider
→ Claude Code
→ resultado final
El child recibe una tarea autocontenida y el workspace, pero no copia automáticamente toda la conversación parent.[9]
Eso cambia la comparación
La comparación simple:
DSH vs Claude Code vs Codex
es incompleta.
Un modelo mejor es:
DeepSeek Harness
├── runtime propio
├── model providers
├── Claude Code como child
└── Codex como child
Puede ser competidor y orquestador.
La contrapartida es más complejidad, más dependencias y mayor attack surface.
Agent Teams es experimental
El repositorio incluye Agent Teams con durable roster, task board, mailbox y child sessions.[3]
Pero la documentación lo califica como experimental private opt-in coordination seam.[3]
No debe presentarse como una API estable al mismo nivel que el runtime principal.
DeepSeek Harness vs Claude Code
Claude Code es un producto terminado de coding agent orientado a software engineering.
Puede explorar codebases, editar archivos, ejecutar comandos y tests, trabajar con Git y utilizar MCP.[12]
Diferencia conceptual:
Claude Code = producto coding agent
DSH = framework/runtime componible
El repo de Claude Code indica que el uso está sujeto a Anthropic Commercial Terms.[12]
DeepSeek Harness usa MIT.[1][2]
DeepSeek Harness vs OpenAI Codex
Corrección importante: Codex CLI también es open source.
El repositorio openai/codex está bajo:
Apache-2.0
Por tanto no es correcto describir DSH como alternativa open source a un Codex cerrado.
Codex es principalmente una plataforma de coding agent con CLI, IDE, desktop, cloud, sandboxing, approvals y network policies.[13]
DSH enfatiza la composición de un runtime propio y puede incluso ejecutar Codex como child.[9]
DeepSeek Harness vs Muse Code
Meta lanzó Muse Code el 5 de agosto de 2026 como beta terminal coding agent con Muse Spark 1.2.[14]
Muse Code y el modelo fueron co-trained para planning, tool use, context compaction, subagents y tareas de largo horizonte.[14]
La diferencia arquitectónica:
Muse = model + harness co-optimizados
DSH = model y capabilities reemplazables
Son dos apuestas distintas.
Tabla comparativa
| Función | DeepSeek Harness | Claude Code | OpenAI Codex | Muse Code |
|---|---|---|---|---|
| Naturaleza | framework/runtime | coding agent | coding agent/platform | coding agent |
| Estado | developer preview | producto | producto | beta |
| Licencia del harness | MIT | Commercial Terms | Apache-2.0 | no presentado como framework abierto comparable |
| Multi-model by design | Sí | principalmente Claude | principalmente OpenAI | Muse Spark |
| Custom provider | Sí | integraciones/gateways | ecosistema OpenAI | sin capa comparable descrita en lanzamiento |
| Web UI | Sí | principalmente terminal/IDE | CLI, IDE, desktop, cloud | terminal |
| Headless | Sí | Sí | Sí | CLI |
| Plugin-first core | Sí | no al mismo nivel | no al mismo nivel | no al mismo nivel |
| Agent loop reemplazable | Sí | no como contrato central | no como contrato central | no como contrato central |
| Subagents | Sí | Sí | Sí | Sí |
| Claude Code child | Sí | N/A | no es objetivo principal | No |
| Codex child | Sí | no es objetivo principal | N/A | No |
| Warning oficial not production-ready | Sí | No | No | Beta |
La tabla compara superficies de producto, no inteligencia.
¿Por qué no damos un benchmark porcentual?
No encontramos un benchmark público que mantenga constante:
mismo modelo
mismo prompt
mismo repositorio
mismas tools
mismo sandbox
mismo presupuesto
mismo tiempo
mismo grading
Comparar Opus + Claude Code con un modelo DeepSeek + DSH mide demasiadas variables simultáneas.
Cómo benchmarkear un harness de forma justa
Test A: mismo modelo
mismo modelo + DSH
vs
mismo modelo + harness mínimo
Así se mide mejor la infraestructura.
Test B: producto end-to-end
Claude + Claude Code
OpenAI + Codex
Muse Spark + Muse Code
modelo elegido + DSH
Medir:
- task completion rate,
- tests,
- coste,
- tiempo,
- tool calls,
- intervenciones humanas,
- regresiones,
- cambios fuera de scope,
- incidentes de seguridad,
- restart recovery.
Seguridad: la sección más importante
El SAFETY.md oficial es explícito.[6]
DSH puede ejecutar código y comandos generados por el modelo, cargar plugins de terceros y acceder a red, procesos, credentials y archivos disponibles.
Errores del modelo, bugs, misconfiguration, malicious input o plugins no confiables pueden modificar o borrar archivos, revelar datos o dañar el host.[6]
Sandbox no garantiza aislamiento
DeepSeek escribe:
Sandboxing, approval prompts, and permission controls can reduce risk, but they do not guarantee isolation or prevent damage.[6]
Recomienda least privilege, VM/container desechable, backups, limitar secretos y revisar plugins y comandos.
No debe utilizarse DSH como único control de seguridad para workloads no confiables.
Local-first no significa local-only
La Data Processing Statement define Harness como local-first.[7]
Por defecto almacena localmente inputs, outputs, session context, tool-call records, attachments, file paths y runtime logs.
Pero cuando se configuran modelos externos, web tools, MCP servers o plugins, estos pueden recibir datos según sus propias políticas.[7]
local-first ≠ local-only
Telemetry: más matizado que on/off
El comportamiento de telemetry cambió durante agosto.[16]
FULL requiere configuración explícita. Los perfiles nuevos no envían automáticamente el session log completo sin una elección activa, mientras que feedback puede activar una ruta limitada dependiendo del modo.[16]
La Data Processing Statement también menciona reporting potencial de información de configuración anonimizada y project lists, con opción de desactivarlo o cambiar el endpoint.[7]
Cada despliegue debe verificar su versión y configuración exactas.
Developer preview implica breaking changes reales
El README advierte:
THERE WILL BE COMPATIBILITY-BREAKING CHANGES.
Los paquetes avanzaron rápidamente entre RCs hasta 0.1.1-rc.2.[10]
GitHub Discussions contiene además reportes de comunidad sobre npm dist-tags desincronizados entre algunos plugins alrededor de rc.2.[15]
No es una confirmación oficial de que afecte a todos, pero refuerza la advertencia de preview.
¿Vale la pena crear plugins ahora?
Sí para R&D, si se acepta churn.
Hay extension points oficiales para tools, LLM adapters, settings cards, capabilities, conversation nodes, storage, filesystem, sandbox y subagent providers.[3][4]
Para una API con estabilidad garantizada durante años, el momento es temprano.
¿Para quién tiene más sentido?
Agent platform teams
Empresas que quieren construir una plataforma interna sin depender de un solo vendor.
AI infrastructure R&D
Equipos que experimentan con loops, context policies, model routing, subagents y sandboxes.
Organizaciones multi-model
Un control plane para DeepSeek, Anthropic, OpenAI, gateways internos y modelos self-hosted.
Benchmarking
Minimal mode reduce la tool surface para ciertos experimentos.[1]
¿Cuándo elegir Claude Code, Codex o Muse Code?
Claude Code si se busca un coding agent maduro y un workflow centrado en Claude.
Codex si se quiere CLI, IDE, desktop y cloud dentro del ecosistema OpenAI con controles de sandbox y governance más maduros.[13]
Muse Code si se busca una pareja model+harness co-entrenada con Muse Spark 1.2.[14]
DeepSeek Harness si la prioridad es:
construir un harness propio
y no solo consumir un agente terminado
Checklist antes de producción
Versiones y supply chain
- Fijar versión exacta de
@deepseek-ai/dsh. - Confirmar scope
@deepseek-ai. - Confirmar repo upstream.
- Evitar wrappers desconocidos como sustituto de upstream.
- Fijar versiones de plugins.
- Verificar compatibilidad CLI/plugins.
Runtime
- Usuario dedicado.
- Workspace mínimo.
- Secrets fuera del workspace.
- Backups.
- Approval para comandos destructivos.
- Network access restringido.
- Tests negativos del sandbox.
- No tratar sandbox como frontera perfecta.
Modelos
- Saber qué provider recibe el código.
- Revisar retention policy.
- TLS/auth en gateway interno.
- API keys con scope mínimo.
- Log de model routing.
- Probar al menos dos modelos.
Plugins
- Review de plugins de terceros.
- Capabilities mínimas.
- MCP servers confiables.
- Skills revisados como código.
- No auto-update sin review.
Calidad
- Acceptance tests.
- El agente ejecuta tests.
- Review del diff final.
- Medir regresiones.
- Medir coste por tarea exitosa.
- Probar reanudación tras restart.
- Limitar claramente los subagentes.
Veredicto POLPROG
DeepSeek Harness es uno de los proyectos agentic más interesantes de agosto de 2026, pero no porque DeepSeek haya creado simplemente “su propio Claude Code”.
Lo realmente interesante es:
model = plugin
tools = plugins
sandbox = plugin
session log = plugin
subagent provider = plugin
agent loop = plugin
UI = plugin
Y el parent agent puede delegar al Codex y Claude Code reales.[8][9]
La pregunta relevante no es:
¿DeepSeek Harness sustituirá a Claude Code?
Sino:
¿Separarán las empresas el modelo del harness para construir un control plane propio sobre múltiples agentes?
Los frontier models cambian rápidamente. Un buen harness puede sobrevivir varias generaciones de modelos.
DeepSeek intenta crear una capa donde modelo, provider, sandbox, tools, agent loop y UI puedan sustituirse.
Es una idea arquitectónica fuerte.
Pero al 31 de agosto de 2026 sigue siendo developer preview. El propio upstream dice que no ha pasado security audit y no debe tratarse como production-ready.[6]
Para R&D y POC controlado
Muy interesante.
Como base inmediata de producción crítica
Todavía no sin hardening, sandboxing, pinning de versiones, review de plugins y un POC completo.
La mayor ventaja de DSH hoy no es un “modelo mejor”. Es el intento de hacer que el modelo deje de ser el centro arquitectónico de todo el agente.

