Un harness es el programa que transforma un modelo de lenguaje en un agente de programación: le proporciona herramientas para ejecutar comandos y leer o editar ficheros, gestiona la conversación y decide en qué casos debe pedir permiso antes de actuar. Claude Code, Codex o Cursor son harness. La pregunta de este artículo es otra: cuáles funcionan bien con un modelo que corre en tu propio ordenador, sin pagar por token y sin enviar tu código a nadie.
La oferta es muy amplia, aunque el panorama ha cambiado bastante en 2026. Algunos nombres que suelen aparecer en todas las listas ya no reciben mantenimiento, DeepSeek ha publicado su propio harness y Ollama arranca varios de ellos con un solo comando. Los datos de este artículo, incluyendo versiones y estrellas, se han tomado de cada proyecto a 28 de septiembre de 2026.
| Herramienta | Tipo | Licencia | Cómo usa modelos locales | Lo mejor |
| OpenCode | Terminal y escritorio | MIT | Cualquier API compatible con OpenAI; guías para Ollama, LM Studio y llama.cpp | Modo Plan de solo lectura, subagentes, permisos y LSP |
| Pi | Terminal | MIT | Cualquier API compatible con OpenAI o Anthropic; guía para llama.cpp | Mínimo y rápido: 4 herramientas y extensiones |
| Codex CLI | Terminal | Apache 2.0 | Modo --oss con Ollama o LM Studio | Sandbox y reglas de ejecución |
| Qwen Code | Terminal | Apache 2.0 | Ollama, vLLM y cualquier API compatible | Pensado para los modelos Qwen |
| Mistral Vibe | Terminal | Apache 2.0 | llama.cpp integrado, con Devstral local | Subagentes, skills y MCP |
| Crush | Terminal | FSL-1.1-MIT | Detecta solo los modelos de Ollama, LM Studio o llama.cpp | LSP y MCP; interfaz muy cuidada |
| Goose | Terminal y escritorio | Apache 2.0 | Proveedor nativo de Ollama | Extensiones MCP para todo |
| DeepSeek Harness (dsh) | Web y escritorio | MIT | Cualquier API compatible con OpenAI o Anthropic | Todo es un plugin; versión preliminar |
| Cline | VS Code, terminal y escritorio | Apache 2.0 | Ollama, LM Studio y APIs compatibles | Modos Plan y Act; prompt compacto para modelos locales |
| Kilo Code | VS Code y terminal | MIT | Los mismos proveedores que OpenCode, del que parte | OpenCode dentro del editor |
| Zed | Editor | GPL, AGPL y Apache | llama.cpp, Ollama, LM Studio y APIs compatibles | Agente integrado en un editor muy rápido |
| OpenHands | Web y terminal | MIT | LM Studio, Ollama, vLLM y SGLang | Entorno aislado completo para tareas largas |
Lo esencial
- El más completo: OpenCode. Terminal y escritorio, modo Plan de solo lectura, subagentes, permisos y guías oficiales para Ollama, LM Studio y llama.cpp.
- El más ligero: Pi. Cuatro herramientas y todo lo demás con extensiones. Rapidísimo, pero sin sistema de permisos: úsalo dentro de un contenedor.
- Dentro de VS Code: Cline, con un modo de prompt compacto pensado para modelos locales.
- Lo que manda es el modelo, no el harness. Con menos de 16 GB de VRAM, los agentes locales se quedan cortos. Con 24 GB, modelos como Qwen3.8-27B o Devstral Small 2 ya hacen trabajo útil.
- Sube el contexto. Por defecto, Ollama puede dar solo 4.096 tokens, y con eso ningún agente funciona. Los propios harness piden entre 32.000 y 64.000.
Antes de elegir: modelo, memoria y contexto
Un agente de programación exige mucho más a un modelo que un chat: debe llamar a herramientas con el formato exacto, leer archivos extensos y mantener el hilo durante decenas de pasos. Por ello, al usar modelos locales, el cuello de botella casi nunca es el harness. OpenHands lo indica en su documentación: si un modelo local no utiliza bien las herramientas, casi siempre es culpa del modelo.
Qué modelo cabe en tu equipo
Aquí tienes los modelos abiertos más recomendados para programar con agentes y el tamaño que ocupan cuantizados a 4 bits, que es el formato habitual en local. A esa cifra hay que sumarle la memoria del contexto, que con 64.000 tokens supone varios gigas más.
| Modelo | Tipo | Q4 (tamaño) | Dónde cabe |
| gpt-oss-20b | MoE de 21.000 millones | 11,6 GB | GPU de 16 GB |
| Devstral Small 2 (24B) | Denso | 14,3 GB | RTX 4090 o Mac con 32 GB |
| Qwen3.8-27B | Denso | 16,5 GB | GPU de 24 GB |
| Qwen3-Coder-30B-A3B | MoE, 3.000 millones activos | 18,6 GB | GPU de 24 GB, o CPU con 32 GB de RAM |
| Qwen3.6-35B-A3B | MoE, 3.000 millones activos | 22,1 GB | GPU de 24 GB justa o Mac con 64 GB |
| Qwen3-Coder-Next (80B) | MoE, 3.000 millones activos | 48,5 GB | Mac o PC con 64 GB o más |
| gpt-oss-120b | MoE de 117.000 millones | 63 GB | Mac con 96-128 GB o varias GPU |
Los modelos MoE, como Qwen3-Coder-30B-A3B, tienen pocos parámetros activos por token y funcionan sorprendentemente rápido aunque parte del modelo esté en la RAM del sistema. Los densos, como Devstral Small 2 o Qwen3.8-27B, suelen razonar mejor con un tamaño similar, pero requieren caber íntegramente en la GPU para ir fluidos. Si tienes dudas sobre qué modelo cabe en tu equipo, llmfit lo calcula por ti.
Los modelos grandes de los que más se habla no caben en casa: DeepSeek V4, GLM-5.3 o Kimi K2.7 superan los 300.000 millones de parámetros. Se pueden usar en estos mismos harness, pero a través de su API o de un servidor en la nube, no en tu GPU.
El ajuste que rompe todo: el contexto
En cada petición, un agente incluye las instrucciones del sistema, la descripción de sus herramientas y los ficheros que ha leído. Esto llena rápidamente la ventana de contexto y, cuando el contenido no cabe, el modelo empieza a fallar las llamadas a herramientas sin avisar.
- Ollama ajusta el contexto por defecto según la VRAM: 4.096 tokens con menos de 24 GB, 32.000 entre 24 y 48 GB, y 256.000 por encima. Su propia documentación pide al menos 64.000 para agentes. Se cambia al arrancar el servidor con
OLLAMA_CONTEXT_LENGTH=64000 ollama serveo desde la aplicación, y se comprueba conollama ps. - llama.cpp necesita arrancar
llama-servercon--jinjapara que las llamadas a herramientas funcionen, y con un contexto amplio, por ejemplo-c 32768. - Para ahorrar memoria, Ollama puede comprimir la caché de contexto con
OLLAMA_KV_CACHE_TYPE=q8_0, que la reduce aproximadamente a la mitad.
Ollama ofrece además un atajo muy cómodo: ollama launch configura y arranca directamente varios harness con un modelo local, entre los que se encuentran OpenCode, Pi, Codex, Claude Code, Goose y el de DeepSeek.
Los mejores en la terminal
OpenCode, el más completo
Es el harness abierto más popular, con más de 210.000 estrellas en GitHub y actualizaciones casi diarias (la versión 1.18.32 se lanzó el 21 de septiembre). Cuenta con una aplicación de escritorio y una interfaz de terminal muy cuidada, además de dos agentes que se alternan pulsando la tecla tabulador: Build, encargado de ejecutar el trabajo, y Plan, que es de solo lectura y sirve para pensar antes de realizar cualquier cambio. También incluye subagentes, permisos configurables, plugins e integración con LSP.
Si utilizas modelos locales, se configura como cualquier API compatible con OpenAI, y su documentación incluye apartados específicos para Ollama, LM Studio y llama.cpp. Su consejo en caso de que las herramientas fallen es subir el contexto de Ollama a un mínimo de 16.000-32.000 tokens.
Pi, el minimalista
El agente de Mario Zechner, mantenido actualmente por Earendil, apuesta por un enfoque opuesto: solo ofrece cuatro herramientas (leer, escribir, editar y ejecutar comandos) y deja todo lo demás a las extensiones, entre las que se encuentran un modo plan, una puerta de permisos y un sandbox de ejemplo. Su prompt de sistema es muy corto, lo que supone una ventaja real con los modelos locales, ya que estos tienen menos contexto que gastar.
El inconveniente es que no tiene sistema de permisos: ejecuta cualquier acción que decida el modelo con los permisos de tu usuario, por lo que su propia documentación recomienda utilizarlo en una máquina virtual o dentro de un contenedor. Cuenta con licencia MIT y dispone de una guía para llama.cpp. Si prefieres una interfaz gráfica que añada permisos, existe PI-Desktop, que usa Pi por debajo.
Codex CLI
El agente de OpenAI es de código abierto (Apache 2.0) y funciona con modelos locales sin complicaciones: codex --oss utiliza Ollama o LM Studio, y permite añadir proveedores propios mediante su dirección. Su punto fuerte es el sandbox, que limita aquello que el agente puede tocar. Ollama recomienda asignarle al menos 64.000 tokens de contexto. Un detalle: envía datos de uso anónimos a OpenAI, aunque se pueden desactivar en la configuración con [analytics] enabled = false.
Qwen Code
Es la apuesta de Alibaba para sus modelos Qwen, que son precisamente los más usados en local. Nació como una versión de Gemini CLI y ya funciona de forma independiente. Admite las API de OpenAI, Anthropic y Gemini, además de cualquier modelo local con Ollama o vLLM. Es la opción natural si vas a trabajar con Qwen3.8 o Qwen3-Coder.
Mistral Vibe
El agente de Mistral incluye de serie un proveedor de llama.cpp y el modelo «Devstral (local)» ya configurado: si tienes Devstral Small 2 ejecutándose en llama-server, funciona sin realizar ningún ajuste. Cuenta con subagentes, skills, MCP y permisos por herramienta. La telemetría se gestiona mediante la opción enable_telemetry en su configuración.
Crush
Se trata del agente de Charm, creadores de algunas de las herramientas de terminal más bonitas que existen. Detecta solo los modelos de Ollama, LM Studio o llama.cpp, utiliza LSP para entender mejor el código y admite MCP. Hay dos matices: su licencia es FSL-1.1-MIT, que no es plenamente libre hasta que pasan dos años de cada versión, y envía métricas de uso seudónimas (nunca los prompts), que se desactivan mediante una variable de entorno.
Goose
Este agente nació en Block y actualmente pertenece a una fundación independiente; cuenta con aplicación de escritorio y de terminal. Tiene un proveedor nativo de Ollama y basa todas sus extensiones en MCP, lo que lo hace muy versátil para tareas que van más allá del código.
DeepSeek Harness (dsh)
DeepSeek publicó su propio harness, dsh, en agosto de 2026 y superó las 230.000 estrellas en GitHub en poco más de un mes. Dispone de interfaz de escritorio y web (que se arranca con npx @deepseek-ai/dsh web), una arquitectura basada íntegramente en plugins y, en su capa inferior, la misma de proveedores que Pi. Es compatible con cualquier API de OpenAI o Anthropic, por lo que funciona con modelos locales, y Ollama lo arranca directamente.
Aun así, es una versión preliminar: la propia DeepSeek avisa de que habrá cambios incompatibles y de que no ha pasado una auditoría de seguridad, y recomienda usarlo en un contenedor o en una máquina virtual. Sus modelos, los DeepSeek V4, son demasiado grandes para una GPU doméstica, así que en local lo usarás con otro modelo.
En el editor y en entornos completos
Cline
Es la extensión de VS Code más popular para agentes, cuenta con más de 69.000 estrellas y dispone de versiones para escritorio y terminal. Es compatible con Ollama, LM Studio y cualquier API compatible con OpenAI; además, ofrece soporte de MCP y los modos Plan y Act para planificar antes de ejecutar. En el caso de los modelos locales, su documentación pide activar «Use Compact Prompt» para reducir las instrucciones del sistema y ahorrar contexto. En cuanto a la memoria, orienta los requisitos así: de 16 a 32 GB para modelos pequeños cuantizados, de 32 a 64 GB para los medianos y 64 GB o más para los grandes.
Kilo Code
Es una extensión de VS Code y un agente de terminal que, según su propio README, parte de OpenCode. Es la manera de disponer de las mismas funciones que OpenCode dentro del editor y con los mismos proveedores.
Zed
El editor Zed integra su propio agente y es compatible con llama.cpp, Ollama, LM Studio o cualquier servidor compatible con OpenAI. En la configuración, hay que indicar qué modelos admiten herramientas mediante la opción supports_tools. Es la alternativa más fluida si no te casas con VS Code.
OpenHands
Más que un harness, es un entorno completo: el agente opera en un contenedor aislado con su propio navegador, terminal y sistema de ficheros, y se puede controlar mediante la terminal o una interfaz web. Es la opción más adecuada para ejecutar tareas largas sin poner en riesgo tu máquina. Su documentación para modelos locales es de las mejores: recomienda Qwen3.6-35B-A3B con 24 GB de VRAM o un Mac con 64 GB, un mínimo de 22.000 tokens de contexto (aunque recomienda 32.000) y ofrece guías para Ollama, LM Studio, vLLM y SGLang.
Los que ya no recomendamos, y por qué
Aunque algunos nombres sigan apareciendo en todas las listas, en 2026 no son una buena elección para trabajar en local:
- Claude Code. Funciona con modelos locales a través de la compatibilidad de Ollama con la API de Anthropic (
ollama launch claude), pero con limitaciones: parte de sus funciones, como la búsqueda web o algunos controles de herramientas, no están disponibles, y Anthropic no da soporte a usarlo con modelos que no sean Claude. Es un harness excelente, pero pensado para Claude. - Gemini CLI. No admite modelos locales. Solo usa uno pequeño, Gemma, para decidir si mandar cada petición a Gemini Flash o a Pro, y el equipo ha dicho que no tiene planes inmediatos de abrirlo a otras API. Si te gusta, su versión alternativa es precisamente Qwen Code.
- Aider. Fue el pionero de la programación con IA en la terminal y sigue funcionando con modelos locales, pero su última versión es de agosto de 2025. Está prácticamente parado.
- Continue. Su repositorio avisa de que ya no se mantiene y está en modo de solo lectura desde la versión final de junio de 2026.
- Roo Code. Archivado desde mayo de 2026. El propio proyecto remite a Cline o a una continuación comunitaria llamada Zoo Code.
Cuál elegir
- Si empiezas y quieres que funcione a la primera: OpenCode con Ollama. Instala Ollama, sube el contexto a 64.000 tokens, descarga un modelo que quepa en tu GPU y arráncalo con
ollama launch opencode. - Si tu equipo es justo de memoria: Pi o Cline con el prompt compacto, porque gastan menos contexto en instrucciones y dejan más espacio para tu código.
- Si trabajas en VS Code: Cline, o Kilo Code si ya te gusta cómo funciona OpenCode.
- Si usas modelos de Mistral o de Qwen: Mistral Vibe con Devstral, o Qwen Code con Qwen. Están afinados para ellos.
- Si quieres dejar al agente trabajando solo: OpenHands, que lo encierra en un contenedor.
- Si quieres curiosear lo nuevo: el DeepSeek Harness, siempre dentro de una máquina virtual mientras sea una versión preliminar.
Un consejo válido para todos: empieza con permisos. Un modelo local comete más errores que uno grande en la nube, y un rm mal colocado no entiende de privacidad. OpenCode, Cline, Codex o Mistral Vibe piden confirmación antes de ejecutar comandos; Pi y el DeepSeek Harness no lo hacen, así que en esos casos trabaja dentro de un contenedor.
Si quieres ir más allá de la programación, en cómo montar agentes de IA locales en un PC normal explicamos cómo crear asistentes con tus propios documentos, y en agentic coding, cómo está cambiando la forma de programar.











