Orca: agentes de código en paralelo con Git Worktrees

Cómo usar Orca para coordinar agentes de código en distintos worktrees: instalación, interfaz, revisión de cambios, historial, skills y acceso desde el móvil.

1. Introducción: los Worktrees de Git

Otro artículo sobre cacharros agénticos. En esta ocasión para hablar de Orca, una herramienta de orquestación que está realmente bien. Pero antes de entrar en materia recordemos qué son los Worktrees.

Un Git Worktree es una funcionalidad de Git que permite tener varias copias de trabajo de un mismo repositorio, cada una en su propio directorio y con su propia rama activa, sin necesidad de clonar el repositorio varias veces. Es decir, un worktree no es una rama ni una alternativa a las ramas: es un directorio de trabajo adicional del mismo proyecto, con una rama distinta sacada en él. Esas ramas se integran después con un merge, como siempre, y lo único que Git no permite es tener la misma rama sacada en dos worktrees a la vez. Y todo esto es muy útil para trabajar con agentes de IA en paralelo.

Imaginemos que tenemos una SPA y queremos encargarle tres tareas paralelas a sendos agentes de IA:

  • El agente A debe refactorizar la autenticación.
  • El agente B debe implementar un nuevo y fantástico formulario.
  • Y al agente C le encargamos todo lo bueno: corregir los tests.

Si los tres agentes trabajasen en el mismo directorio, podrían modificar de forma simultánea los mismos archivos, sobrescribir cambios o interferir entre sí. Con Git Worktrees, en cambio, cada agente dispone de su propio directorio de trabajo y todos comparten un único repositorio Git, con el mismo historial y los mismos objetos:

Agente A -> Worktree A -> ../app-auth | feature/auth
Agente B -> Worktree B -> ../app-form | feature/form
Agente C -> Worktree C -> ../app-tests | fix/tests

Crear un worktree es tan fácil como usar el comando worktree add:

git worktree add -b feature/auth ../app-auth main

Esto crea un directorio ../app-auth con una nueva rama feature/auth que parte de main. Si no indicamos el punto de partida, Git usa la rama en la que estemos en ese momento.

Para cambiar de directorio:

cd ../app-auth

Para volver al principal:

cd ../mi-app

Y no necesitas git switch para cambiar de Worktree. Cada directorio tiene su propia rama activa.

Para guardar los cambios, dentro del Worktree:

git add .
git commit -m "Implementar autenticación"

Para hacer merge, desde el Worktree principal:

cd ../mi-app
git switch main
git merge feature/auth

Y para eliminar el Worktree y, después, su rama:

git worktree remove ../app-auth
git branch -d feature/auth

(git worktree remove se niega a borrar un directorio con cambios sin guardar, que es justo lo que queremos que haga.)

Bueno, pues como vemos, los Worktrees son un sistema muy potente para que los agentes trabajen en paralelo con menos conflictos y liadas, y esto es precisamente lo que usa Orca por debajo.

Eso sí, ojo con el alcance del aislamiento. Un worktree aísla los archivos versionados, pero no todo lo demás. Si dos agentes levantan el servidor de desarrollo en el mismo puerto, comparten la misma base de datos local o necesitan cada uno su node_modules y su .env (los archivos sin versionar no se copian al worktree nuevo), seguirán pisándose. Es una limitación de los worktrees, no de Orca.

Vamos ya con esta herramienta.

2. Instalación

Orca es una aplicación de escritorio gratuita y de código abierto (licencia MIT), así que hay que descargársela, lo cual podemos hacer desde su página oficial. Hay instalador para Windows, versiones para Mac con Apple Silicon o Intel y paquetes para Linux. En macOS también se puede instalar con Homebrew:

brew install --cask stablyai/orca/orca

Al abrirla por primera vez aparece un asistente de configuración. Lo primero es elegir el agente de terminal que usaremos por defecto. Orca detecta los que ya están instalados, como Claude Code, Codex u OpenCode, y permite cambiar de agente más adelante. Si queremos trabajar con uno de ellos, antes hay que tener su CLI instalado e iniciada la sesión correspondiente; Orca organiza su trabajo, pero el agente se ejecuta con nuestra propia cuenta.

Asistente de Orca para elegir entre los agentes de terminal detectados
Elección del agente predeterminado en el primer arranque

En esta pantalla también aparece el modo Yolo, You only live once, que permite al agente ejecutar comandos y modificar archivos sin pedir permiso. Mejor dejarlo desactivado mientras nos familiarizamos con el programa, sobre todo si vamos a abrir repositorios que no conocemos bien.

Otro paso del asistente ofrece instalar GitHub CLI (gh). Esta integración sirve para consultar incidencias y pull requests desde Orca y convertirlas en tareas. Si solo queremos abrir un repositorio local y lanzar agentes, podemos dejarla para más adelante.

Paso del asistente de Orca que ofrece instalar GitHub CLI para trabajar con incidencias y pull requests
Integración opcional con GitHub

En Windows se nos pide además que elijamos la terminal predeterminada: PowerShell, Símbolo del sistema, Git Bash o WSL, según lo que tengamos disponible. Escojamos la que ya usamos para nuestros proyectos; en la captura he seleccionado Git Bash. También podemos decidir qué hará el clic derecho dentro de la terminal. Estas preferencias se pueden cambiar después en la configuración.

Configuración de la terminal predeterminada de Orca en Windows, con Git Bash seleccionado
Preferencias de terminal en Windows

Un detalle de privacidad antes de seguir: la aplicación de escritorio recoge métricas de uso anónimas, y la documentación de Orca explica qué datos son y cómo desactivarlas.

Terminado el asistente, añadimos un repositorio Git local a Orca. A partir de ahí ya podremos crear un Worktree para cada tarea y asignarle un agente, que es donde empieza lo interesante.

3. Las partes fundamentales de la interfaz

Al principio puede parecer que Orca tiene demasiadas piezas, pero te haces enseguida con su disposición, que recoge un flujo habitual de trabajo: elegimos un proyecto, entramos en un Worktree y allí abrimos las herramientas que necesita esa tarea. Sus creadores lo llaman Agent Development Environment (ADE), un entorno de desarrollo pensado para trabajar con agentes más que para escribir código a mano.

La barra lateral izquierda agrupa los proyectos que hemos añadido. Al desplegar uno vemos sus Worktrees, cada uno con su propia rama y sus agentes. Aquí podemos crear un nuevo espacio para una tarea, volver a otro que ya teníamos abierto y comprobar de un vistazo si un agente sigue trabajando o necesita atención. Orca llama workspace al espacio de trabajo que representa cada Worktree en la interfaz. Conserva la ruta de cada proyecto, lo cual es comodísimo cuando trabajas en varias cosas al mismo tiempo. Mucho mejor, sin duda, que andar saltando por ventanas de VS Code en busca de la que te interesa en cada momento.

En el área central aparecen los paneles o pestañas del Worktree seleccionado. Un panel puede contener una terminal, un archivo del editor, un navegador, un diff o una pull request. Podemos arrastrarlas para ordenarlas y dividir la zona en subsecciones: por ejemplo, dejar la terminal del agente a la izquierda y la vista de cambios a la derecha. Al cambiar de Worktree, Orca recupera las pestañas y la distribución de paneles de ese espacio.

La terminal es donde se ejecuta el agente que hemos elegido, como Codex o Claude Code. No estamos escribiendo en un chat independiente: el agente trabaja en el directorio y la rama de ese Worktree. También podemos abrir terminales normales para lanzar comandos, tests o el servidor de desarrollo.

Cuenta además con un editor y un navegador integrados que sirven para inspeccionar el resultado sin salir de Orca. Podemos abrir los archivos que toca el agente y comprobar la aplicación en el navegador, que también queda asociado al Worktree activo. No es VS Code, pero para ir viendo lo que está apañando un agente de IA e ir retocando cosas va más que de sobra.

Por último, la vista de diferencias reúne los cambios de la tarea frente a su punto de partida. Es el lugar para revisar qué archivos se han modificado antes de aceptar el trabajo, hacer commit o preparar una pull request. Esta separación entre ejecutar, inspeccionar y revisar es lo que hace manejable tener varios agentes trabajando a la vez.

Interfaz de Orca con los proyectos a la izquierda, varios paneles de trabajo en el centro y el explorador de archivos a la derecha
Zonas principales de la interfaz de Orca

4. Una tarea completa en Orca

Vamos con un caso concreto: en nuestra SPA falla el formulario de acceso y queremos que un agente investigue el problema. Con el repositorio ya añadido, pulsamos el + junto a su nombre en la barra lateral, damos un nombre a la tarea (por ejemplo, fix-login) y elegimos la rama de partida, normalmente origin/main. Orca crea el Worktree y su rama; si seleccionamos Codex o Claude Code en el mismo diálogo, abre una terminal con ese agente dentro del nuevo directorio. Es el flujo de primera sesión que propone la documentación.

Ahora le damos un encargo concreto: «El formulario de acceso muestra un error al renovar la sesión. Reproduce el fallo, corrígelo y ejecuta los tests relacionados». Podemos seguir lo que hace en su terminal y mirar el estado que aparece junto al Worktree: si está trabajando, si ha terminado o si espera nuestra respuesta. Mientras tanto, otra pestaña puede mostrar el código y otra el navegador con la aplicación en marcha.

Cuando el agente termine, abrimos la vista de diferencias. Ahí comprobamos los archivos tocados y leemos el cambio línea por línea: ¿resuelve el fallo?, ¿ha modificado algo que no hacía falta?, ¿pasan los tests? Si encontramos un problema, podemos dejar comentarios sobre el propio diff y enviárselos juntos al agente para una segunda pasada.

Vista de diferencias de Orca con los cambios que ha hecho el agente en el Worktree
Control de cambios

Una vez satisfechos con el resultado, podemos seleccionar los cambios que queremos incluir, hacer commit, subir la rama y abrir una pull request desde Orca. El panel de commit y push reúne esos pasos junto a la vista del diff. Si preferimos usar Git en la terminal, el Worktree sigue siendo un directorio y una rama normales: Orca no nos obliga a cambiar nuestra forma de cerrar el trabajo.

Y lo más chulo es que podríamos ir lanzando cosas en paralelo: crear otro Worktree para que un segundo agente prepare los tests mientras el primero corrige el formulario, o darles el mismo fallo a dos agentes y comparar sus soluciones. Cada uno trabajará en su propia copia, aunque, claro está, antes de integrar las ramas tendremos que revisar los cambios y resolver cualquier conflicto que aparezca.

5. Historial de agentes

Una de las features que más me gusta es el historial de agentes, en la pestaña Agentes de la barra lateral derecha. Recupera las sesiones que los agentes han ido guardando en disco, con su formato y en su ubicación habitual. Codex, por ejemplo, las guarda en ~/.codex/sessions; Claude Code conserva su historial en ~/.claude (~ representa la carpeta personal del usuario). Orca lee esos registros y los muestra juntos en el panel. Por eso una conversación puede aparecer aunque hayamos cerrado su pestaña en Orca, e incluso si la iniciamos desde otra terminal.

En la parte superior podemos limitar la lista al Workspace actual, al Proyecto o a Todo lo que Orca haya encontrado. El buscador localiza sesiones por título, rama, modelo, directorio de trabajo o texto de la vista previa. La indexación, que también aparece en la captura, amplía la búsqueda al contenido de las conversaciones si la activamos en la configuración.

Historial de agentes de Orca con filtros por workspace, proyecto y todas las sesiones, buscador y una sesión de Codex
Historial de sesiones en la barra lateral derecha

Cada entrada muestra el agente, una vista previa de la conversación, cuándo se actualizó y el Worktree y la rama asociados. Al abrirla podemos leer el primer encargo y los últimos turnos. Si queremos continuar, Reanudar abre una terminal en el directorio original y le pide al agente que recupere esa sesión. También podemos copiar el comando de reanudación o abrir el archivo de registro. Para que funcione, y que quede claro, el agente debe admitir la reanudación y conservar sus datos de sesión; Orca no reconstruye una conversación a partir de la lista. En la documentación del historial podemos consultar los agentes y las acciones disponibles.

6. Las skills de Orca

Orca cuenta también con una batería de skills para los agentes que ejecutamos dentro de la aplicación. Las tres más interesantes para empezar quizás sean estas:

  • orca-cli, que sirve para manejar Worktrees, terminales, archivos y el navegador integrado desde el comando orca.
  • orchestration, que nos facilita coordinar varios agentes mediante tareas, mensajes y puntos de revisión.
  • computer-use, que permite trabajar con otras aplicaciones del escritorio a través de las herramientas de accesibilidad de Orca.

Las encontramos en la página Skills de Orca. Desde allí elegimos en qué agentes instalarlas y si estarán disponibles en todos los proyectos o solo en uno. También se puede instalar orca-cli desde la terminal:

npx skills add https://github.com/stablyai/orca --skill orca-cli --global

Con --global queda disponible para los agentes que seleccionemos en todos nuestros proyectos.

En la documentación oficial están el resto de skills y sus opciones de instalación.

7. Orca Mobile

Y quizás lo más espectacular, aunque no lo más útil, es que Orca tiene una aplicación móvil para iPhone y Android que apunta maneras, aunque todavía está en beta. Nos permite seguir desde el teléfono las tareas que dejamos en marcha, responder a un agente y revisar lo que ha hecho. Los agentes y los archivos siguen en el ordenador o servidor donde abrimos los Worktrees; el móvil es la pantalla desde la que los controlamos.

Desde la app podemos ver qué agentes trabajan, cuáles han terminado y cuáles esperan una respuesta. Las sesiones compatibles se pueden abrir como chat, más cómodo en una pantalla pequeña que la terminal; también podemos enviar mensajes, fotos o archivos y dictar una respuesta. Si queremos comprobar el resultado, podemos consultar los archivos del proyecto y los cambios de Git, seleccionar archivos para el commit e incluso crearlo. La app permite además abrir nuevos Worktrees, lanzar agentes, cambiar de cuenta y consultar los límites de uso. Cuando un agente termina, puede avisarnos con una notificación.

Para empezar, instalamos Orca en el ordenador y en el teléfono. En Orca Desktop abrimos la opción de emparejamiento del menú de cuenta o estado; aparece un código de un solo uso que introducimos en la app móvil. Si Orca está en un servidor sin interfaz gráfica, el proceso también puede mostrar un código QR. Una vez vinculados, el teléfono muestra los Worktrees y las sesiones disponibles en ese equipo.

No hace falta compartir la misma Wi-Fi. Podemos conectarnos por la red local, mediante Tailscale o con Orca Relay desde otra Wi-Fi o con datos móviles. Relay es la opción más directa para salir de casa: requiere iniciar sesión en Orca y elegirlo durante el emparejamiento. En todos los casos, el ordenador o servidor que ejecuta los agentes debe seguir encendido, conectado y accesible. Podemos apagar la pantalla; si el equipo entra en suspensión o se apaga, dejaremos de poder supervisar las sesiones hasta que vuelva a estar disponible.

La documentación de Orca Mobile explica las opciones de conexión y emparejamiento. Si quisiéramos que estuviera siempre on habría que contemplar otras posibilidades como una máquina linux en la que instalemos orca server y no la apaguemos nunca o un VPS, pero de esto hablaré otro día.

Termino con una advertencia. Para proyectos personales puede ser una feature razonable si mantienes Orca actualizado, proteges el móvil y controlas qué dispositivos están emparejados. Para repositorios corporativos hay que ser muchísimo más prudente: un móvil autorizado puede llegar a controlar agentes capaces de ejecutar comandos y modificar archivos en tu ordenador, y por muy cifrada que vaya la conexión, el riesgo está en el dispositivo y en quien lo tenga en la mano. Vamos, que ni por asomo se te ocurra usar esta característica con proyectos corporativos sin el visto bueno de tu equipo de seguridad.

Y con esto lo dejo aquí, esperando haberte despertado el interés por esta herramienta, que ya es muy potente y lo será más.