SSD Nodes Learn Hosting plans →
Guías Matt ConnorPor Matt Connor · Actualizado 2026-08-27

DeepSeek Harness vs Claude Code vs Omnigent: diferencias

Compara DeepSeek Harness, Claude Code y Omnigent por arquitectura, modelos, licencia y madurez, y descubre 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 reciben el nombre de harnesses de agentes, pero 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. Si este enfoque es nuevo para usted, qué es realmente un harness de agente describe las partes que estos tres distribuyen de forma diferente: el bucle, las herramientas, los permisos y el estado de la sesión.

Las diferencias reales 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 de agosto de 2026. Dos de los tres evolucionan con suficiente rapidez 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 se encuentra actualmente en fase de vista previa para desarrolladores y cambia 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. Todo lo que escriba hoy contra la API (interfaz de programación de aplicaciones) de plugins debe considerarlo sujeto a reescritura.

Inícielo con npx, que requiere tener Node.js instalado:

npx @deepseek-ai/dsh web

El comando muestra su URL. De forma predeterminada, la interfaz web se sirve en http://127.0.0.1:3080. Esa dirección es un bind deliberado, no un valor predeterminado meramente estético, y qué implica enlazar con 127.0.0.1 para acceder a la interfaz empieza a ser importante en cuanto dsh se ejecuta en una máquina distinta de la del navegador. Cada build publicada es una release candidate, no una versión estable. Por eso, si el comando falla o inicia una versión distinta de la esperada, fijar una versión exacta de dsh y borrar la caché de npx es la forma más rápida de resolverlo. 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 web

dsh web es una abreviatura de dsh --profile web. Un perfil es un directorio situado bajo $DSH_HOME/profiles/, y el launcher inicia el perfil que se indique. 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. Este es el formato adecuado para un cron job o un paso de compilación. Los flags del launcher, como --profile y --patch, deben aparecer antes de los argumentos propios de la aplicación, porque el launcher deja de analizar los argumentos al transferir el control. Un flag como --port pertenece al perfil iniciado, no al launcher, por lo que su posición es importante. Los plugins se administran pasando argumentos a pnpm, como en dsh plugin --profile web add <package>. Un plugin se carga en el mismo runtime que el agente y hereda sus permisos, así que compruebe a qué puede acceder un plugin antes de instalarlo.

¿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 lo que se adapta bien a una sesión de servidor. Como no hay una interfaz que configurar, se define su forma de responder mediante texto en lugar de paneles de configuración, y un estilo de salida sustituye su prompt del sistema, de modo que todas las respuestas de la sesión adoptan un formato diferente. La instalación requiere un solo comando en macOS, Linux y WSL:

curl -fsSL https://claude.ai/install.sh | bash
claude --version

Una 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 lo que el claude instalado no usa Node.js durante la 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 opción es preferible 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. Decidir entre una suscripción de Claude y la facturación de la API influye mucho más en el coste 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 la licencia Apache 2.0. Se define como un meta-harness. No implementa un bucle 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 de harnesses: una vez en una forma que se comunica con el SDK del proveedor y otra en una forma nativa que encapsula el programa de terminal real del proveedor.

Un agente es un archivo YAML, 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 central 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 el mecanismo para 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 primero 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 la idea. Polly es un orquestador de código que no escribe código por sí mismo. Planifica, delega el trabajo a subagentes de código 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 | sh

También puede instalarlo manualmente. Este método requiere Python 3.12 o posterior:

uv tool install omnigent
omnigent setup
omnigent start

pip 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 posterior, git, Node.js 22 LTS (soporte a largo plazo) o 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 lo que es software de Python cuya función es ejecutar software de Node.js.

¿Quién suministra el modelo y quién lo paga?

Este es el eje con las consecuencias prácticas más importantes, y las tres respuestas son realmente distintas.

DeepSeek Harness funciona con el modelo de aportar las credenciales propias. El catálogo de proveedores instalado incluye Anthropic, OpenAI, Bedrock, Vertex, Azure y Codex. Una entrada de proveedor personalizado requiere un identificador de proveedor en minúsculas, un nombre visible, una URL base, un protocolo de API, una credencial y al menos un modelo. Así puede apuntar a una puerta de enlace 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 puerta de enlace también puede indicar una variable de entorno, con una línea como apiKeyEnv: GATEWAY_API_KEY. A pesar del nombre del proyecto, nada le obliga a usar los modelos propios de DeepSeek. Si quiere ver esos archivos completados con una clave real o dirigidos a un endpoint local de Ollama, configurar las claves, los modelos y los endpoints de dsh explica cada modo y qué datos salen o no de su equipo en cada caso.

Claude Code está vinculado a un único proveedor por diseño. Inicie sesión con una cuenta de pago o establezca ANTHROPIC_API_KEY. Claude Code le pedirá una vez que apruebe esa clave en lugar de abrir un navegador. Esta segunda opción funciona en un servidor sin interfaz gráfica. Las organizaciones que ya compran capacidad en otros servicios pueden enrutar las solicitudes mediante Amazon Bedrock, Agent Platform de Google Cloud o Microsoft Foundry.

Omnigent necesita lo que requiera el harness subyacente, recopilado por omnigent setup. Acepta claves de API, suscripciones existentes de CLI, puertas de enlace compatibles con OpenAI o Anthropic y espacios de trabajo de Databricks. Ese es el coste real de un meta-harness: una sola máquina termina almacenando las credenciales de todos los proveedores. Lea 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 valor de fijación minimumVersion para las organizaciones que necesitan establecer una versión mínima. Ese es el perfil de un producto que ya se utiliza en producción.

Omnigent es público desde junio de 2026, todavía pertenece a la serie 0.x y su README lo describe como alpha. Se esperan cambios continuos tanto en la lista de harnesses como en el esquema YAML. 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 que romperán la compatibilidad. Un número muy alto de estrellas indica que muchas personas lo siguen. No indica que la API de plugins esté consolidada.

¿Qué licencia tiene cada uno?

DeepSeek Harness utiliza la licencia MIT y declara las licencias de terceros en THIRD_PARTY_NOTICES.md. Omnigent utiliza la licencia 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 iniciar cualquier comparación de 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 disponibles. Ejecución de Claude Code en un VPS dentro de tmux explica en detalle la gestión de la sesión.

DeepSeek Harness necesita Node.js y un navegador dirigido 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 más segura, ya que es la versión que utiliza el ecosistema relacionado. No publique el puerto 3080. Deje 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-vps

Despué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 los plugins.

Omnigent es el más exigente, porque instala y supervisa CLI de terceros. Requiere Python 3.12, Node.js 22, npm, pnpm, tmux y bubblewrap en el mismo servidor. Además, descargará cada CLI del proveedor que habilite. Reenvíe su puerto de la misma forma:

ssh -N -L 6767:127.0.0.1:6767 you@your-vps

Para un servidor que utilicen otras 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. El inicio de sesión mediante 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 vacía en la dirección IP pública del servidor?

Ambos arneses web escuchan en loopback de forma predeterminada. La opción evidente es enlazarlos a 0.0.0.0 y abrir el puerto. Esto provoca dos problemas distintos. El primero es la seguridad: ninguno incluye autenticación en su modo local predeterminado. Por tanto, 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 (protocolo seguro de transferencia de hipertexto), 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 function

La página se renderiza sólo parcialmente o no se renderiza, porque la creación de la sesión falla antes de que pueda mostrarse ningún elemento. El servidor no tiene ningún problema 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 contexto seguro. Un proxy inverso con un certificado TLS (seguridad de la capa de transporte) válido también lo resuelve. Después tendrá que añadir la autenticación por su cuenta.

¿Cuál encaja contigo?

Elige Claude Code si quieres un agente de programación que funcione hoy, estás dispuesto a pagar a Anthropic y ya trabajas en el terminal. Es el único de los tres que es un producto comercial terminado, no una versión preliminar.

Elige DeepSeek Harness si el modelo de plugins es lo importante: quieres sustituir el adaptador del modelo, el sandbox o el ciclo del agente, y aceptas que la interfaz contra la que programas 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.

Elige Omnigent si ya ejecutas más de una CLI de agentes y tu 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 tu stack, y una capa que no necesitas es una capa que puede fallar. Si tu 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ás haciendo una lista de opciones, el agente de programación con IA Mimo Code pertenece a la misma categoría de agentes de terminal que Claude Code, y vale la pena leer cómo ejecutar agentes de programación en una máquina virtual desechable elijas el que elijas, porque ninguno de estos tres hace que un rm -rf realizado sin cuidado sea seguro por sí solo. Ninguno de los tres decide tampoco el tamaño del diff que propone el agente. Esa es una cuestión del prompt, por lo que vale la pena añadir una skill que oriente al agente hacia el cambio más pequeño que funcione sobre el harness que finalmente elijas.

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 con capacidad en otra plataforma pueden dirigirlo a Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.

¿Puede DeepSeek Harness ejecutar modelos de Claude o 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, Models. Todo lo que no esté 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 sólo contiene una referencia. Haga una copia de seguridad del archivo de credenciales por separado y manténgalo fuera del control de versiones.

¿Omnigent sustituye 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 sandboxing por encima de ella. Por tanto, sus dependencias sólo compensan cuando ejecuta más de un agente o más de un proveedor.

¿Por qué la interfaz web de DeepSeek Harness aparece vacía 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 renderiza parcialmente o no se renderiza, 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 válido. 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. Ni DeepSeek Harness ni Omnigent publican una cifra. Por tanto, mida en lugar de hacer estimaciones. En los tres casos, el modelo se ejecuta de forma remota. El harness se encarga de supervisar procesos y trabajar con archivos, no de ejecutar la inferencia. El tamaño necesario del sistema depende sobre todo del trabajo que el agente realice 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.