OpenHands: un agente autónomo de código
Índice de contenidos
- Puntos clave
- ¿Qué es OpenHands (antes OpenDevin)?
- Ejecutarlo con Docker
- El sandbox de ejecución
- Resultados en SWE-bench
- OpenHands frente a los asistentes de IDE
- Preguntas frecuentes
- ¿OpenHands es lo mismo que OpenDevin?
- ¿Necesito una clave de API de pago para usar OpenHands?
- ¿Es seguro dejar que un agente ejecute comandos en mi equipo?
- Conclusión
- Fuentes
OpenHands, antes OpenDevin, es una plataforma de código abierto que resuelve tareas de programación de principio a fin: recibe un encargo, abre un contenedor sandbox y edita archivos, ejecuta comandos y navega la web hasta terminar. Se ejecuta con Docker en tu propio equipo y funciona con el modelo que elijas.
OpenHands, antes conocido como OpenDevin, es una plataforma de código abierto que convierte una tarea de programación en un trabajo terminado sin que estés encima: recibe el encargo, abre un contenedor aislado y trabaja solo dentro de él editando archivos, ejecutando comandos de terminal y navegando por la web hasta resolver el problema. A diferencia de un asistente que vive dentro de tu editor, OpenHands es un agente autónomo de extremo a extremo, pensado para delegarle un issue completo. En esta guía verás qué es OpenHands, cómo ejecutarlo con Docker, cómo funciona su sandbox de ejecución, qué resultados obtiene en SWE-bench y en qué se diferencia de los asistentes de IDE. La misma explicación está disponible en inglés.
Puntos clave
- OpenHands es un agente autónomo de código open source (licencia MIT) mantenido por All Hands AI; su repositorio supera las 81 000 estrellas en GitHub, una de las cifras más altas del sector.
- Nació en 2024 como OpenDevin y se rebautizó como OpenHands ese mismo año; el proyecto se describió en el artículo arXiv 2407.16741[1] de julio de 2024.
- Se ejecuta en tu propio equipo con Agent Canvas, su interfaz oficial: un solo comando de Docker levanta la interfaz en
http://localhost:8000/canvascon la imagenghcr.io/openhands/agent-canvas:1.4.0(también instalable sin Docker connpm install -g @openhands/agent-canvas). - Cada sesión corre en un contenedor sandbox aislado, donde el agente ejecuta bash, edita archivos y navega la web sin tocar tu sistema anfitrión.
- Es agnóstico de modelo: con un modelo frontera resuelve en torno al 72 % de los problemas de SWE-bench Verified, el examen de referencia para agentes que arreglan issues reales de GitHub.
¿Qué es OpenHands (antes OpenDevin)?
OpenHands es una plataforma de código abierto para construir y ejecutar agentes de software: programas que resuelven tareas de desarrollo interactuando con el mundo igual que lo haría una persona, es decir, escribiendo código, lanzando comandos en una terminal y consultando la web. El proyecto nació en 2024 con el nombre de OpenDevin (una respuesta abierta al agente cerrado Devin) y se rebautizó como OpenHands poco después, con la empresa All Hands AI detrás. Su repositorio en GitHub[2] supera las 81 000 estrellas y se distribuye bajo licencia MIT, salvo el directorio enterprise/.
La diferencia con un autocompletado o con un asistente de chat es el grado de autonomía. A OpenHands no le das una línea, le das un objetivo: «arregla el fallo del formulario de registro y añade una prueba». El agente explora el repositorio, decide qué archivos tocar, aplica los cambios, ejecuta la batería de pruebas y, si algo falla, itera hasta que pasa. Es, en esencia, un agente de IA especializado en ingeniería de software y capaz de recorrer una tarea de principio a fin.
Conviene saber que el proyecto está en plena evolución. En octubre de 2025 la organización de GitHub pasó de All-Hands-AI a OpenHands (las imágenes Docker se movieron de ghcr.io/all-hands-ai/ a ghcr.io/openhands/), la documentación se trasladó de docs.all-hands.dev a docs.openhands.dev, y el código del agente y del servidor se reorganizó en repositorios separados dentro de una arquitectura V1: la antigua arquitectura V0, con su interfaz local de Docker en el puerto 3000, quedó marcada como obsoleta y se retiró el 1 de abril de 2026. Es el precio de trabajar con una herramienta que se mueve rápido: comprueba siempre la versión y el comando vigentes, porque muchos tutoriales publicados antes de esa fecha ya no funcionan tal cual.
Ejecutarlo con Docker
La forma oficial de probar OpenHands en tu propia máquina es Agent Canvas, la interfaz de control que sustituyó a la antigua GUI local de Docker (la arquitectura V0 retirada en abril de 2026). Necesitas Docker instalado y una clave de API de algún proveedor de modelos (o un modelo local); el comando oficial descarga la imagen y lanza la interfaz web en el puerto 8000:
export PROJECTS_PATH="$HOME/projects"
mkdir -p "$PROJECTS_PATH" "$HOME/.openhands"
docker run -it --rm \
-p 8000:8000 \
-v "$HOME/.openhands:/home/openhands/.openhands" \
-v "${PROJECTS_PATH}:/projects" \
ghcr.io/openhands/agent-canvas:1.4.0
Cuando termine de arrancar, abre http://localhost:8000/canvas en el navegador (con la instalación sin Docker, npm install -g @openhands/agent-canvas seguido de agent-canvas, la interfaz queda en http://localhost:8000). La primera vez entras en Settings → LLM para elegir un proveedor de modelo y pegar tu clave de API: al ser agnóstico de modelo, Agent Canvas funciona con Anthropic, OpenAI, Google o modelos que ejecutes de forma local. A partir de ahí describes la tarea en el chat y el agente se pone a trabajar.
A diferencia de la vieja arquitectura V0, este comando no monta el socket de Docker del anfitrión: el agente ejecuta los comandos de shell dentro del propio contenedor de Agent Canvas, sin crear un contenedor adicional por sesión. Si quieres aislar aún más la ejecución por proyecto puedes configurar un backend distinto (por ejemplo un backend Docker separado o una VM remota) desde los ajustes de la aplicación. Si prefieres no usar Docker en absoluto, además de la instalación por npm el proyecto ofrece una CLI de terminal, una versión en la nube (OpenHands Cloud) y una GitHub Action que resuelve issues automáticamente cuando los etiquetas con fix-me.
El sandbox de ejecución
El componente que hace fiable a OpenHands es su sandbox. Un agente que ejecuta comandos generados por un modelo de lenguaje puede equivocarse o recibir instrucciones maliciosas, así que dejarlo trabajar directamente sobre tu sistema sería temerario. Por eso cada sesión se ejecuta dentro de un contenedor Docker aislado, con su propio sistema de archivos y su propia terminal, separado de tu equipo.
Dentro de ese contenedor, el agente dispone de un pequeño conjunto de acciones que definen su espacio de trabajo: ejecutar un comando de bash, escribir o editar un archivo, y usar un navegador para consultar documentación o probar una web. El bucle es siempre el mismo, el patrón agéntico clásico de razonar, actuar y observar: el modelo decide la siguiente acción, el sandbox la ejecuta y le devuelve el resultado (la salida del comando, el contenido del archivo, el error de la prueba), y con esa observación el modelo decide el paso siguiente. Ese aislamiento es también la razón de ser de herramientas dedicadas como E2B, el sandbox de código para agentes, cuando quieres separar la ejecución de la orquestación.
Este diseño tiene una ventaja práctica: como el trabajo ocurre en un contenedor efímero, puedes dejar que el agente pruebe cosas sin miedo a romper tu entorno, y descartar el resultado si no te convence. La contrapartida es que necesitas Docker y algo de memoria disponible, porque estás corriendo un contenedor dentro de otro.
Resultados en SWE-bench
La medida más citada de un agente de código es SWE-bench Verified, un conjunto de problemas reales extraídos de repositorios de GitHub: al agente se le da un issue y el código del proyecto, y tiene que producir un parche que haga pasar las pruebas. Es un examen duro porque no basta con generar código plausible; hay que entender un proyecto ajeno y arreglarlo de verdad.
OpenHands ha figurado repetidamente entre los mejores sistemas open source de esta tabla. Su rendimiento depende sobre todo del modelo que le pongas detrás: con un modelo frontera reciente, como Claude Sonnet 4.5 con razonamiento extendido, resuelve en torno al 72 % de los problemas de SWE-bench Verified. Conviene poner la cifra en contexto: cuando se publicó el artículo original en 2024[1], los mejores agentes rondaban un porcentaje mucho más bajo, así que ese salto refleja tanto la mejora de los modelos como la del propio andamiaje del agente.
La lección para quien elige herramienta es doble. Primero, la calidad la pone en gran parte el modelo, no el envoltorio, de modo que un agente open source como OpenHands compite de tú a tú con alternativas de pago si lo alimentas con un buen modelo. Segundo, ningún agente resuelve todavía tres de cada diez issues por sí solo, así que la revisión humana del parche sigue siendo imprescindible antes de fusionarlo.
OpenHands frente a los asistentes de IDE
Aquí está la distinción clave. Un asistente de IDE como Cline, Cursor o GitHub Copilot vive dentro de tu editor y trabaja codo con codo contigo: te sugiere cambios sobre tu copia de trabajo y tú los apruebas uno a uno mediante un diff. Es un modelo de programación en pareja, con el humano al mando en cada paso.
OpenHands juega otro papel. Está diseñado para que le delegues la tarea entera y se aparte a trabajar solo en su sandbox hasta terminar, más como un compañero al que asignas un ticket que como un copiloto que te acompaña mientras escribes. Eso lo hace especialmente útil para encargos acotados y bien definidos (arreglar un bug con reproducción clara, migrar una dependencia, añadir pruebas) que puedes lanzar y revisar cuando estén listos. Si lo que buscas es un agente de terminal que trabaje de forma parecida pero desde tu shell, Goose, el agente de código de Block sigue una filosofía cercana.
No son excluyentes: mucha gente usa un asistente de IDE para el trabajo interactivo del día a día y reserva un agente autónomo como OpenHands para tareas que puede desatender. La pregunta no es cuál es mejor, sino qué grado de autonomía quieres darle a la máquina en cada momento.
Preguntas frecuentes
¿OpenHands es lo mismo que OpenDevin?
Sí. OpenDevin fue el nombre original del proyecto cuando se lanzó en 2024 como alternativa abierta al agente cerrado Devin. Poco después se rebautizó como OpenHands, bajo el paraguas de la empresa All Hands AI, y ese es el nombre vigente. Si encuentras tutoriales o enlaces que mencionan OpenDevin, se refieren al mismo proyecto; solo cambió el nombre y, más adelante, el dominio de la documentación.
¿Necesito una clave de API de pago para usar OpenHands?
Necesitas un modelo, pero no tiene por qué ser de pago. OpenHands es agnóstico de modelo y funciona con proveedores comerciales (Anthropic, OpenAI, Google) mediante tu clave de API, o con modelos abiertos que ejecutes de forma local. La herramienta en sí es gratuita y open source; lo que cuesta es el uso del modelo. Para tareas serias conviene un modelo con buena capacidad de razonamiento, porque de él depende que el agente no se descarrile.
¿Es seguro dejar que un agente ejecute comandos en mi equipo?
OpenHands mitiga ese riesgo ejecutando el agente dentro de un contenedor Docker aislado, no directamente sobre tu sistema; con la instalación por defecto de Agent Canvas, los comandos corren dentro de ese mismo contenedor, sin acceso directo a tu equipo. Aun así conviene ejecutarlo en un entorno de confianza y revisar lo que hace, sobre todo si le das acceso a un repositorio real. Como con cualquier agente autónomo, la recomendación es tratar su resultado como una propuesta que un humano valida antes de fusionar.
Conclusión
OpenHands demuestra que un agente de código autónomo y de código abierto puede resolver tareas de desarrollo de principio a fin sin encerrarte en una herramienta propietaria: se ejecuta con Docker en tu equipo, trabaja aislado en un sandbox y funciona con el modelo que tú decidas. Su fuerte no es sustituir a tu editor, sino ocupar el espacio que este no cubre: encargos que puedes delegar por completo y revisar cuando estén hechos. El siguiente paso natural es levantarlo con el comando de Docker de arriba, probarlo con un issue real y compararlo con un asistente de IDE como Cline para decidir qué grado de autonomía encaja en tu forma de trabajar.
Fuentes: [1] Documentación oficial de OpenHands[3], [2] OpenHands en GitHub[2], [3] Artículo de OpenHands en arXiv (2407.16741)[1], [4] SWE-bench, tabla de resultados[4].
Fuentes
Código fuente
Accede a todo el código fuente de este artículo en GitHub.
Ver en GitHub