thinkrail
JetBrains/thinkrail加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当 Cursor、Windsurf、Zed 这些 AI 编辑器把"AI 写代码"做成标配时,JetBrains 的 IntelliJ 阵营看起来像是被绕过去了。答案在 2026 年 7 月 8 日:JetBrains 开源了 ThinkRail——一个不是给 JetBrains IDE 写插件、而是把 pi 编码 Agent 装进一个真正的 IDE 里的项目。
5,213 颗星、Apache-2.0、30 位贡献者,且推文式活跃(最近 push 就在 2026-10-29)。它的自我定位很直白:"Vibe code with pi in a lightweight, real IDE that customises itself around the way you work — The Vibe You Need"。

ThinkRail 的核心洞见是:Agent 需要工作区(workspace),而人类需要 IDE,这两件事过去被混为一谈。
它的答案是 git worktree。打开任意 git 仓库作为项目后,每个 workspace 就是一个真实的 git worktree——独立分支、独立工作目录。这带来一个直观的收益:五个 Agent 可以并行跑五个功能,互不污染,main 分支保持干净,直到你合并其中一条。传统做法里,多 Agent 并行必然撞上 lock 文件、脏索引和分支切换地狱。
第二个洞见是 spec-first。项目里 SPEC.md 文件构成一张连通图谱,Agent 通过专用的 spec_* 工具读取、搜索、维护它——意图因此能跨越会话存活,而不是每次重新交代背景。
传统做法是让 Agent 在你的工作目录里直接改代码——像让装修队在你正在住的房间里施工。ThinkRail 的 worktree 相当于给它单独开一间办公室:有自己的钥匙(分支)、自己的桌面(工作目录)、自己的文件柜(SPEC.md)。装修完了,你只把满意的成果合进主仓库,其余办公室随手销毁。
这也解释了这个产品为什么敢叫 "high-trust development"——官方明确说他们不相信完全自主的软件工程,相信的是"自动化 Agent 编排 + 严格的人类把关"。
1. 隔离工作区(worktree) 每个 workspace 独立分支与目录,可并行;PR 合并或关闭后自动"落架"到项目 shelf,一周无活动也归档,随时可唤回。顶栏直接显示分支相对 origin 的状态,一键 publish / push / open PR。
2. 真正的 IDE(Monaco) 可分屏的工作台:Monaco 编辑器标签页、带实时 git 变更标记的 Files 树、Changed 视图、终端、文档,全部限定在当前 workspace 内。可以在文件或 diff 上留锚定评审评论,并作为结构化上下文发回对话。
3. 像引擎一样思考的对话 每个 workspace 可并发多个 pi 会话,各自独立模型,实时显示 token 与花费。可中途引导(steer)、排队后续指令、委派 subagent,还能共同编辑一份由 Agent 维护的计划,每步可单独提交与评审。
4. Spec 图谱作为事实来源
SPEC.md 连通图谱 + 专用 spec_* 工具链,Specs 只读工具在侧栏渲染为树。
5. 超出 shell 的 Agent 工具
Web 调研、结构化多选提问(让 Agent 问而不是猜)、内联图表与方案对比渲染。问答与可视化还单独以 pi package 形式发布(npm:@thinkrail/pi-ask-user-question、npm:@thinkrail/pi-visualize),终端里的原生 pi 也能装。

README 把架构拆成三个环,设计意图非常清晰:
packages/server + packages/shared):Bun.serve 的 HTTP+WS 宿主,每个聊天标签对应一个进程内 pi 会话packages/contracts):类型化、版本化的 host ↔ UI 协议,只有类型apps/web):React 19 + Zustand + Tailwind v4,可独立发版,通过协议连接任意宿主关键原则是职责边界:pi 拥有模型、技能、压缩、成本和会话状态;应用拥有工作区、编辑器和线路;宿主"绝不在背后偷偷拼装提示词"。这种"薄宿主"设计让 pi 保持可替换性。
仓库还提供一整套 pi 扩展包(packages/pi-subagents、pi-delegation、pi-todos、pi-dag、pi-spec-graph、pi-thinkrail-workflow 等),以及 MCP 服务器接入(对未标记只读的调用会先在聊天里询问)。

桌面版(推荐):macOS 14+ 下载 DMG;Windows x64 解压 setup ZIP 就地运行;Linux x64/ARM64 解压 tarball 后执行 installer。Linux 桌面版需要 glibc 2.38+、GTK 3、WebKitGTK 4.1、Ayatana AppIndicator 3、librsvg 2(Ubuntu 24.04+)。
CLI 版:
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash
# Windows: powershell -c "irm .../install.ps1 | iex"
thinkrail ~/code/my-repo
安装器会下载对应二进制并校验 SHA-256 后放到 PATH。要求 git 在 PATH 上,以及一个已认证的模型 provider。
源码构建:需要 Bun 1.4.4(锁定版本,既是包管理器也是运行时)、Node.js >= 22.19(pi 引擎要求),以及已认证的 pi provider。
pi-compatibility.md 说明兼容边界,但这终究是一个围绕特定 Agent 内核构建的产品,pi 的变更会直接传导。ThinkRail 抓住的是 AI 编码工具演进中一个被低估的问题:Agent 编排的组织问题,比 Agent 能力问题更早成为瓶颈。当一个项目里同时跑 3 个 Agent 时,"谁在哪个目录改代码、怎么合并、意图怎么留存"就是真问题。worktree + spec 图谱是这个问题的两个务实答案。
它也代表 IDE 厂商的一条新路线:不再把 AI 塞进自家 IDE 的插件体系,而是拥抱外部 Agent 内核并做"宿主"。这与 JetBrains 自己长期主导的插件生态形成有趣的张力——ThinkRail 明确说自己"绝不组装提示词",把模型与会话完全交给 pi。这种克制,反而让 Agent 内核可以自由替换。
适合:已经在用 pi 编码 Agent、想把它从终端搬进图形化 IDE 的开发者;需要多 Agent 并行处理同一仓库的团队;关心"意图如何跨会话留存"的 spec-driven 实践者;想研究 Agent IDE 交互范式的人。
不适合:只想要一个开箱即用 AI IDE 的用户(它是 pi 的增强层,不是独立产品);不接受未签名 Linux 二进制的企业环境;只做前端小改动的用户。
一句话结论:目前把"Agent 编排"这件事做得最产品化的开源 IDE——worktree 隔离与 spec 图谱是可直接借鉴的工程范式;代价是对 pi 的深度绑定和 Linux 供应链签名缺口。