Saltar al contenido

Un repositorio, muchos agentes,sin choques.

Dale a cada tarea su propio worktree: un segundo checkout de tu proyecto, en su propia rama y en su propia carpeta. Así Claude Code, Codex y los demás trabajan en un mismo repositorio al mismo tiempo sin tocar los archivos de los otros, ni los tuyos.

Tres agentes, tres ramas,un proyecto.

Claude Code agrega un campo de cupón, Codex reescribe los textos de precios y OpenCode arregla una prueba inestable, en el mismo repositorio y al mismo tiempo. Cada uno trabaja en su propio checkout, así que ninguno puede sobrescribir lo que escribe otro, ni lo que escribes tú.

  • Cada tarea recibe una rama bajo deska/ con su nombre, y un número si ese nombre ya existe (deska/hotfix-2).
  • La rama en la que estabas se queda donde estaba, y no aparece nada nuevo en la carpeta de tu proyecto.
  • Una tarea que se detiene a pedir tu aprobación solo se pausa a sí misma. Las demás siguen trabajando.
Claude Code, Codex y OpenCode trabajando a la vez en tres ramas de un proyecto, con Codex deteniéndose a preguntar antes de recompilar el sitio
Grabación del producto. La interfaz está en inglés.

Empieza la siguienteantes de que termine la primera.

La ficha de rama debajo del pedido decide dónde corre una tarea. Elige New worktree y Deska crea la rama, prepara la carpeta y arranca el agente ahí. Presiona Cmd/Ctrl + Enter en vez de Enter y el siguiente borrador se abre al lado, con el mismo agente, modelo y modos.

  • Settings > Git and worktrees > New tasks run in deja New worktree como predeterminado.
  • Cut new worktrees from origin trae primero la rama base, para que la tarea empiece desde lo que tiene tu remoto.
  • Mantén Cmd/Ctrl y el botón Start cambia a Start & new.
El compositor New task del proyecto storefront: el pedido, el modelo, Build, Full access, Start y la ficha de rama en mainEl compositor New task del proyecto storefront: el pedido, el modelo, Build, Full access, Start y la ficha de rama en main

Cada worktreetiene su propio lienzo.

Cámbiate al worktree de una tarea y todo el escritorio cambia contigo: sus terminales, su editor, su navegador. Vuelve al tuyo y cada panel está donde lo dejaste.

  • Haz clic en la rama de la ruta para buscar worktrees por rama o por tarea, con las pestañas All, Active y Merged.
  • Cmd/Ctrl + Enter, fuera de un campo de texto, muestra todos los proyectos y worktrees a la vez: 1 a 9 saltan, N crea uno nuevo.
  • Haz clic derecho en un worktree para abrir su pull request, copiar su rama o eliminarlo.
El selector de worktrees bajo la rama de la ruta: main primero, luego cart-savings y gift-cards, con New worktree y All worktreesEl selector de worktrees bajo la rama de la ruta: main primero, luego cart-savings y gift-cards, con New worktree y All worktrees

Limpiasin perder un commit.

Cuando una rama ya está fusionada, elimina su worktree desde el selector, o deja que Clean up se lleve en una sola confirmación cada worktree que ya no tiene nada que perder. Si eliminar perdería algo, la confirmación dice qué, y Deska guarda una copia oculta durante 30 días.

  • Clean up no toca el worktree en el que estás ni los que tienen archivos sin commit, un agente trabajando o una terminal abierta.
  • La copia guarda los archivos sin commit y los commits propios de una rama eliminada. Los archivos ignorados, como node_modules, se van con la carpeta.
  • Pídele a Dex que recupere una rama eliminada, o que liste lo que perdería eliminar cada worktree.

Dónde puede correr una tarea

La ficha debajo del pedido, antes de presionar Start.

This checkout
Lleva el nombre de su rama. Los cambios caen directo en tus archivos, lo que sirve para una tarea a la vez.
New worktree
Una rama deska/ nueva en una carpeta propia, creada desde donde estás o desde origin. La forma de correr varias tareas a la vez.
Un worktree existente
Sigue trabajando en un checkout que ya tienes, como un worktree que creaste a mano para probar algo tú.
Un pull requestGitHub
Check out a pull request… muestra los pull requests abiertos a través de gh, y la tarea siempre recibe un checkout propio.

Prepara los worktrees nuevos

Un checkout nuevo no tiene nada instalado. deska.json lo hace antes de que arranque el agente.

  1. Agrega deska.json en la raíz

    Ponle un arreglo scripts, cada script con un name y un command.

  2. Marca el script de preparación

    Pon runOnWorktreeCreate en true en el que instala y genera. Solo corre el primero marcado.

  3. Empieza una tarea en un worktree nuevo

    El script corre una vez dentro del checkout nuevo, antes del primer turno, con DESKA_PROJECT_ROOT y DESKA_WORKTREE_PATH definidos.

  4. Lee Activity si falla

    Un script que falla, pasa de diez minutos o nunca arranca deja una advertencia con el final de su salida, y la tarea empieza de todos modos.

Deska lee deska.json primero del worktree y, si no está, de la raíz del proyecto, así que una rama puede fijar su propia preparación.

Pídele seis tareas a Dex. Recibe seis.

Dile a Dex lo que quieres hecho, una tarea por página o por bug, y empieza exactamente esa cantidad y te dice cuántas empezaron. Si corren en sus propios worktrees o en tu rama depende de lo que pediste, y cuando no está claro, pregunta.

  • Un Inbox para todas las tareas

    El Inbox muestra cada tarea en franjas según lo que necesita de ti: Needs you, Working, Landed e Idle. Cmd/Ctrl + Shift + J salta a la siguiente que te espera, en el worktree que sea.

  • Deshaz un turno, no toda la tarea

    Cada turno que termina un agente se guarda en una ref privada de git, nunca en tus ramas. La tarea lista los archivos que cambió cada turno con sus contadores de líneas, y puede dejarlos como estaban antes de ese turno.

  • Cualquier agente, cualquier cuenta

    Combina Claude Code, Codex, OpenCode, Cursor y Antigravity en un proyecto, o corre varias copias del mismo agente, cada una con su propia cuenta.

Bueno saber

Empezar una tarea
New task, o Cmd/Ctrl + I
Empezar y escribir la siguiente
Cmd/Ctrl + Enter en el compositor
Saltar a cualquier worktree
Cmd/Ctrl + Enter fuera de un campo de texto, luego 1 a 9
Siguiente tarea que te necesita
Cmd/Ctrl + Shift + J
Predeterminado para tareas nuevas
Settings > Git and worktrees > New tasks run in
Nombres de rama
deska/ y el nombre de la tarea, con número si ya existe
Script de preparación
deska.json, hasta 10 minutos por worktree
Copia de recuperación
30 días después de eliminar
Funciona con
Claude Code, Codex, OpenCode, Cursor y Antigravity

Sobre las tareas en paralelo

Un lienzo para todo lo que construyes.Gratis para empezar.

El espacio completo en una computadora, con 10 minutos de dictado al mes.

Mac

Descargar para Mac
Apple Silicon e Intel

Linux

Descargar para Linux
AppImage y Debian

Windows

Descargar para Windows
Windows 11 y 10, x64, ZIP