[控场AI]
· 6 分钟阅读· 3,039 字

JetBrains 开源 ThinkRail:基于 Pi 的智能体 IDE 实测

JetBrains 开源 ThinkRail:基于 Pi 的智能体 IDE 实测

ThinkRail 是基于 Pi 的开源智能体 IDE,主打规格驱动开发与多分支并行工作区。

ThinkRail 是一款构建在 Pi 之上的开源智能体 IDE,提供网页端和桌面端两种形态,采用 Apache 2.0 许可证,属于 JetBrains Innovation Hub 合作项目。它完全继承 Pi 的模型配置、技能和权限设置,Pi 老用户零迁移成本。核心能力包括基于 Git worktree 的 Workspaces 多分支并行开发,以及规格驱动开发——用带层级元数据的 Markdown 文件定义软件行为,智能体按规格逐条实现并验证。此外还提供 diff 视图和问题标记审阅工作流。文章认为它适合已使用 Pi、需要并行推进多分支或想尝试规格驱动开发的开发者,但若不需要结构化工作流,Pi 本身可能更合适。

什么是 ThinkRail?

ThinkRail 是一款开源的智能体 IDE(Agentic IDE),底层构建在 Pi 之上。它提供网页端和桌面客户端两种使用形态,完全免费、开源,采用 Apache 2.0 许可证。据 B 站视频介绍,它最大的卖点是一句口号:「每次使用都会变得更好」——这句话的核心机制是规格驱动开发(Spec-driven Development)。

有意思的是它与 JetBrains 的关系:ThinkRail 属于 JetBrains Innovation Hub 的合作项目,该 Hub 是 JetBrains 与孵化器、加速器合作的计划。视频作者也坦诚说明这是一期赞助内容,但承诺给出真实评价。

ThinkRail 安装与启动方式

Pi 是一个开源的智能体运行时框架,由独立开发者 Mario Zechner 创建,旨在为 AI 智能体提供可编程的工具调用、技能系统和权限管理基础设施。它本身并非完整的 IDE,而更像一个底层引擎:开发者可以在其之上构建自定义的智能体工作流。ThinkRail 正是将 Pi 的能力封装进可视化 IDE 的产品之一,因此理解 Pi 的配置模型有助于理解 ThinkRail 的继承行为。

安装与启动:网页端与桌面端双形态

安装路径很直接:访问 ThinkRail.ai 官网选择操作系统下载安装包即可。视频作者为了获取最新版本,改用 curl 命令直接从 GitHub 安装,并执行了 thinkrail update --channel nightly 获取夜间构建版。对普通用户而言,官网默认安装包已经够用。

启动有两种方式:在终端输入 thinkrail 会以服务器形式托管并在浏览器中打开 Web UI;或者通过系统启动器运行桌面应用。两种方式功能一致,只是前端载体不同。

对话式交互界面

与 Pi 的深度集成:配置、技能、权限全部继承

ThinkRail 最具实用价值的特性之一,是完全继承 Pi 的既有配置。如果用户已经在 Pi 中配置了模型提供商和 API Key,ThinkRail 打开新对话时会自动识别——视频中它就自动认出了 OpenCode Go。同理,Pi 中的技能(skills)、权限设置(例如执行代码或调用工具前是否需要审批)也会被原样带入。

这种设计意味着 Pi 老用户几乎零迁移成本。作者的演示中,他甚至通过修改 Pi 的配置文件(将默认行为改为询问模式),让 ThinkRail 在尝试修改文件时弹出「permission required」的审批提示,验证了两者的配置是实时同步的。

核心能力:Workspaces 多分支并行开发

传统上同时开发多个功能需要手动管理 Git worktree,ThinkRail 把这套流程做成了产品化的 Workspaces。每个 Workspace 本质上是一个隔离的 worktree,从 origin main 拉出独立分支,互不干扰。

视频演示中,作者同时开启两个 Workspace:一个让模型开发「日历视图」,另一个把整个待办应用改造成 Frutiger Aero 主题(Windows Vista/7 时代的经典视觉风格)。两个任务并行推进,各自在独立目录中修改代码。完成后点击「settle」即表示该工作区已就绪、可以合并。对于需要同时推进多条功能线的开发者,这比反复切换分支要高效得多。

工作区完成与合并状态

Git worktree 是 Git 自 2.5 版本引入的功能,允许从同一个仓库同时检出多个工作目录,每个目录可以指向不同的分支。与传统的 git checkout 切换分支不同,worktree 让多个分支的代码同时存在于磁盘上,互不干扰,特别适合并行开发、代码审查或紧急修复。ThinkRail 的 Workspaces 本质上是对这一机制的自动化封装——它替用户完成创建 worktree、拉取分支、清理合并等操作,把原本需要命令行手动管理的流程变成了点击即用的产品功能。

规格驱动开发:用 Markdown 定义软件行为

这是 ThinkRail 真正区别于普通编程智能体的地方。规格驱动开发的思路是:不直接写代码,也不只是给智能体下指令,而是先编写规格文件。视频中的示例包含三个 Markdown 文件——goal-and-requirements.md(目标与非目标)、architecture.md(架构决策)、spec.md(前端规格),它们通过文件头部的元数据(ID、type、title、status、parent)形成嵌套的层级关系。

ThinkRail 把这些规格识别为结构化对象,在侧边栏中以可视化方式呈现。用户只需说一句「implement the specs」,智能体便会依据规格逐条实现并验证。作者将其类比为测试驱动开发,区别在于写的是规格而非测试。相比「提示词+祈祷」式的开发,这种方式在需求复杂、文件众多时优势明显。

规格还能随使用不断扩展——用户可以继续和智能体对话来补充规格,让 IDE 真正「随你成长」。

规格驱动开发(Spec-driven Development) 是近年来伴随 AI 编程智能体兴起的方法论,与测试驱动开发(TDD)共享「先定义、后实现」的核心思想。区别在于,TDD 以可执行的测试用例作为规格,而 SDD 以自然语言书写的结构化规格文档作为唯一事实来源。规格通常包含目标、非目标、架构决策和验收标准,智能体在实现代码前必须先理解并引用这些规格。这种方式的优势是规格既可被人审阅,也能被智能体解析执行,从而减少「提示词漂移」和需求遗漏。

审阅工作流:Diff 视图与问题标记

ThinkRail 提供了类似 Git 的 diff 视图,可以逐文件查看改动。视频中作者展示了常量重命名在多个文件中的传播,以及规格文件的新增预览。

另一个细节是 review 功能:在代码中标记某段「不够干净」,该处就会变成一个待处理问题,可以跳转到对应位置、标记为已解决,智能体也会尝试修复。

Diff 视图查看代码变更

评价:适合谁用?

ThinkRail 的 UI 风格被作者形容为「很有 Linux 感」——采用 JetBrains Mono 字体,界面简洁、技术味浓。它的定位不是取代传统 IDE,而是给智能体开发套上一层更清晰的可视化外壳。

适合的人群相当明确:已经在使用 Pi、希望获得更结构化工作流的开发者;需要并行推进多个功能分支的团队;以及想尝试规格驱动开发但不想自己搭建整套流程的人。局限也很明显——如果你不认同「先写规格」这套方法论,或者只需要轻量的对话式编程,那么 Pi 本身或更简单的工具可能更合适。

免费的 Apache 2.0 开源项目加上 JetBrains 生态背书,值得花时间试一试。

#ThinkRail#智能体 IDE#JetBrains#Pi Agent#规格驱动开发#开源 IDE#AI 编程工具
分享:

相关推荐