DeepSeek Harness vs Claude Code vs Omnigent: diferencias
Compara DeepSeek Harness, Claude Code y Omnigent por arquitectura, modelos, licencia y madurez, y revisa qué necesita cada uno para ejecutarse en un VPS.
DeepSeek Harness frente a Claude Code y Omnigent: cuál necesita
DeepSeek Harness, Claude Code y Omnigent se denominan harnesses de agentes y resuelven partes distintas del problema. DeepSeek Harness es un runtime de plugins con una interfaz web en la que usted proporciona el modelo. Claude Code es un programa de terminal de Anthropic que ejecuta modelos de Anthropic. Omnigent es un orquestador de Databricks que controla otros harnesses, incluido Claude Code, en lugar de implementar su propio bucle de agente. Ninguno sustituye directamente a los demás. Por tanto, la pregunta relevante es qué capa le falta.
Las diferencias importantes están en la arquitectura, el acoplamiento al modelo, la interfaz, la madurez y la licencia. Todas las versiones y fechas siguientes se comprobaron el 18 August 2026. Dos de los tres avanzan lo bastante rápido como para que deba volver a comprobar la información antes de elegir uno.
¿Qué es DeepSeek Harness y qué aporta el modelo de plugins?
DeepSeek publicó DeepSeek Harness, o dsh, en github.com/deepseek-ai/deepseek-harness en agosto de 2026. La descripción del repositorio resume todo el diseño en cuatro palabras: todo es un plugin. El adaptador del modelo, el registro de herramientas, el registro de sesiones, el sandbox y el propio bucle del agente son plugins que carga un runtime basado en Cordis. La adopción fue inusualmente rápida y el repositorio superó las 150,000 estrellas pocos días después de su publicación (comprobado el 18 de agosto de 2026).
DeepSeek Harness está actualmente en vista previa para desarrolladores y evoluciona con rapidez. HABRÁ CAMBIOS QUE ROMPAN LA COMPATIBILIDAD.
Esta es la advertencia del propio README y la frase más importante de esta comparación. Cualquier integración que escriba hoy contra la API de plugins deberá reescribirse.
Inícielo con npx, que requiere Node.js instalado:
npx @deepseek-ai/dsh webEl comando muestra su URL. De forma predeterminada, la interfaz web se sirve en http://127.0.0.1:3080. Para compilar desde el código fuente se usa pnpm:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh webdsh web es una abreviatura de dsh --profile web. Un perfil es un directorio dentro de $DSH_HOME/profiles/ y el lanzador inicia el perfil que especifique. Esto es importante porque también existe un perfil sin interfaz: dsh --profile headless "job" ejecuta una sesión persistente, muestra el resultado y termina. Ese es el formato adecuado para un trabajo de cron o un paso de compilación. Las opciones del lanzador, como --profile y --patch, deben aparecer antes de los argumentos propios de la aplicación, porque el lanzador deja de procesar opciones al transferir el control. Una opción como --port pertenece al perfil iniciado, no al lanzador, por lo que su posición es importante. Los plugins se administran reenviando argumentos a pnpm, como en dsh plugin --profile web add <package>.
¿Qué es Claude Code y por qué es un programa de terminal?
Claude Code es el agente CLI (interfaz de línea de comandos) propio de Anthropic. El producto no incluye una interfaz web. Se ejecuta en la terminal, dentro del directorio en el que quiere trabajar. Por eso encaja bien en una sesión de servidor. La instalación requiere un comando en macOS, Linux y WSL:
curl -fsSL https://claude.ai/install.sh | bash
claude --versionUna instalación correcta muestra una versión y el nombre del producto, por ejemplo 2.1.211 (Claude Code). Si falla, claude doctor muestra diagnósticos de solo lectura sobre la instalación y la configuración sin iniciar una sesión. También existe un paquete npm, npm install -g @anthropic-ai/claude-code, que a partir de v2.1.198 requiere Node.js 22 o posterior. Instala el mismo binario nativo. Por tanto, el claude instalado no usa Node.js durante su ejecución. Anthropic también publica repositorios apt, dnf y apk firmados para Debian, Ubuntu, Fedora, RHEL y Alpine. En un servidor que administra con gestión de configuración, esta es la opción más adecuada, porque las actualizaciones llegan mediante el flujo normal de actualización.
Claude Code requiere una cuenta Pro, Max, Team, Enterprise o Console. El plan gratuito de Claude.ai no incluye acceso. Elegir entre una suscripción de Claude y la facturación de la API cambia mucho más el importe que cualquier ajuste interno de la herramienta.
¿Qué es Omnigent y qué orquesta un meta-harness?
Databricks anunció Omnigent en junio de 2026 y lo publicó con licencia Apache 2.0. Se define como un meta-harness. No implementa un ciclo de agente. Controla los que ya existen: Claude, Codex, Cursor, OpenCode, Hermes, Pi y el SDK (kit de desarrollo de software) de agentes de OpenAI. Varios aparecen dos veces en la lista del harness: una vez en una variante que se comunica con el SDK del proveedor y otra en una variante nativa que encapsula el programa de terminal real del proveedor.
Un agente es un archivo YAML, y YAML es un formato de configuración de texto plano:
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
docs:
type: mcp
url: https://example.com/mcp
researcher:
type: agent
prompt: Search for relevant information.La línea executor.harness es el objetivo principal del proyecto. Cambie claude-sdk por codex y el mismo prompt con las mismas herramientas se ejecutará con otro proveedor. Una herramienta es una función de Python, un servidor MCP (protocolo de contexto del modelo) u otro agente. Este último caso es la forma de expresar el trabajo multiagente: un subagente es simplemente una herramienta. Si todavía no ha decidido dónde deben ubicarse las skills, los servidores MCP y los archivos de reglas, conviene leer la diferencia entre las skills de los agentes, MCP y los archivos de reglas, porque Omnigent hereda los elementos que admita el harness subyacente.
El ejemplo incluido hace concreta esta idea. Polly es un orquestador de programación que no escribe código por sí mismo. Planifica, delega el trabajo a subagentes de programación en worktrees de git paralelos y, después, envía cada diff a un revisor que usa el modelo de otro proveedor.
Instálelo con el script publicado:
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | shTambién puede instalarlo manualmente. Este método necesita Python 3.12 o una versión posterior:
uv tool install omnigent
omnigent setup
omnigent startpip install "omnigent" también funciona, y los extras se seleccionan de la forma habitual con uv tool install "omnigent[databricks,modal]". omnigent setup recopila las credenciales y los valores predeterminados. omnigent start inicia el servidor, registra la máquina como host y sirve una interfaz web en http://localhost:6767. omnigent server status y omnigent stop son los otros dos comandos que usará a diario. Un omnigent sin argumentos abre una sesión interactiva sin iniciar el servidor.
La lista de dependencias es más larga de lo que sugiere el instalador de una sola línea: Python 3.12 o una versión posterior, git, Node.js 22 LTS (soporte a largo plazo) o una versión posterior con npm y pnpm, tmux para los wrappers de terminal nativos y bubblewrap (bwrap) para el sandbox de Linux. Esto es una consecuencia directa del diseño. Omnigent debe instalar y supervisar por sí mismo las CLI de los proveedores. Por eso es software Python cuya función es ejecutar software Node.js.
¿Quién proporciona el modelo y quién lo paga?
Este es el eje con mayores consecuencias prácticas, y las tres respuestas son realmente diferentes.
DeepSeek Harness funciona con un proveedor elegido por el usuario. El catálogo de proveedores instalado incluye Anthropic, OpenAI, Bedrock, Vertex, Azure y Codex. Una entrada de proveedor personalizada requiere un ID de proveedor en minúsculas, un nombre visible, una URL base, un protocolo de API, una credencial y al menos un modelo. Así se puede apuntar a una pasarela de la empresa o a un servidor autohospedado. Las claves se escriben en $DSH_HOME/.credentials.yaml y $DSH_HOME/settings.yaml sólo conserva una referencia a ellas. Por tanto, el archivo de configuración se puede compartir de forma segura, pero el archivo de credenciales no. Una entrada de pasarela también puede especificar una variable de entorno, con una línea como apiKeyEnv: GATEWAY_API_KEY. A pesar del nombre del proyecto, nada obliga a usar los modelos propios de DeepSeek.
Claude Code está vinculado a un único proveedor por diseño. Se inicia sesión con una cuenta de pago o se establece ANTHROPIC_API_KEY. En este último caso, Claude Code solicita una vez la aprobación de esa clave en lugar de abrir un navegador. Esta es la opción que funciona en un servidor sin interfaz gráfica. Las organizaciones que ya compran capacidad en otros servicios pueden enrutar las solicitudes mediante Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.
Omnigent necesita lo que requiera el harness subyacente, recopilado mediante omnigent setup. Acepta claves de API, suscripciones existentes de CLI, pasarelas compatibles con OpenAI o Anthropic y espacios de trabajo de Databricks. Este es el coste real de un meta-harness: una máquina termina almacenando las credenciales de todos los proveedores. Consulte cómo mantener los secretos fuera del alcance de un agente de IA antes de conectar esa máquina a Internet pública.
¿Qué grado de madurez tiene cada uno en agosto de 2026?
Claude Code está disponible de forma general desde 2025 y pertenece a la serie 2.1.x en agosto de 2026. Se actualiza automáticamente en segundo plano, ofrece los canales de lanzamiento latest y stable, publica manifiestos de lanzamiento firmados con GPG y documenta un pin minimumVersion para las organizaciones que necesitan establecer una versión mínima. Este es el perfil de un producto que ya se ejecuta en entornos de producción.
Omnigent está disponible públicamente desde junio de 2026, todavía pertenece a la serie 0.x y su README lo describe como alpha. Es previsible que tanto la lista de harnesses como el esquema YAML sigan cambiando. Se puede utilizar, pero todavía no es estable.
DeepSeek Harness es, con diferencia, el más reciente. Se publicó en agosto de 2026, unos días antes de redactar esta comparación, y su propio README anuncia cambios incompatibles. Un número muy alto de estrellas indica que muchas personas lo siguen. No indica que la API de plugins ya esté consolidada.
¿Qué licencia tiene cada uno?
DeepSeek Harness usa la licencia MIT y declara las licencias de terceros en THIRD_PARTY_NOTICES.md. Omnigent usa Apache 2.0. Claude Code no es de código abierto: es el producto comercial de Anthropic y, para ejecutarlo, se necesita una cuenta de pago o acceso a la API con facturación. Si necesita poder leer y modificar cada línea, Claude Code queda descartado antes de comparar sus funciones. Si necesita que la herramienta siga funcionando el próximo mes sin intervención, ese requisito apunta en la dirección contraria.
¿Qué se necesita para ejecutar cada uno en un VPS?
Claude Code es el más sencillo de los tres. Instálelo, inicie sesión y ejecútelo dentro de tmux para que la sesión sobreviva a una conexión SSH (secure shell) interrumpida. Anthropic documenta 4 GB de RAM (random access memory) o más y un procesador x64 o ARM64, en Ubuntu 20.04 o posterior, Debian 10 o posterior, o Alpine 3.19 o posterior. En Alpine también debe instalar primero bash, curl, libgcc, libstdc++ y ripgrep, porque el comando de instalación falla con un error not found si no están instalados. Ejecutar Claude Code en un VPS dentro de tmux explica en detalle la gestión de sesiones.
DeepSeek Harness necesita Node.js y un navegador que apunte a su interfaz web. El README solicita Node.js sin indicar una versión mínima, por lo que Node 22 LTS es la opción segura, ya que es la versión de destino del ecosistema relacionado. No publique el puerto 3080. Mantenga el servidor en 127.0.0.1 y reenvíe el puerto desde su portátil:
ssh -N -L 3080:127.0.0.1:3080 you@your-vpsDespués, abra http://127.0.0.1:3080 localmente. Instalación completa de DeepSeek Harness en un VPS explica la estructura de perfiles y los comandos de plugins.
Omnigent es el más exigente, porque instala y supervisa las CLI de otros proveedores. Requiere Python 3.12, Node.js 22, npm, pnpm, tmux y bubblewrap en el mismo equipo, y además descargará cada CLI de proveedor que habilite. Reenvíe su puerto de la misma forma:
ssh -N -L 6767:127.0.0.1:6767 you@your-vpsPara un servidor que utilizan varias personas, la opción compatible es el despliegue de Docker en deploy/, que habilita las cuentas multiusuario de forma predeterminada. El mismo comportamiento está disponible en un servidor iniciado manualmente si se establece OMNIGENT_AUTH_ENABLED=1, y el inicio de sesión OIDC (OpenID Connect) funciona con Google, GitHub, Okta y Microsoft. Guía del harness multiagente de Omnigent explica los proveedores de sandbox, que empiezan a ser importantes en cuanto los agentes escriben en el disco.
¿Por qué la interfaz web aparece en blanco en la dirección IP pública del servidor?
Ambos entornos web escuchan en loopback de forma predeterminada. La opción evidente es enlazarlos a 0.0.0.0 y abrir el puerto. Sin embargo, se producen dos problemas distintos. El primero es la seguridad: ninguno incluye autenticación en su modo local predeterminado, por lo que un puerto abierto equivale a un shell abierto en su VPS. El segundo es una regla del navegador que suele sorprender. crypto.randomUUID() sólo está definido en un contexto seguro, es decir, HTTPS (hypertext transfer protocol secure), localhost o 127.0.0.1. Si carga la misma interfaz mediante una dirección sin cifrado, como http://203.0.113.10:3080, la consola del navegador muestra:
TypeError: crypto.randomUUID is not a functionLa página se renderiza de forma parcial o no se renderiza, porque la creación de la sesión falla antes de que se pueda dibujar cualquier elemento. No hay ningún problema en el servidor y los registros mostrarán una petición normal. El origen no es de confianza para el navegador, por lo que una función de la que depende el frontend nunca se definió. Un túnel SSH resuelve el problema sin necesidad de un certificado, porque 127.0.0.1 cuenta como un contexto seguro. Un proxy inverso con un certificado TLS (transport layer security) válido también lo resuelve. Después tendrá que añadir la autenticación por su cuenta.
¿Cuál se adapta mejor a su caso?
Elija Claude Code si quiere un agente de programación que funcione hoy, está dispuesto a pagar a Anthropic y ya trabaja principalmente en el terminal. Es el único de los tres que es un producto comercial terminado, no una versión preliminar.
Elija DeepSeek Harness si el modelo de plugins es lo importante: quiere sustituir el adaptador del modelo, el sandbox o el bucle del agente, y acepta que la interfaz contra la que programa cambiará. Su catálogo de proveedores incluye Anthropic y OpenAI, por lo que elegirlo supone apostar por el entorno de ejecución, no por los modelos de DeepSeek.
Elija Omnigent si ya ejecuta más de una CLI de agentes y su problema real es la coordinación: políticas, sandboxing, revisión mediante el modelo de otro proveedor y una sesión compartida que otras personas puedan supervisar. Añade una capa a su pila, y una capa que no necesita puede provocar fallos. Si su problema de coordinación es menor, dos sesiones de Claude Code en el mismo equipo pueden enviarse mensajes sin un orquestador intermedio.
Si todavía está seleccionando opciones, el agente de programación Mimo Code AI pertenece a la misma categoría de agentes de terminal que Claude Code, y merece la pena leer sobre la ejecución de agentes de programación en una VM desechable elija el que elija, porque ninguno de estos tres hace seguro por sí solo un rm -rf ejecutado sin cuidado. Ninguno de los tres decide tampoco el tamaño del diff que propone el agente. Esa es una cuestión del nivel de la solicitud, por lo que merece la pena añadir sobre el arnés que elija una skill que dirija al agente hacia el cambio mínimo que funcione.
FAQ
¿Necesito un plan de Anthropic de pago para usar Claude Code?
Sí. Claude Code requiere una cuenta Pro, Max, Team, Enterprise o Console, y el plan gratuito de Claude.ai no incluye acceso. En un VPS sin interfaz gráfica, establezca ANTHROPIC_API_KEY antes de la primera ejecución. Claude Code le pedirá entonces aprobar esa clave una sola vez, en lugar de intentar abrir un navegador. Las organizaciones que tengan capacidad en otro lugar pueden conectarlo a Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.
¿Puede DeepSeek Harness ejecutar modelos de Claude u OpenAI?
Sí. El catálogo de proveedores instalado incluye Anthropic, OpenAI, Bedrock, Vertex, Azure y Codex. Añada una clave por proveedor en Settings y después en Models. Todo lo que no figure en el catálogo se añade como proveedor personalizado. Este requiere un id de proveedor en minúsculas, una URL base, un protocolo de API, una credencial y al menos un modelo. Las claves se almacenan en $DSH_HOME/.credentials.yaml, mientras que $DSH_HOME/settings.yaml contiene sólo una referencia. Haga una copia de seguridad del archivo de credenciales por separado y manténgalo fuera del control de versiones.
¿Omnigent reemplaza a Claude Code?
No. Omnigent ejecuta Claude Code. Su lista de harnesses incluye Claude, Codex, Cursor, OpenCode, Hermes y Pi. Un agente selecciona uno mediante una sola línea harness: en su archivo YAML. Aun así, debe instalar y autenticar por su cuenta la CLI subyacente. Omnigent añade orquestación, políticas y aislamiento por encima de ella. Por tanto, sus dependencias sólo compensan cuando ejecuta más de un agente o trabaja con más de un proveedor.
¿Por qué la interfaz web de DeepSeek Harness aparece en blanco en la dirección IP pública de mi servidor?
Porque un origen HTTP sin cifrado no es un contexto seguro, crypto.randomUUID() no está definido allí y la consola del navegador muestra TypeError: crypto.randomUUID is not a function. La creación de la sesión falla. Por eso la página se muestra parcialmente o no se muestra, aunque los registros del servidor parezcan normales. Reenvíe el puerto mediante SSH con ssh -N -L 3080:127.0.0.1:3080 you@your-vps y abra http://127.0.0.1:3080, ya que el loopback cuenta como contexto seguro. También puede usar un reverse proxy con un certificado TLS real. En ese caso, debe añadir la autenticación por su cuenta.
¿Cuánta RAM necesita un VPS para estos harnesses?
Anthropic documenta 4 GB o más para Claude Code. DeepSeek Harness y Omnigent no publican una cifra. Por tanto, mida en lugar de hacer suposiciones. En los tres casos, el modelo se ejecuta de forma remota. El harness se encarga de supervisar procesos y trabajar con archivos, no de realizar inferencias. El tamaño que realmente necesita el servidor depende del trabajo que el agente ejecute en él, como una compilación y una suite de pruebas. Omnigent requiere más recursos, porque Python, Node.js, tmux y cada CLI de proveedor que habilite se ejecutan en la misma máquina.