跳到正文
Hacker News· wilsonjholmes·· 1 天前精选AI 评分76

JetBrains 开源智能体 IDE ThinkRail

ThinkRail from JetBrains

AI 导读

JetBrains InnovationHub 以 Apache-2.0 开源智能体 IDE ThinkRail,每个工作区是一个独立 git worktree,自带分支和 cwd,可并行运行多个智能体。

推荐理由

JetBrains 把智能体工作区做成 git worktree 加规格图,读者可据此判断并行跑多个编码智能体的隔离方式。

正文 · AI 翻译

JetBrains InnovationHub Apache-2.0 开源

越用越好的智能体 IDE。

将仓库作为项目打开。切出相互隔离的 git-worktree 工作区。在 Monaco 标签页、终端和差异视图之间与真正的智能体结对协作——而你的项目意图则保存在智能体真正会读取的规格图中。

macOS

Apple Silicon

通过命令行使用浏览器界面

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

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

Windows

Windows x64

通过命令行使用浏览器界面

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

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+

通过命令行使用浏览器界面

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

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

为什么选择 ThinkRail

智能体应该拥有自己的工作树,而不是你的工作树。

每个工作区都是一个真正的 git worktree——拥有自己的分支、自己的 工作目录。可以并行运行多个智能体;每个智能体造成的混乱都留在各自的分支上, main 在你明确要求之前始终保持干净。

规格就是事实依据。

ThinkRail 以规格为先构建,你的项目也是如此:一个相互连接的 规格文件图与代码并存,智能体使用专用工具读取、搜索并维护 它。意图在会话结束后依然留存。

轻量宿主,真正的引擎。

pi 编码智能体 在进程内运行,负责模型、技能、压缩和成本。ThinkRail 负责 工作区、编辑器和通信链路——它绝不会在你背后 拼装提示词。

项目 → 工作区

项目可以是任何本地 git 仓库。工作区是从中切出的一个 git worktree—— 一键创建,列在侧栏中,无需繁琐流程即可丢弃。

# one repo, three parallel lines of thought
~/code/my-repo                        ← project
└─ ~/.thinkrail/worktrees/
   ├─ workspace-1   ⎇ feature/auth      agent A building
   ├─ workspace-2   ⎇ fix/flaky-test    agent B fixing
   └─ workspace-3   ⎇ spike/ideas       you, exploring
  • 每个工作区拥有独立分支和工作目录——文件、差异、终端和聊天都限定在其中。
  • 即时切换工作区;无需重新加载,也不会相互泄漏。
  • 合并好的那个,删除其余的。你的仓库从未察觉这场混乱。

围绕智能体的真正 IDE

观察智能体工作——或在它旁边工作——无需离开页面。

Monaco 编辑器标签页

VS Code 编辑器引擎:处处语法高亮,渲染 Markdown 并可切换源码,每个工作区都有文件标签页。

文件树

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

变更

工作区分支的实时 git 差异,让你在智能体的工作落地时即时审查。

终端

限定在工作树内的真实 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, 独立发布,并通过通信链路连接任意宿主。

完成 5s · 25.9k tok · $0.17

  • 每个工作区可同时运行多个会话,并发流式输出。
  • 按会话选择模型;token 和成本在页眉实时更新。
  • 引导正在运行的回合或排队后续指令——无需等待智能体完成。
  • 交互式工具:智能体可以直接在聊天中提出结构化问题。

<!-- FEATURES / specs -->

规格说明是一等公民

每个模块都带有一个 SPEC.md,其 frontmatter 将其链接到一张图中—— 目标、架构、模块、任务。内置的 pi-spec-graph 扩展 为智能体提供 spec_* 工具来搜索、导航和维护它, 而 Specs 标签页会渲染你工作树的实时图:

ThinkRail — 产品目标与范围 主规格

ThinkRail — 顶层架构 架构

引擎宿主(服务器库) 模块

agent — 进程内 pi 会话 子模块

Web UI 客户端 模块

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

纯 markdown、纯 frontmatter,与代码一起版本化——阅读规格说明 就足以理解一个领域并制定下一个任务。智能体在构建过程中会保持它们如实。

<!-- INSTALL.md -->

安装

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

macOS Apple Silicon

Windows Windows x64

Linux Ubuntu 24.04+

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

命令提示符

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

需要 git 和已认证的 pi 提供方。查看所有版本和高级 CLI 选项。

<!-- CONTRIBUTING -->

开源,规格优先

ThinkRail 是一个 JetBrains InnovationHub 项目, 采用 Apache-2.0 许可。 该仓库以规格优先的方式开发——顶层规格是产品的基准事实, 而这个网站本身就是一个带有 SPEC.md 的模块。

GitHub Issues 贡献 行为准则 版本发布

来源:Hacker News · thinkrail.ai