README「What you get」的「Isolated workspaces」写明每个 workspace 使用 git worktree、独立 branch 和 working directory。
ThinkRail:围绕 pi 与 Git worktree 的自适应智能 IDE
给需要并行改代码的开发者用的 pi 智能 IDE,用 worktree 和 SPEC.md 隔离并保存上下文。
🧭 决策指南
为什么现在热: 材料显示 ThinkRail 当日新增 51 星并进入 daily Trending;README 同时突出 pi、Git worktree 隔离工作区、SPEC.md 持久知识和 MCP,最新版本为 Nightly 0.3.0-nightly.6、已有 5 个版本。它们能解释项目具备当前关注点,但材料不足以证明具体上榜因果。
适合,如果你
-
你要让多个 Agent 并行修改同一 Git 仓库,又不想触碰当前 checkout。
-
你使用 pi,并希望在一个工作区并发运行多个模型会话。README「Chats that stream like the engine thinks」写明每个 workspace 支持 several concurrent pi sessions,且各自有 model、token 和 cost readout。
-
你的团队用 SPEC.md 维护设计意图,并希望 Agent 跨会话读取和更新它。README「Specs as ground truth」和「Under the hood」说明 SPEC.md 图谱及 spec_* 工具会维护项目规格。
-
你需要把 Monaco 编辑器、GitHub PR、CI checks 和 MCP 工具放进同一工作台。README「A real IDE around the agent」「MCP servers」和「Isolated workspaces」分别列出 Monaco、PR/CI 操作与 MCP 集成。
不适合,如果你
-
你使用 macOS Intel 且不能从源码构建 CLI。README「Platform notes」明确写明 macOS Intel 的 CLI 为 not prebuilt,需要 build from source。
-
你的 Linux 环境要求所有下载的可执行文件具备签名。README「Platform notes」明确写明 Linux x64 / ARM64 artifacts are unsigned。
-
你不能接受安装 ID 关联的启动、聊天创建和 provider 连接分析事件。README「Analytics & privacy」说明这些 basic usage events 会与 random installation ID 关联;额外数据可在 Settings → Privacy 关闭。
-
你的环境无法提供 Bun 1.4.4、Node.js ≥22.19 或 authenticated pi provider。README「Developing ThinkRail」将 Bun 1.4.4、Node.js ≥22.19 和 authenticated pi provider 列为开发前置条件。
前置条件
- 开发需要 Bun 1.4.4(pinned package manager and runtime)。
- 开发需要 Node.js ≥ 22.19(required by the in-process pi engine)。
- Agent 工作需要 an authenticated pi provider。
- 桌面与 CLI 发布物均提供 SHA256SUMS;Linux x64 / ARM64 构建产物未签名。
- CLI 启动时可使用 thinkrail --no-analytics 或 THINKRAIL_NO_ANALYTICS=1 关闭该次运行的额外分享。
第一步命令(README 原文)
git clone https://github.com/JetBrains/thinkrail.git
要注意
-
macOS CLI 已签名但尚未 notarized,旧 DMG 或本地构建包可能被 Gatekeeper 拦截。README「Platform notes」明确说明 macOS CLI is signed but not yet notarized,旧 DMG 和本地包可能 unsigned。
-
仓库定义的 MCP server 默认关闭,首次使用需要在聊天中批准非只读调用。README「MCP servers」说明 repository-defined servers remain off until approved,并会在调用前询问。
-
ThinkRail 不提供自有账号,provider 认证依赖 JetBrains AI 或 pi 自带 auth。README「Your providers, your credentials」写明 ThinkRail has no accounts of its own。
-
额外使用数据开启时,打包版本可能在浏览器打开 ThinkRail blog 建立访问关联。README「Analytics & privacy」说明 Share additional usage data 开启时可能打开 ThinkRail blog,关联有效期为 30 天。
材料未说明
- README 未说明支持哪些具体模型名称,以及不同 provider 的兼容性范围。
- README 未提供桌面应用和 CLI 的最终运行时资源需求,例如 CPU、内存和磁盘空间。
- README 未说明 1,744 个 Star、102 个 Fork 和 201 个 Issue 的具体构成或未解决问题。
- README 未说明 Nightly 0.3.0-nightly.6 与稳定版本之间的功能和兼容性差异。
- README 未给出 macOS Intel 从源码构建后的具体构建步骤和产物验证流程。
- README 未说明分析事件的完整字段清单,也未量化关闭分析后的功能差异。
💡 深度解析
6
适合,因为它把并行 Agent 任务绑定到隔离的 Git worktree,并连接了提交、CI、审查和 Pull Request 流程。
我们需要同时运行多个 pi 会话,让不同 Agent 在 GitHub 分支上并行实现功能,并在 CI 通过后创建和合并 Pull Request;ThinkRail 是否适合替代直接修改主工作目录的流程?
适合读者: 需要同时推进多个 GitHub 功能分支、并要求每个 AI 任务独立提交和审查的软件团队
适合,因为 ThinkRail 的工作区隔离和 GitHub 交付能力正好覆盖这一约束。
- 每个工作区可以是独立的
git worktree,拥有自己的分支和工作目录,Agent 不会直接触碰当前 checkout;这适合并行处理多个功能。 - 一个工作区可运行多个并发
pi会话,每个会话可使用独立模型,并显示实时 token 与成本。 - 计划步骤可以分别提交和审查;GitHub PR 打开后可查看 CI 和审查状态,并处理失败检查、分支分叉、合并及删除远程分支。
- 但项目依赖 Git、分支和 GitHub 权限;没有 Git 工作流或无法使用
gh的仓库不符合它的设计边界。
- What you get:"each with its own branch and working directory. Agents work in parallel without touching your checkout"
- What you get:"Several concurrent `pi` sessions per workspace"
- What you get:"each completed step can be committed and reviewed on its own"
- 项目洞察:整合 GitHub Pull Request、CI 与审查状态
bun run dev # host + web client together; Ctrl+C stops both
不适合直接按成熟跨平台桌面 IDE 推广,因为平台支持和发布签名仍存在明确限制,尤其是 macOS Intel 和 Linux。
我们需要在 macOS Intel 和 Linux 上使用 ThinkRail,同时企业终端会拦截未签名或未公证应用;我是否可以把它当作成熟的跨平台桌面 IDE 推广?
适合读者: 需要在 macOS Intel、Linux 和浏览器模式部署轻量 IDE,并受企业终端签名、公证和安全拦截政策约束的开发者
不适合直接按成熟跨平台桌面 IDE 推广,因为 README 的平台说明存在企业部署风险。
- 项目同时提供原生桌面应用和
thinkrailCLI 浏览器模式,二者使用同一引擎;因此浏览器模式可以作为桌面包受限时的替代入口。 - 项目洞察明确指出 macOS Intel 没有预构建桌面版,Linux 构建产物未签名,macOS CLI 尚未公证,部分系统可能触发安全拦截。
- 当前最新版本是
v0.3.0-nightly.6,项目数据只有 5 个发布版本,说明它仍处于快速变化阶段,不应按成熟、长期稳定的企业桌面产品假设。 - README 只说明安装包和 CLI 都发布 SHA256SUMS;校验和能验证文件完整性,但不能替代代码签名、公证或企业审批。
- What you get:"A native desktop app, or the `thinkrail` CLI that opens the same app in your browser"
- 项目洞察 user_experience.common_pitfalls:macOS Intel 没有预构建桌面版、Linux 构建产物未签名、macOS CLI 尚未公证
- 项目数据:latest_release 为 `v0.3.0-nightly.6`,release_count 为 5
- Install:"Both are published with `SHA256SUMS`"
bun run build:binary
适合,但前提是团队持续维护 SPEC.md;ThinkRail 提供了代理可读取、搜索和更新的规格图谱,而不是自动保证规格永远正确。
我们已经用 SPEC.md 记录架构边界和业务约束,希望多个 pi 会话都能读取并维护这些内容;ThinkRail 能否作为长期项目知识层,而不只是一次性代码生成界面?
适合读者: 维护有架构边界、业务规则和验收条件的规范驱动开发团队,并要求项目意图跨会话保留的技术负责人
适合,但前提是团队把 SPEC.md 当作工程资产持续维护。
- README 将多个相互连接的
SPEC.md文件描述为项目规格图谱,文件与代码并置,Agent 可通过专用spec_*工具读取、搜索和维护,因此项目意图能跨聊天会话保留。 - Specs 工具会在工作台中以树形结构呈现,便于负责人检查模块之间的关系,而不是把规格隐藏在模型上下文里。
- 项目洞察明确把“规格、计划、独立提交、Diff 审查、CI 和 PR”串成持续流程,适合需要长期沉淀设计决策的仓库。
- 风险在于 README 没有提供规格迁移、过期检测或冲突校验机制;规格未同步时,Agent 可能依据错误意图工作。
- What you get:"Specs as ground truth"
- What you get:"A connected graph of `SPEC.md` files lives beside the code"
- What you get:"the agent reads, searches, and maintains it through dedicated `spec_*` tools"
- 项目洞察:规格文件与代码并置,按模块维护,并要求跨边界变化同步更新规格
bun run dev # host + web client together; Ctrl+C stops both
适合,因为 ThinkRail 是围绕 pi 的宿主和 IDE,而不是另造一个模型层;但实际可用模型仍取决于已认证的 pi 提供商。
我已经依赖 pi 的模型提供商和认证,想在一个 worktree 中并发运行多个会话,为研究、实现和审查分别选择模型;ThinkRail 是否会替换 pi,还是能保留 pi 的能力?
适合读者: 已经使用 pi coding agent,并需要在同一工作区为不同任务选择不同模型、观察 token 和成本的高级开发者
适合,因为 ThinkRail 保留 pi 作为代理、模型和会话能力的来源。
- README 明确说它是在
picoding agent 外围构建富界面;项目洞察也指出 pi 负责模型、技能、上下文压缩、成本和会话状态,ThinkRail 负责工作区、编辑器和通信。 - 同一工作区支持多个并发 pi 会话,每个会话可以使用自己的模型,并显示实时 token 与成本读数,符合研究、实现、审查分工。
- 认证方式沿用 pi:可以登录 JetBrains AI,也可以通过 pi 自身认证连接其他提供商;ThinkRail 没有自己的账号体系。
- 开发环境要求 Bun 1.4.4、Node.js 至少 22.19,以及已认证的 pi provider;README 没有承诺每个 pi provider 都具备相同能力或价格。
- What you get:"We built a rich interface around the `pi` coding agent"
- What you get:"Several concurrent `pi` sessions per workspace, each with its own model and live token and cost readout"
- What you get:"Sign in with JetBrains AI or connect any provider through `pi`'s own auth"
- Developing ThinkRail:"Bun 1.4.4"、"Node.js ≥ 22.19"、"an authenticated `pi` provider"
bun install
视情况,因为 README 明确排除提示词、代码、文件和凭据,但仍会发送基础使用事件与错误报告,且模型和 MCP 的数据流不由此声明完全覆盖。
我的仓库包含敏感代码,组织要求确认 ThinkRail 的数据采集范围,并在命令行运行时关闭额外分享;README 描述的隐私控制是否足够支持这项约束?
适合读者: 处理敏感代码库、要求不上传提示词和代码,并需要通过 CLI 临时关闭额外分析数据的开发者
视情况,因为 ThinkRail 的产品分析范围较明确,但敏感代码是否合规还取决于组织对模型和扩展数据流的要求。
- README 说明基础事件只包含启动、创建聊天、发送消息和连接提供商,并与随机安装 ID 关联;不会包含 prompts、代码、文件、凭据或账号身份。
- 错误报告也只包含错误类型、代码及 ThinkRail 自身代码中的位置,不包含错误消息、路径、名称、URL 或项目内容。
- 额外产品使用数据可在 Settings → Privacy 关闭;命令行运行时可以使用
thinkrail --no-analytics,或设置THINKRAIL_NO_ANALYTICS=1。 - 但这些声明不等于模型提供商、MCP 服务器和 Agent 扩展不会接触项目内容;项目洞察要求组织自行制定密钥、代码外传、MCP 权限和第三方模型规范。
- Analytics & privacy:"Usage analytics never include prompts, code, files, credentials, or account identity"
- Analytics & privacy:"Error reports are also always sent"
- Analytics & privacy:"thinkrail --no-analytics" 或 "THINKRAIL_NO_ANALYTICS=1"
- 项目洞察 user_experience.common_pitfalls:组织需自行制定密钥管理、代码外传、MCP 权限和第三方模型使用规范
thinkrail --no-analytics
视情况,因为 ThinkRail 提供了调用确认、仓库服务器默认关闭和 OAuth 登录控制,但 README 没有替组织完成权限审计。
我的项目需要使用 MCP 和 OAuth 服务,但组织要求非只读调用必须确认、仓库声明的服务器默认关闭;ThinkRail 是否提供足够明确的权限控制?
适合读者: 需要接入 MCP、仓库声明的工具和 OAuth 服务,但组织要求写操作逐次确认、并限制第三方访问权限的高级开发者
视情况,因为它有清晰的 MCP 控制点,但不能替代组织的权限审查。
- 对未标记为只读的 MCP 调用,ThinkRail 会在聊天中先询问;可信项目中的工具可以设置为始终允许,这能区分低风险读取和写入操作。
- 仓库声明的 MCP 服务器默认关闭,用户批准后才启用;OAuth 服务器可从 Settings 登录,聊天界面还会显示当前会话使用的服务器。
- Settings → Extensions 可以关闭 ThinkRail 扩展,项目洞察还提到扩展开关和权限确认机制,适合需要显式控制工具面的环境。
- 但 MCP 服务本身的代码、网络访问、凭据范围和数据驻留仍需单独核查;README 只说明产品如何请求确认,没有给出企业级 allowlist、审计日志或沙箱保证。
- What you get:"asks in the chat before calls the server does not mark read-only"
- What you get:"keeps servers a repository defines off until you approve them"
- What you get:"signs you in to OAuth servers from Settings"
- What you get:"Settings → Extensions lists the ThinkRail extensions the agent gets and lets you switch each one off"
✨ 核心亮点
-
用 Git worktree 隔离并行 Agent 工作区
-
Monaco、终端与实时 Git 状态合一
-
多个 pi 会话显示实时 token 与成本
-
SPEC.md 图谱让项目知识跨会话保留
-
macOS Intel CLI 未提供预编译版本
🔧 工程化
-
以 git worktree 创建独立分支和工作目录,支持并行 Agent。
-
React 19、Zustand 与 Tailwind v4 构成可拆分 IDE 工作台。
-
每个工作区可运行多个 pi 会话,并显示 token 与成本。
-
SPEC.md 与 spec_* 工具维护代码旁的规格知识图谱。
-
可接入 pi 的 mcp.json、OAuth MCP 服务和 GitHub gh 流程。
⚠️ 风险
-
macOS Intel 没有预构建 CLI,需按 Developing ThinkRail 源码构建。
-
Linux x64/ARM64 构建产物未签名,可能触发系统安全拦截。
-
运行开发环境要求 Bun 1.4.4、Node.js ≥22.19 和认证 pi provider。
-
默认收集启动、聊天和 provider 连接等安装 ID 关联事件。
-
仓库定义的 MCP 服务默认关闭,需在聊天中批准工具调用。
👥 适合谁?
-
需要并行处理 Git 分支与 PR 的 Agent 开发团队。
-
使用 TypeScript、React 19 或 Bun 项目的工程师。
-
希望用 SPEC.md 和 Skills 固化项目知识的团队。
-
需要桌面应用或 thinkrail CLI 浏览器界面的 pi 用户。