名字里带个 Rail,仓库又挂在 JetBrains 的 GitHub 组织下面,乍一看很容易当成 JetBrains 家又出了一款编辑器。对着 ThinkRail 官方博客和 GitHub 仓库看下来,它的定位要窄得多:给 Pi coding agent 做的图形界面,官方叫 agentic IDE。Pi 本身是命令行里跑的 agent,ThinkRail 在上面加了一层可视化的东西,聊天窗口、Monaco 编辑器标签页、文件树、终端、看 diff 的面板都在里面。10 月初那篇博客的说法是它有意做成 Pi 上面的薄薄一层,agent 怎么思考、能做什么、怎么管上下文,都不归 ThinkRail 管。
所以它离不开 Pi,会直接读你现有的 Pi 配置(默认 ~/.pi/agent),用别的配置目录可以在 Settings → Environment 里改。
身份和许可
仓库 README 顶上挂的是 JetBrains incubator project 的徽章,也就是孵化项目,博客里的措辞是 backed by JetBrains。许可证在 GitHub 上标的是 Apache-2.0。界面语言里内置了简体中文,在 Settings → Language 切。
工作区就是 git worktree
官方博客专门写了一篇讲工作区。在 ThinkRail 里开一个工作区,背后就是一个 git worktree,有自己的分支和工作目录,文件放在 ~/.thinkrail 底下。agent 在工作区里怎么折腾,你在原来的 IDE 里打开项目看到的还是原样,等你决定合并才会回到父分支。同一个分支可以拉出好几个工作区,各跑一个 agent,互相不打架。也可以直接在项目目录里干活,不过博客提醒这样不太安全,没保存的改动可能被 agent 动掉。
spec 当护栏
另一条主线是规格驱动开发。做法是在代码旁边放 SPEC.md,开头一段 YAML,id、type、title 必填,文档之间用 id 互相引用,连成一张 spec 图。agent 只读离当前代码最近的那份,需要时再去搜别的,上下文不会一下撑得太大。README 里说 agent 通过专门的 spec_* 工具读写这些文件,界面右侧的 Specs 面板把它们排成一棵树,只读展示。
0.2.0 加的按轮 review
0.2.0 的博客发在 10 月 18 日,GitHub releases 上最新的稳定版也还是 v0.2.0,此后发的都是 0.3.0 的 nightly 预发布。
这一版最主要的改动是 agent 每跑完一轮,如果改了东西,结尾会多一行类似 3 files changed · +27 −4 的统计,旁边还有个 Review turn 按钮。统计不是从 agent 自己的工具调用里数的,而是在这一轮开始和结束时各给 worktree 拍一次快照,所以 shell 命令改的文件、格式化工具改的都算在内,HEAD、index 和 reflog 不会被碰。点开后这一轮所有文件堆在一个 Changes 标签里。在整个分支的 diff 上,每个 hunk 有 Keep、Revert 和让 agent 解释这块的按钮;单轮视图是只读的,Keep 只能在分支 diff 里用。
同一版还接上了 MCP,可能改数据的调用会先在聊天里问你;不受信任的项目不再加载自己的 .pi 设置和扩展。
想装的话
两种形态,桌面版和 CLI,都在 releases 页带 SHA256SUMS 发布。
- 桌面版:macOS 14+ 有 Apple Silicon 和 Intel 两个 dmg;Windows x64 是个 zip,解压后直接运行里面的 setup;Linux 有 x64 和 ARM64 的 tar.gz,解压后跑
./installer。 - Linux 桌面版要求 glibc 2.38 及以上,外加 GTK 3、WebKitGTK 4.1、Ayatana AppIndicator 3 和 librsvg 2,官方给的参照是 Ubuntu 24.04 或更新。老一点的发行版大概率卡在 glibc 上,可以改用 CLI。
- CLI 在 macOS、Linux、WSL 下用
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash,Windows 用install.ps1。装好后敲thinkrail,会在浏览器里打开同一套界面,需要 PATH 上有git。
模型这块,ThinkRail 自己没有账号体系。打开项目前点右上角齿轮进 Settings 配 LLM 提供方,可以登录 JetBrains AI,也可以走 Pi 自己的认证接别家的模型。
想问问用过的
有没有人已经拿它跑过多个工作区并行?合并回主分支的时候冲突多不多,spec 那套在老项目里补起来累不累?