cursos:sdd:06-orca
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| cursos:sdd:06-orca [2026/11/05 21:14] – borrado - editor externo (Fecha desconocida) 127.0.0.1 | cursos:sdd:06-orca [2026/11/05 21:15] (actual) – ↷ Enlaces adaptados debido a una operación de mover claude | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ====== 6. Orca ====== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Hace lo mismo que [[cursos: | ||
| + | |||
| + | ^ ^ herdr ^ Orca ^ IDE ^ | ||
| + | | Varios agentes a la vista con su estado | ||
| + | | Un worktree por agente | ||
| + | | Revisar y comentar el diff del agente | ||
| + | | Navegador para señalar elementos | ||
| + | | Contestar al agente desde el móvil | ||
| + | | Editor de código | ||
| + | | Depurador, refactorizaciones, | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 1. Puesta en marcha ===== | ||
| + | |||
| + | ==== Instalar ==== | ||
| + | |||
| + | * Linux: el AppImage, que se actualiza solo. | ||
| + | <sxh bash> | ||
| + | wget https:// | ||
| + | chmod +x orca-linux.AppImage | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | * macOS | ||
| + | <sxh bash> | ||
| + | brew install --cask stablyai/ | ||
| + | </ | ||
| + | |||
| + | * Windows: '' | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Primer arranque ==== | ||
| + | |||
| + | Pide acceso a tu carpeta personal, para poder añadir repositorios, | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Los permisos del agente ==== | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | < | ||
| + | |||
| + | En la misma pantalla se elige el **agente por defecto**, el que se lanza al crear cada worktree. | ||
| + | |||
| + | ==== Actualizar ==== | ||
| + | |||
| + | Se actualiza solo. Con '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 2. Repositorios, | ||
| + | |||
| + | Orca organiza el trabajo en cuatro niveles: | ||
| + | |||
| + | ^ Nivel ^ Qué es ^ Para qué se usa ^ | ||
| + | | **Repositorio** | Un repositorio Git de tu disco | Uno por proyecto | | ||
| + | | **Worktree** | Un worktree de Git del repositorio, | ||
| + | | **Pestaña** | Una sola cosa: una terminal, un fichero, el navegador, un diff o una PR | Lo que necesitas de esa tarea | | ||
| + | | **Panel** | Un trozo de la ventana en el que se ven pestañas **a la vez** | El agente a un lado y su diff o su web al otro | | ||
| + | |||
| + | Comparado con [[cursos: | ||
| + | |||
| + | < | ||
| + | |||
| + | Los ejemplos son dos proyectos: '' | ||
| + | |||
| + | ==== Añadir un repositorio ==== | ||
| + | |||
| + | Se pulsa **Add Repo** en la barra lateral y se elige la carpeta del repositorio. Orca toma la rama por defecto ('' | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Worktree nuevo ==== | ||
| + | |||
| + | Se pulsa el **'' | ||
| + | |||
| + | * **Nombre**: el de la tarea, que es también el de la rama. Aquí, '' | ||
| + | * **Start from**: de dónde sale la rama. Lo normal, '' | ||
| + | * **Agent**: el agente que se lanza en el worktree. | ||
| + | |||
| + | Orca crea la rama y el worktree y abre el agente en su carpeta. | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | El worktree se renombra con **doble clic** sobre su nombre. | ||
| + | |||
| + | ==== Lo que no está en Git ==== | ||
| + | |||
| + | El worktree es una carpeta nueva con lo que hay en Git, así que **no tiene ni el '' | ||
| + | |||
| + | * '' | ||
| + | <sxh plain; title: .worktreeinclude> | ||
| + | .env | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | <sxh yaml; title: orca.yaml> | ||
| + | worktree: | ||
| + | sharedDirectories: | ||
| + | - node_modules | ||
| + | </ | ||
| + | |||
| + | Los dos solo valen para ficheros y carpetas que estén en el '' | ||
| + | |||
| + | ==== Paneles ==== | ||
| + | |||
| + | Para ver dos pestañas a la vez se **arrastra una pestaña al borde** del panel: al borde derecho, se ponen una al lado de la otra; al de abajo, una encima de la otra. En una terminal también vale botón derecho sobre la pestaña → **Split terminal right** o **Split terminal down**. | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | Cada worktree guarda su distribución de paneles. | ||
| + | |||
| + | ==== Borrar un worktree ==== | ||
| + | |||
| + | Botón derecho sobre el worktree → **Delete**. | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 3. Usando Orca ===== | ||
| + | |||
| + | ==== El estado de cada agente ==== | ||
| + | |||
| + | En la barra lateral, cada worktree lleva el estado de su agente: | ||
| + | |||
| + | ^ Marca ^ Estado ^ Qué haces tú ^ | ||
| + | | Gira | Trabajando | Nada, déjalo | | ||
| + | | <color # | ||
| + | | <color # | ||
| + | | <color red> | ||
| + | | <color gray> | ||
| + | |||
| + | Los worktrees en **negrita** tienen algo que no has visto. Para ir a uno, clic en él, o '' | ||
| + | |||
| + | < | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | ==== Los avisos ==== | ||
| + | |||
| + | Cuando un agente termina, Orca saca una notificación del sistema y suena. La **campana** de arriba guarda los avisos de todos los worktrees: clic en uno y estás en el panel de ese agente. Se ajustan en **Settings → Notifications**. | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Cerrar Orca ==== | ||
| + | |||
| + | Los agentes corren en un **proceso aparte**, así que se puede cerrar la ventana cuando quieras: siguen trabajando y, al abrir Orca, todo está como lo dejaste, incluida la salida que han escrito mientras tanto. Si reinicias el ordenador vuelven los worktrees, las pestañas y los paneles, pero los agentes hay que lanzarlos otra vez. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 4. Orca en el móvil ===== | ||
| + | |||
| + | La app de Orca para el móvil sirve para lo que más tiempo hace perder con los agentes: **el agente te pregunta algo cuando no estás delante y se queda parado hasta que vuelves**. Con la app te llega el aviso y le contestas desde el móvil. No es un editor: es un mando a distancia del Orca de tu ordenador. | ||
| + | |||
| + | ==== Instalar en Android ==== | ||
| + | |||
| + | - En el móvil, con Chrome, abrir [[https:// | ||
| + | - Abrir '' | ||
| + | - Android pide permiso para instalar apps desconocidas: | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | En iPhone está en la App Store como //Orca IDE//. | ||
| + | |||
| + | ==== Emparejar el móvil con el ordenador ==== | ||
| + | |||
| + | - En el Orca del ordenador, abrir el emparejamiento desde el menú de la cuenta: sale un código de un solo uso, que caduca en unos minutos. | ||
| + | - En la app, **Pair** y pegar el código. | ||
| + | |||
| + | La conexión va por el servidor de Orca (// | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Qué se hace desde el móvil ==== | ||
| + | |||
| + | * **Ver los agentes**: todos los worktrees con su estado, igual que en la barra lateral. | ||
| + | * **Recibir el aviso**: una notificación cuando un agente termina. | ||
| + | * **Contestar al agente**: un texto, una respuesta dictada o una foto, y aceptar los permisos que pide. | ||
| + | * **Leer su terminal**: lo último que ha escrito, para saber qué ha hecho antes de contestarle. | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 5. Revisar el trabajo del agente ===== | ||
| + | |||
| + | Es lo que Orca añade a herdr. Cada worktree tiene su **diff**: lo que ha cambiado el agente respecto a la rama de la que salió. | ||
| + | |||
| + | ==== Comentar el diff ==== | ||
| + | |||
| + | - Sobre la línea, clic en el **'' | ||
| + | - Se escribe el comentario y '' | ||
| + | - Cuando están todos, **Send to agent**, arriba en el diff, y se elige el agente. | ||
| + | |||
| + | Orca junta todos los comentarios en un único prompt, cada uno con su fichero y su línea, y el agente los corrige de una vez. | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | Los comentarios se quedan en su línea para comprobar el arreglo. **Resolve** cierra los que ya están bien; los que no cierres se vuelven a mandar la próxima vez. | ||
| + | |||
| + | ==== Commit, push y PR ==== | ||
| + | |||
| + | En el panel **Source Control** del worktree: | ||
| + | |||
| + | * **Commit**: se escribe el mensaje, o **Generate with AI** lo redacta a partir de los cambios. '' | ||
| + | * **Push**: sube la rama a '' | ||
| + | * **PR**: tras el push, se abre la PR desde el mismo panel; **Generate pull request details with AI** rellena el título y la descripción. | ||
| + | |||
| + | Si falla un hook de pre-commit, **Fix with AI** le pasa la salida al agente para que lo arregle. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 6. Editor ===== | ||
| + | |||
| + | Los ficheros se abren en un editor como el de VS Code, con autoguardado, | ||
| + | |||
| + | * '' | ||
| + | * Los '' | ||
| + | * Arrastrar un fichero o una imagen al prompt del agente se lo pasa como contexto. | ||
| + | |||
| + | < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 7. Navegador y Design Mode ===== | ||
| + | |||
| + | Cada worktree tiene su propio **navegador**, | ||
| + | |||
| + | Con **Design Mode** se le señala al agente qué elemento hay que cambiar, en vez de describírselo: | ||
| + | |||
| + | - En la barra del navegador, el botón de **Design Mode**. | ||
| + | - Clic en el elemento que está mal. | ||
| + | - Escribir qué hay que cambiar y mandarlo. | ||
| + | |||
| + | Al agente le llegan el HTML del elemento, sus estilos calculados, un recorte de pantalla y, si la web corre en modo desarrollo, el fichero y la línea de donde sale. Por ejemplo, en '' | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 8. GitHub ===== | ||
| + | |||
| + | Se conecta en **Settings → Integrations**. A partir de ahí, en Orca: | ||
| + | |||
| + | * **Worktree desde una issue**: se crea el worktree desde la issue y Orca le pone su nombre y la deja enlazada. | ||
| + | * **PR**: sus comentarios y sus //checks// se ven en una pestaña. | ||
| + | * **Fix broken checks**: en la PR, le pasa al agente los //checks// que fallan para que los arregle. | ||
| + | |||
| + | < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 9. Varios agentes con la misma tarea ===== | ||
| + | |||
| + | Como cada worktree es independiente, | ||
| + | |||
| + | - Tres worktrees desde '' | ||
| + | - El mismo prompt en los tres, por ejemplo «implementa specs/login según su tasks.md». | ||
| + | - Cuando terminan, revisar los tres diffs. | ||
| + | - Seguir con el mejor y borrar los otros dos worktrees. | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 10. El skill de Orca: que el agente maneje Orca ===== | ||
| + | |||
| + | Con el skill de Orca, el agente puede crear worktrees, leer otras terminales y mandarles órdenes, igual que el [[cursos: | ||
| + | |||
| + | <sxh bash> | ||
| + | npx skills add https:// | ||
| + | </ | ||
| + | |||
| + | Desde el agente, dentro de Orca, se le pide por ejemplo: | ||
| + | |||
| + | * Lanzar los tests en otra terminal sin quitarte el foco: | ||
| + | <sxh plain> | ||
| + | en orca, abre una terminal en este worktree, lanza npm test y avísame cuando acabe | ||
| + | </ | ||
| + | |||
| + | * Leer la salida de otro agente y actuar sobre ella: | ||
| + | <sxh plain> | ||
| + | lee en orca la terminal del worktree login y dime en qué tarea de tasks.md va | ||
| + | </ | ||
| + | |||
| + | * Arrancar otro agente que revise el trabajo: | ||
| + | <sxh plain> | ||
| + | en orca, crea un worktree revisa-login desde esta rama con otro claude que revise specs/ | ||
| + | </ | ||
| + | |||
| + | <note warning> | ||
| + | El skill es para pedirle cosas **a mano mientras trabajas**. | ||
| + | Instálalo solo con '' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 11. Atajos de teclado ===== | ||
| + | |||
| + | Orca se maneja con el ratón; estos son los atajos que merece la pena saber. En macOS, '' | ||
| + | |||
| + | ^ Tecla ^ Orden ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 12. Más información ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
