O ThinkRail dá a cada agente a sua própria worktree

A JetBrains tem o hábito de lançar ferramentas que assumem que já se sabe o que se está a fazer. O ThinkRail é diferente, e a diferença está numa frase do README: abrir um repositório git como projeto e cortar espaços de trabalho a partir dele como git worktrees.
É toda a tese, e é melhor do que «um IDE com IA». O ThinkRail é um projeto de incubadora da JetBrains, com cerca de 7.100 estrelas e 5.760 ganhas na última semana, e é construído em torno do pi, o agente de programação aberto. O que a JetBrains acrescentou não é um painel de conversa. É a canalização que permite a vários agentes trabalhar ao mesmo tempo sem se pisarem.
Worktrees em vez de esperança
Quem já correu dois agentes no mesmo repositório conhece o modo de falha. Um começa a editar auth.ts, o outro decide refatorar auth.ts, e o resto da tarde vai para arqueologia sobre um conflito de merge que ambos acreditam ter escrito.
A resposta do ThinkRail é que cada espaço de trabalho é uma worktree git com o seu próprio ramo e o seu próprio diretório. Os agentes trabalham em paralelo e nenhum toca no checkout principal. Faz-se merge do ramo de que se gosta e apagam-se os outros.
Por cima há uma arrumação simpática: os espaços de trabalho terminados e dormentes assentam sozinhos numa prateleira por projeto, quando o pull request é integrado ou fechado, ou ao fim de uma semana de silêncio, e voltam no momento em que se trabalha neles outra vez. Para quem já teve vinte ramos abandonados chamados fix-thing-2, esta é a funcionalidade que não sabia que queria.

A barra superior acompanha a posição do ramo ativo em relação à origin e ao respetivo pull request, e deixa o passo seguinte a um clique: publicar, fazer push ou abrir um PR descrito a partir do plano, dos commits, do seu template ou de um rascunho escrito pelo agente. Com o PR aberto, mostra as verificações de CI e a decisão de revisão, e permite devolver ao agente as verificações falhadas ou um ramo divergente.
A parte de IDE é real, não é decoração
Separadores Monaco divisíveis, árvore de ficheiros com marcas de alterações git ao vivo, vista de ficheiros alterados, terminais e documentos, tudo limitado ao espaço de trabalho ativo. É possível deixar comentários de revisão ancorados em ficheiros e diffs e enviá-los para uma conversa como contexto estruturado. Ou abrir a worktree no IDE que se tem instalado, o que é a admissão honesta de que alguns de nós ainda querem o WebStorm.
As conversas fazem streaming com leitura de tokens e custo por sessão, o tipo de detalhe que só aparece quando quem constrói a ferramenta paga as próprias contas. É possível corrigir o rumo de um turno a decorrer, enfileirar um seguimento, delegar em subagentes e trabalhar sobre um plano partilhado que o agente atualiza enquanto se edita. Cada passo concluído pode ser commitado e revisto sozinho, o que é uma unidade de revisão bem melhor do que «aqui estão 38 ficheiros».
A paleta de comandos em ⌘K, ou dois toques na tecla Shift, encontra conversas, espaços de trabalho e projetos em todos os projetos abertos. Sem nada escrito, lista as conversas à espera, que é o defeito correto para uma ferramenta que corre muitas sessões.
Especificações como aquilo que sobrevive
A funcionalidade a que volto sempre é o grafo de especificações. Um conjunto ligado de ficheiros SPEC.md vive ao lado do código, e o agente lê-o, pesquisa-o e mantém-no através de ferramentas spec_* dedicadas. A ferramenta Specs, só de leitura, desenha o grafo como árvore no ambiente de trabalho.
O raciocínio é sólido. As janelas de contexto acabam. As sessões acabam. O que sobrevive é o que ficou escrito. A maioria das ferramentas para agentes trata «lembrar-se do plano» como um problema de memória; o ThinkRail trata-o como um problema de documentação, que é a versão que um humano também consegue ler seis meses depois.
É também a funcionalidade com mais probabilidade de apodrecer. Um grafo de especificações que o agente mantém e ninguém revê transforma-se numa descrição muito confiante e muito detalhada de software que já não existe. A ferramenta torna a manutenção barata; não a torna gratuita, e a disciplina fica do lado de quem usa.
Instalação
Duas formas, ambas cumulativas: um instalador nativo de ambiente de trabalho e uma CLI autónoma que abre a mesma aplicação no navegador. Ambas publicam SHA256SUMS na página de releases.
Linha de comandos em macOS ou Linux, e no Windows em Git Bash:
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash
Windows, a partir de cmd ou PowerShell:
powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"
Depois:
thinkrail ~/code/my-repo
É preciso git no PATH e um fornecedor de modelos. Entre na aplicação com o JetBrains AI, ou ligue qualquer fornecedor através da autenticação do próprio pi. Não existem contas ThinkRail, que é uma frase que eu não esperava da JetBrains.
As compilações de ambiente de trabalho em Linux precisam de glibc 2.38 ou mais recente, com GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3 e librsvg 2 — na prática, Ubuntu 24.04 ou posterior. O atualizador só aparece quando o pacote traz uma identidade de feed HTTPS válida, portanto instalações anteriores a essa identidade precisam de uma instalação manual primeiro.
O detalhe que o torna portátil
O ThinkRail lê a configuração existente em ~/.pi/agent. Pode apontar-se para outro lado com PI_CODING_AGENT_DIR, para quem mantém um perfil de trabalho. Em Settings, Custom servers liga qualquer endpoint compatível com OpenAI — LiteLLM, sglang, vLLM, Ollama, LM Studio, llama.cpp — e escreve-o no models.json do pi, de modo que esses modelos aparecem tanto no seletor de conversa como na CLI.
Os servidores MCP do seu mcp.json também vêm, com o comportamento certo: o ThinkRail pergunta na conversa antes de chamadas que o servidor não marca como só de leitura, mantém os servidores definidos pelo repositório desligados até serem aprovados e faz o início de sessão nos servidores OAuth a partir das definições.
As extensões do agente são igualmente pragmáticas. As definições listam o que o agente recebe, permitem desligar cada uma e instalam qualquer pacote pi a partir da fonte — npm, git ou uma pasta local — para o utilizador ou para um repositório. As ferramentas de pergunta ao utilizador e de visualização são publicadas como pacotes separados, de modo que um pi simples num terminal tem as mesmas perguntas de escolha múltipla e os mesmos diagramas em linha.
O que eu vigiaria
Sete mil e seiscentas estrelas numa semana para um projeto de incubadora é muita atenção para algo que ainda não passou por um ciclo de lançamento da JetBrains. Os projetos de incubadora na JetBrains têm histórico de ou se tornarem produtos ou pararem em silêncio, e as betas têm o hábito de se tornar a versão de que se depende.
O outro risco é conceptual. É uma ferramenta muito completa, com muitas superfícies: worktrees, especificações, paletas, extensões, MCP, temas, tipos de letra, quatro idiomas incluídos com um caminho documentado para acrescentar outros. Cada uma delas é um sítio para configurar em vez de escrever código. O melhor desfecho para o ThinkRail é o modelo de worktrees tornar-se tão obviamente correto que ninguém fale dele, e o resto da aplicação sair da frente.
Experimente se já corre agentes em paralelo e a resposta atual é «várias janelas de terminal e dedos cruzados». Só o isolamento por worktree vale o download. Experimente como IDE normal e vai ver que ele não está a tentar ser um.
Artigos relacionados
O teclado do WeChat agora transforma uma conversa numa página
O WeChat pôs um gravador com IA dentro do teclado que meio país já usa. A funcionalidade não é nova; o sítio onde foi colocada é que muda tudo.
A Dawa passou cinco anos a filmar para ensinar controlo a um modelo
Uma sala que se transforma em direto, numa só placa gráfica. A Dawa diz que o segredo não é o modelo, são cinco anos de rodagens gravadas como dados.
Pika H3 Flex: seis passos e o som a nascer com a imagem
Seis passos em vez de cinquenta, áudio gerado no mesmo ciclo da imagem e adaptadores abertos. A parte que se paga é a separação de faixas.
Superpowers: 311 mil estrelas para uma metodologia em Markdown
Um repositório de Markdown que obriga o agente a pensar antes de escrever código. O Superpowers é a resposta mais opinativa ao problema da supervisão.