ThinkRail: un IDE de JetBrains donde cada agente vive en su worktree

JetBrains tiene la costumbre de publicar herramientas que dan por hecho que ya sabes lo que haces. ThinkRail es distinto, y la diferencia está en una frase de su README: abre un repositorio git como proyecto y corta espacios de trabajo de él como worktrees de git.
Esa es toda la tesis, y es mejor que «un IDE con IA». ThinkRail es un proyecto de incubadora de JetBrains, con unas 7.100 estrellas de las cuales 5.760 llegaron en la última semana, y está construido alrededor de pi, el agente de programación abierto. Lo que JetBrains ha añadido no es un panel de chat. Es la fontanería que permite que varios agentes trabajen a la vez sin pisarse.
Worktrees en lugar de esperanza
Si has lanzado dos agentes sobre el mismo repositorio, conoces el modo de fallo. Uno empieza a editar auth.ts, el otro decide refactorizar auth.ts, y te pasas la tarde haciendo arqueología sobre un conflicto de merge que ambos bandos creen haber escrito.
La respuesta de ThinkRail es que cada espacio de trabajo es un worktree de git con su propia rama y su propio directorio. Los agentes trabajan en paralelo y ninguno toca tu copia de trabajo. Fusionas la rama que te gusta y borras el resto.
Encima hay un detalle de orden doméstico: los espacios terminados y los inactivos se recogen solos en un estante por proyecto, cuando su pull request se fusiona o se cierra, o tras una semana tranquila, y vuelven en cuanto trabajas en ellos otra vez. Si alguna vez has tenido veinte ramas muertas llamadas fix-thing-2, esta es la función que no sabías que querías.

La barra superior muestra cómo va la rama activa respecto a origin y a su pull request, y deja el siguiente paso a un clic: publicar, hacer push o abrir un PR descrito a partir del plan, de los commits, de tu plantilla o de un borrador escrito por el agente. Cuando el PR está abierto, muestra los checks de CI y la decisión de revisión, y te deja devolver al agente los checks que fallan o una rama divergente.
La parte de IDE es real, no decorativa
Pestañas de Monaco divisibles, árbol de archivos con marcas de cambios de git en vivo, vista de archivos modificados, terminales y documentos, todo acotado al espacio de trabajo activo. Puedes dejar comentarios de revisión anclados en archivos y diffs y enviarlos a un chat como contexto estructurado. O abrir el worktree en el IDE que tengas instalado, que es la admisión honesta de que algunos seguimos queriendo WebStorm.
Los chats se transmiten con lectura de tokens y coste por sesión en vivo, el tipo de detalle que solo aparece cuando quienes lo construyen pagan sus propias facturas. Puedes dirigir un turno en marcha, encolar un seguimiento, delegar en subagentes y trabajar sobre un plan compartido que el agente actualiza mientras tú lo editas. Cada paso completado se puede commitear y revisar por separado, que es una unidad de revisión mucho mejor que «aquí van 38 archivos».
La paleta de comandos en ⌘K, o dos pulsaciones de Shift, busca chats, espacios de trabajo y proyectos en todos los proyectos abiertos. Sin escribir nada, lista los chats que te esperan, que es el comportamiento por defecto correcto para una herramienta que lleva muchas sesiones.
Las especificaciones como lo que sobrevive
La función a la que vuelvo una y otra vez es el grafo de especificaciones. Un conjunto conectado de archivos SPEC.md vive junto al código, y el agente lo lee, lo busca y lo mantiene mediante herramientas spec_* dedicadas. La herramienta Specs, de solo lectura, dibuja el grafo como un árbol en el banco de trabajo.
El razonamiento es sólido. Las ventanas de contexto se acaban. Las sesiones se acaban. Lo que sobrevive es lo que escribiste. Casi todas las herramientas de agentes tratan «recuerda el plan» como un problema de memoria; ThinkRail lo trata como un problema de documentación, que es la versión que un humano también puede leer seis meses después.
También es la función con más papeletas de pudrirse. Un grafo de especificaciones que el agente mantiene y nadie revisa se convierte en una descripción muy confiada y muy detallada de un software que ya no existe. Las herramientas abaratan el mantenimiento; no lo regalan, y la disciplina es tuya.
Instalación
Dos formas, ambas aditivas: un instalador nativo de escritorio y una CLI autocontenida que abre la misma app en el navegador. Las dos publican SHA256SUMS en la página de releases.
Línea de comandos en macOS o Linux, y en Windows bajo Git Bash:
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash
Windows, desde cmd o PowerShell:
powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"
Después:
thinkrail ~/code/my-repo
Necesitas git en el PATH y un proveedor de modelos. Inicia sesión con JetBrains AI desde la app, o conecta cualquier proveedor con la autenticación propia de pi. No hay cuentas de ThinkRail, que es una frase que no esperaba leer de JetBrains.
Las compilaciones de escritorio en Linux necesitan glibc 2.38 o superior con GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3 y librsvg 2; en la práctica, Ubuntu 24.04 o posterior. El actualizador solo aparece cuando el paquete lleva una identidad de feed HTTPS válida, así que las instalaciones anteriores a esa identidad necesitan una instalación manual primero.
El detalle que lo hace portable
ThinkRail lee tu configuración existente en ~/.pi/agent. Apúntala a otro sitio con PI_CODING_AGENT_DIR si mantienes un perfil de trabajo. En Ajustes, Servidores personalizados conecta cualquier endpoint compatible con OpenAI —LiteLLM, sglang, vLLM, Ollama, LM Studio, llama.cpp— y lo escribe en el models.json de pi, así que esos modelos aparecen tanto en el selector del chat como en la CLI.
Los servidores MCP de tu mcp.json también vienen, con el comportamiento correcto: ThinkRail pregunta en el chat antes de las llamadas que el servidor no marca como de solo lectura, mantiene apagados los servidores definidos por el repositorio hasta que los apruebas y te autentica en los servidores OAuth desde ajustes.
Las extensiones del agente son igual de pragmáticas. Ajustes lista lo que recibe el agente, te deja desactivar cada cosa e instala cualquier paquete de pi desde su origen —npm, git o una carpeta local— para ti o para un repositorio. Las herramientas de preguntar al usuario y de visualizar se publican como paquetes aparte, así que un pi de serie en una terminal recibe las mismas preguntas de opción múltiple y los mismos diagramas en línea.
Lo que yo vigilaría
Siete mil seiscientas estrellas en una semana para un proyecto de incubadora es mucha atención para algo que no ha pasado por un ciclo de publicación de JetBrains. Los proyectos de incubadora de JetBrains tienen historial de convertirse en producto o de pararse en silencio, y las betas tienen la costumbre de volverse la versión de la que dependes.
El otro riesgo es conceptual. Es una herramienta muy completa con muchísimas superficies: worktrees, especificaciones, paletas, extensiones, MCP, temas, tipografías, cuatro idiomas integrados con una vía documentada para añadir el tuyo. Cada una de ellas es un sitio donde configurar en lugar de escribir código. El mejor desenlace para ThinkRail sería que el modelo de worktrees se volviera tan obviamente correcto que nadie hablara de él, y el resto de la app se apartara.
Pruébalo si ya corres agentes en paralelo y tu solución actual es «varias ventanas de terminal y los dedos cruzados». Solo el aislamiento por worktree merece la descarga. Pruébalo como IDE normal y verás que no intenta serlo.
Artículos relacionados
El teclado de WeChat convierte una reunión en una página web
La grabadora de WeChat vive dentro del teclado y devuelve una página estructurada en vez de una transcripción. La función es copiable; el sitio, no.
Scenes AI genera el escenario en directo sobre una sola RTX 5090
Dawa Technology dice generar escenarios en tiempo real sobre una sola RTX 5090 y venderlo al drama corto chino. Los números son suyos; el estudio, también.
Pika H3 Flex: seis pasos y el sonido en el mismo bucle que la imagen
Pika H3 Flex baja el muestreo de 50 a 6 pasos, publica los adaptadores y genera imagen y sonido en el mismo bucle. Lo mejor es la separación en cinco pistas.
Superpowers: 311.000 estrellas para un método de trabajo en Markdown
Superpowers convierte a tu agente en un colega con método: especificación por trozos, plan detallado y revisión en dos etapas. Las estrellas no lo prueban.