JetBrains 开源 ThinkRail 智能体 IDE 支持 Git 工作树隔离
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 负责管理模型、技能、上下文压缩、成本和会话状态。
三个环:
- 引擎宿主 (
packages/server) —createServer()运行一个 HTTP+WS 宿主以及一个AgentSessionManager:每个标签页对应一个进程内的pi会话。 - 通信链路 (
packages/contracts) — 宿主与 UI 之间经过类型定义和版本控制的协议。仅包含类型定义。 - 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"