21 · 6 harness
DeepSeek Harness frente a otros
Todos son extensibles. Solo en este puedes sustituir la pieza que decide qué hace el agente.
La comparación es con Claude Code, Codex CLI, Pi, OpenHands y opencode. Todos los datos están verificados contra el repositorio o la documentación oficial de cada proyecto, con fecha, porque cuatro de los seis han cambiado de organización, de nombre o de arquitectura en el último año.
No es una tabla de funciones. La pregunta que la ordena es otra: qué controlas realmente de tu agente.
| Dimensión | DeepSeek Harness (dsh) DeepSeek AI | Claude Code Anthropic | Codex CLI OpenAI | Pi Earendil | OpenHands (Agent Canvas) OpenHands | opencode Anomaly |
|---|---|---|---|---|---|---|
| ¿Núcleo reemplazable? El eje que de verdad distingue a dsh | sí | no | no | no | parcial | parcial |
| Licencia | MIT | Propietario | Apache-2.0 | MIT | MIT | MIT |
| Agnóstico de modelo | sí | no | no | sí | sí | sí |
| Self-hosting real | sí | parcial | parcial | sí | sí | sí |
Dónde está la diferencia real
Los seis son extensibles. Todos aceptan herramientas nuevas y varios tienen sistemas de extensión bien diseñados. La diferencia no es si se pueden extender, sino dónde acaba la extensión y empieza lo intocable.
En tres de ellos el bucle del agente es parte del producto. Se puede interceptar en los puntos que ofrecen, que son muchos y están bien documentados, pero no se puede reemplazar.
OpenHands se acerca por otro camino: su pieza principal ya no es el agente sino un centro de control que orquesta agentes de terceros, incluidos los de Anthropic, OpenAI y Google. El agente es intercambiable de verdad. Lo que no lo es pieza a pieza es el centro de control.
opencode también se acerca, con una arquitectura donde la terminal es solo uno de los clientes posibles. Pero el bucle sigue sin ser una línea de configuración.
Pi se acerca desde el minimalismo. Su runtime es una librería que cualquiera puede embeber para montar su propio agente y su interfaz de línea de comandos se extiende desde dentro con módulos de TypeScript. Lo que no hay es sustitución por configuración: extender no es reemplazar.
En DeepSeek Harness sí lo es. Allí el bucle es un plugin más del producto en marcha, con el mismo estatus que un adaptador de proveedor.
Dónde gana cada uno
- Claude Code La mayor superficie Con diferencia. Y una escala de aislamiento documentada de seis niveles.
- Codex CLI El aislamiento más sólido Apoyado en mecanismos del sistema operativo.
- Pi El harness mínimo Un núcleo pequeño pensado para leerse entero, autoextensible desde dentro de la propia sesión y la base sobre la que otros construyen sus productos.
- OpenHands El más self-host Con recetas hasta para Kubernetes.
- opencode El más adoptado Por mucho, en el campo abierto. Conecta con más de setenta proveedores de modelo.
- DeepSeek Harness El único sin núcleo El bucle del agente es un plugin más, sustituible por configuración.
Dos formas honestas de aislar
DeepSeek Harness y Pi representan las dos filosofías opuestas y las dos están documentadas sin adornos.
- DeepSeek Harness Fallo cerrado Si no puede garantizar el confinamiento, no ejecuta. El grado de aislamiento es un dato que el sistema reporta, no una suposición.
- Pi Sin permisos y lo dice No incluye sistema de permisos. Remite a contenerizar por fuera con una micro máquina virtual, con Docker o con un sandbox de políticas.
Pi también declara que deja fuera a propósito otras cosas que sus competidores incorporan, incluido MCP.
Ninguno de los dos finge. Esa es la parte que importa, porque el problema no es elegir una filosofía u otra, sino descubrir tarde que la que elegiste no cubría lo que creías.
Cuándo no elegir DeepSeek Harness
Si necesitas algo estable esta semana, no es esto.
Si quieres un agente que funcione bien y no piensas tocar su arquitectura, cualquiera de los otros cinco te lo da antes y con menos curva.
Si en tu equipo nadie tiene ganas de leerse un framework de plugins entero, la flexibilidad se convierte en coste sin contrapartida.
Cuándo sí
Si has chocado con los límites de otro harness y has acabado bifurcándolo.
Si tienes que responder ante alguien por lo que hace un agente, porque la trazabilidad del registro no tiene equivalente en la comparación.
Si vas a servir el modelo desde tu propia infraestructura y quieres que la capa de agente sea igual de tuya.