JetBrains 开源 ThinkRail 智能体 IDE 支持 Git 工作树隔离

原标题:ThinkRail from JetBrains
78AI 研判分
核心综述

JetBrains 在 InnovationHub 发布 Apache-2.0 协议的开源智能体 IDE ThinkRail。该工具通过创建隔离的 git-worktree 工作空间,允许开发者在 Monaco 编辑器、终端和 diff 视图中与 AI 代理协作,并引入“规范图”机制以持久化项目意图。

报道正文

本文目录14 个章节

JetBrains InnovationHub Apache-2.0 开源

ThinkRail

一款随着使用次数增加而不断进化的 Agentic IDE。

将仓库作为项目打开。创建隔离的 git-worktree 工作区。在 Monaco 标签页、终端和 diff 视图中与真正的 Agent 协同工作——同时,你项目的意图保存在一个 Agent 真正会读取的 spec graph(规范图谱) 中。

ThinkRail 支持 macOS、Windows 和 Linux。

macOS

Apple Silicon 下载 .dmg ↓ 通过命令行使用浏览器 UI

安装本地启动器;运行 thinkrail 以打开浏览器 UI。

curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash

Windows

Windows x64 下载 .zip ↓ 通过命令行使用浏览器 UI

安装本地启动器;运行 thinkrail 以打开浏览器 UI。

PowerShell

irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex

命令提示符 (cmd)

powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"

WSL

curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash

Linux

Ubuntu 24.04+ x64 .tar.gz ↓ARM64 .tar.gz ↓ 通过命令行使用浏览器 UI

安装本地启动器;运行 thinkrail 以打开浏览器 UI。

curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash 在 GitHub 上点亮 Star 查看 ThinkRail 实际演示

为什么选择 ThinkRail

Agent 需要的是 worktrees,而不是你的工作树。

每个工作区都是一个真实的 git worktree —— 拥有独立的分支和独立的工作目录。并行运行多个 Agent;每个 Agent 产生的混乱都保留在其各自的分支上,直到你明确指示合并,否则 main 分支始终保持干净。

Specs 是事实基准(Ground Truth)。

ThinkRail 采用 spec-first(规范优先)理念构建,你的项目也是如此:一个由相互关联的 spec 文件组成的图谱与代码并存,Agent 通过专用工具对其进行读取、搜索和维护。意图得以跨越会话持久存在。

轻量宿主,强大引擎。

pi 编码智能体在进程内运行,负责管理模型、技能、上下文压缩和成本。ThinkRail 则掌控工作区、编辑器和通信链路——它绝不会在背后悄悄组装提示词。

项目 → 工作区

项目可以是任何本地 Git 仓库。工作区则是从该项目切出的 git worktree——一键创建,在侧边栏列表中显示,可随意丢弃而无需繁琐操作。

文本
# 一个仓库,三条并行的思路线
~/code/my-repo                        ← 项目
└─ ~/.thinkrail/worktrees/
   ├─ workspace-1   ⎇ feature/auth      智能体 A 正在构建
   ├─ workspace-2   ⎇ fix/flaky-test    智能体 B 正在修复
   └─ workspace-3   ⎇ spike/ideas       你,正在探索
  • 每个工作区拥有独立的分支 + 当前工作目录(cwd)——文件、差异对比、终端和聊天均限定在该范围内。
  • 即时切换工作区;无需重新加载,且不会发生状态泄漏。
  • 合并好的那个,删除其余的。你的仓库从未察觉这场混乱。

围绕智能体的真正 IDE

在不离开页面的情况下,观察智能体工作——或与它并肩协作。

Monaco 编辑器标签页

采用 VS Code 编辑器引擎:处处支持语法高亮,渲染 Markdown 并带有源码切换功能,每个工作区都有独立文件标签页。

文件树

一目了然地查看当前活动的工作树——就像本页右侧的侧边栏一样。

变更

实时显示工作区分支的 Git diff,让你能在智能体提交代码时即时审查其工作成果。

终端

限定在工作树范围内的真实 PTY——当智能体继续输入时,你可以自己运行测试。

像引擎思考那样流式输出的聊天

这段对话记录是一个真实的 pi 会话,是在 ThinkRail 处理其自身仓库时捕获的:

快速导览:什么是 ThinkRail?其架构的三个环分别是什么?请简要说明。读取 goal-and-requirements.md · architecture.md

ThinkRail 是围绕 pi 编码智能体构建的智能体式 IDE——它是一个轻量级宿主,在进程内运行 pi 并将其桥接到丰富的 UI,同时由 pi 负责管理模型、技能、上下文压缩、成本和会话状态。

三个环:

  1. 引擎宿主 (packages/server) — createServer() 运行一个 HTTP+WS 宿主以及一个 AgentSessionManager:每个标签页对应一个进程内的 pi 会话。
  2. 通信链路 (packages/contracts) — 宿主与 UI 之间经过类型定义和版本控制的协议。仅包含类型定义。
  3. UI 客户端 (apps/web) — 移动优先的 React 应用,可独立部署并通过通信链路连接任意宿主。

完成 5秒 · 25.9k tokens · $0.17 向智能体发送消息… (@ 文件 · / 命令 · Enter 发送) Claude Opus 4.8 EFFORT Low

  • 每个工作区支持多个会话,可并发流式运行。
  • 按会话选择模型;Token 用量和成本在标题栏实时显示。
  • 引导正在进行的回合或排队后续请求——无需等待 Agent 完成。
  • 交互式工具:Agent 可以直接在聊天中提出结构化问题。

Specs 是一等公民

每个模块都包含一个带有 frontmatter 的 SPEC.md,将其链接到图中——包括目标、架构、模块、任务。捆绑的 pi-spec-graph 扩展为 Agent 提供了 spec_* 工具,用于搜索、导航和维护该图,而 Specs 标签页则渲染你工作树(worktree)中的实时图:

ThinkRail — 产品目标和范围 main spec ThinkRail — 顶层架构 arch Engine host(服务器库)module agent — 进程内 pi 会话 submodule Web UI client module

文本
---
id: module-server
type: module-design
status: active
parent: architecture
---

纯 Markdown,纯 frontmatter,随代码一起版本化——阅读 specs 就足以理解某个领域并制定下一个任务。Agent 在构建过程中会保持它们的准确性。

安装

选择你的平台并开始工作。

macOS Apple Silicon 下载 .dmg ↓ Windows Windows x64 下载 .zip ↓ Linux Ubuntu 24.04+ x64 .tar.gz ↓ARM64 .tar.gz ↓

Linux:解压归档文件,运行 ./installer,并检查 原生库要求。

通过命令行使用浏览器 UI

安装本地启动器,然后运行 thinkrail 以打开浏览器 UI。

macOS, Linux, WSL curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash Windows PowerShell irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex Command Prompt powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"

需要 git 和一个已认证的 pi provider。查看 所有发布版本 和 高级 CLI 选项。