ThinkRail是代理IDE,它每一次使用它都会变得更好——通过今天的活谱学习你的项目,明天建立自己的能力。
我们在Pi周围建了一个很丰富的接口
将 agent 编码为单独的工作空间,并赋予 agent 耐用项目知识
透过活生生的规格和可重复使用的技能。 接下来,我们增加完全的扩展支持,所以 ThinkRail可以
创建基于您实际工作方式所需的工具。
博客:智障。
如果你发现"智囊"有用,给它一颗恒星——它能帮助其他人发现。
一个Pi会话和它所做的改变,范围到一个孤立的git-worktree工作空间。
- 孤立的工作空间。 打开任何 git repo 作为项目,并剪去工作空间作为 git 工作树
各有自己的分支和工作目录。 Agents平行工作,不碰你
取出;合并好分行,删除其余。 您也可将已有的工作树附后或明确
项目文件夹中的工作。 完成和休眠的工作空间安放在每个项目架上
他们自己的——当他们的拉动请求合并或关闭,或者在一个安静的星期之后——然后立即回来。
你在他们工作。 活动分支反对源头及其拉动请求的顶栏显示
下一步点击:发布、推动或打开计划中描述的公关,承诺
您的公关模板,或者 agent 撰写的草稿。 GitHub PR打开后显示 CI检查和审查
决定,并让您标记它准备就绪,手取失败的检查或一个分行到 agent,合并它
使用寄存器最后使用的方法,重新打开,或者删除远程分支。
- 一个真正的IDE在agent周围。 摩纳哥编辑器标签的分块工作台、有活的 git 更改标记的文件树和已更改的视图、终端和文件——都标到活动的工作空间。 在文件和 diffs 上留下固定的审查评论,并将其作为结构化上下文发送到聊天,或者打开您安装的 IDE 中的工作树。
- 聊天流像发动机想。 每个工作区同时举行几次Pi会,每次会
它自己的模型和活的象征和成本读出。 引导运行的回合或排队后续,代表到
子代理,并执行一个共享计划 agent 更新和编辑——每个完成的步骤都可以被承诺
并自行审查。
- 斯佩克丝是事实连接的 SPEC. md 文件的图表生活在代码旁边;agent 读取
搜索,并通过专用 specQQ 工具维护它,所以意图在会话中存活。 这个
只读 Specs 工具使图形成为工作台中的一棵树。
- 技能和工作流程。 便携式 Agent 您已经保留的其他编码技能 agents 读取于
放置,并捆绑的工作流程指导项目设置,设计集思广益,并传递拉动请求——
通过您自己的 gh 推动工作空间分支并打开或更新其 GitHub PR。
- Agent工具超出外壳。 网络研究,以及内置图,选项比较和文件预览在聊天中右转—— 当 agent 提议使用 UI 修改它显示时,您可以像 diff 一样对它进行评论。 设置扩展列表 ThinkRail 扩展名 agent 并允许您切换每个选项。
- MCP服务器。 连接您 pi mcp.json 中的 MCP 服务器( 或添加它们,以及一些预设)。
设置:ThinkRail在呼叫服务器前在聊天中询问不只标记(或总是允许)
在项目中您信任的工具,将服务器保存为仓库
定义到批准前,从设置中将您签入 OAuth 服务器,显示每个聊天的
在其背景命令和子代理符旁边的服务器。
- 你的供应商,你的证书。 用 JetBrains AI 签名或
通过 Pi 自己的认证连接任何提供者。 ThinkRail没有自己的账户
- 桌面应用程序或浏览器。 本地桌面应用程序,或者在您打开同一应用程序的思维链 CLI
浏览器。 两者都嵌入了同一个引擎主机;应用状态生活在~/.thinkrail下。
-你的语言语言遵循您的系统语言或选择的语言;英语和
简化汉字被建入。 添加语言 ThinkRail 尚未通过投放翻译来传送
en.json into ~/.thinkrail/locales——它适用于您所保存的。 Agent 回复和工具输出为
agent写道。
工程的光谱图是一棵树,光谱本身就和它并列。
ThinkRail飞船有两种添加剂形式:一种是本土的桌面安装器,另一种是自成一体的思维道CLI.
两者都与SHA256SUMS一起在发布页面上发布。
下载您平台的思维列- 桌面* 资产:
- macOS (Apple硅)-开通DMG. 没有 Intel 桌面建筑。
- Windows x64-取出完整的设置ZIP,再将其设置可执行装置就位,放在其有效载荷旁边。
- Linux x64 / ARM64-取出所设置的柏油球和跑道安装器。 桌面建筑需要 glibc 2.38+
与 GTK 3, WebKitGTK 4.1, Ayatana 附录 3 和 librsvg 2 — Ubuntu 24.04 或更新:
sudo apt 安装 libgtk-3-0 libwebkit2gtk-4. 1-0 libayatana-appindicator 3-1 librsvg2-2
包装了稳定和夜用桌面构建的背景更新检查,并在设置更新中提供:下载准备更新安装和重新启动。 在您选择安装和重新启动之前,不应用任何程序。 ThinkRail 然后是显示安装进度和日志,关闭,并重新打开新版本。 重启后,它会告诉你是否安装了更新。 如果它没有,它解释了为什么和提议重试。 更新器仅在包中携带有效的HTTPS种子身份时出现;该身份之前的设施首先需要手动安装。
安装者下载了正确的二进制,验证了它的SHA-256校验和,并在您的 PATH 上放上思维符。
克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克
卷曲-fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh 狂欢
Windows — comd和PowerShell的同名命令作品:
powershell -c"irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 QQ iex" (中文(简体) ).
然后运行思考器,可选择使用 git repo 作为项目打开:
智铁~/代码/我的-repo
智铁需要在您的 PATH 和模型提供商上加注- 从应用程序或使用中签入 JetBrains AI
您的供应商证书。 思维 -- help 列出旗帜;思维 --version 打印构建。
夜间构建、封存版本、更新和卸载
安装器使用 -- channel squit- night- and --version;绑定版本必须属于
选中的频道:
卷曲-fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}嗯。.. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}
卷曲-fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh--s- --channel s稳态-版本0.1.2
crow-fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh QQ-bash -s -- -- -- 频道夜 -- -- 版本0.2.0 -- -- 夜间。
Windows 上的选项是环境变量( THINKRAIL CHANNEL, ThINTRAIL VERSION)
思绪 PREFIX,思绪 NO MODIFY PATH:
$env:THINKRAIL CHANNEL='夜';irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 #iex #PowerShell
设置"THINKRAIL CHANNEL=稳定" QQ设置"THINKRAIL VERSION=0.1.2" 动力壳-c"irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 QX iex" #cmd
安装的稳定和夜间 CLI 主机定期在设置更新中提供运行更新。 它运行
主机在背景中的思维链更新——同样当UI在另一个浏览器上打开时
机器——一个成功的更新要求您手动重新启动主机。 你可以运行思维链更新
直接在任意平台上:它为已安装的信道重新运行安装器并替换
<prefix>/bin/thinkrail[.exe];通过 --channel或 --version,仅用于明确的覆盖。
思维rail uninstall 删除可执行文件,添加安装器的 PATH 条目和安装元数据
并询问是否删除您的 ~/. thinkrail app state(默认情况下删除- -- remove-data 删除)
- 我跳过问题。
更喜欢手动安装?从发布页面下载一个二进制和 SHA256SUMS 并验证校验和。
自我更新工作时,将其更名为思维rail(thinkrail.exe on Windows),并放在
<prefix>/bin/thinkrail[.exe];一个保存在其释放文件名下或其他地方的二进制必须替换
手动或重新安装脚本。
JetBrains标志Windows CLI,桌面设置可执行文件,每个可执行和DLL都安装桌面应用。 macOS CLI是签名,但尚未公证。 已签名并经过公证的桌面 DMG 需要协调的 JetBrains 服务管线;更古老的已公布的 DMG 和当地所建的软件包可能仍然会被守门员不签名并封锁。 Linux文物未署名。
ThinkRail收集基本使用事件——发布,聊天创建,消息发送,提供者连接——绑定在
随机安装ID。 用法分析从来不包括提示、代码、文件、证书或账户
身份证明错误报告也总是被发送,绑在同一个安装ID上,这样我们可以修正崩溃:
错误类型和代码以及 ThinkRail 自己的代码发生的地方。 它们从不包含错误消息,文件
路径、名称、 URL 或项目或扩展中的任何内容。 其他产品
仅共享使用和如何找到 ThinkRail,而共享额外使用
数据已打开;开关在初始发布提供,并生活在设置隐私中。 当发布从
命令行、 思维符 -- no-analytics( 或 Thinkrail NO ANALYTICS = 1) 关闭额外的共享
运行。 附加共享后,被包的构建可能会打开您浏览器中的 ThinkRail 博客一次
将您的安装与网站访问链接,该网站访问将您带到这里
网站或无需征得同意,链接在30天后失效。
ThinkRail是一个很薄的主机,它运行 pi 在进程中,并把它连接到一个丰富的网络UI. Pi 拥有模型
技能、收缩、成本和会话状态;应用程序拥有工作空间、编辑器和线条——它
从来没有在背后组装提示。 三环:
- 引擎主机——包/服务器(+包/共享):一个 Bun.serve HTTP+ WS主机每聊天一个进程内 pi会话,发布通过apps/cli或apps/desktop.
- 有线——包/合同:主机和UI之间打出,版本的协议。
- UI客户端 — apps/web: React 19 + Zustand + Tailwind v4,独立发运;它拨一个主机过
电线和只取决于合同。
目标要求和结构要求
(原始内容存档于2013-10-12). Canonical Products and design specs. ThinkRail是开发的 spec-first:一个 SPEC.md 坐在每一个旁边
模块,以及移动边框、合同或决定的更改,在同一更改中更新光谱。
您需要 1.4.4 (被绑定的套件管理器和运行时间), Node.js ≥ 22.19 (需要
用于agent工作的认证 pi 供应商。
git 克隆 https://github.com/JetBrains/thinkrail.git
CD 智商 (英语).
安装包
bun 一起运行 Dev # 主机 + web 客户端;Ctrl+ C 停止 bothbun 运行 -- filter @ thinkrail/cli dev # 浏览器启动器
bun 运行构建:二进制 # 独立的 CLI 文物
bun 运行桌面:dev # 软件包并打开 Electrobun app
bun 运行桌面:构建 # 软件包而不打开
Controduction.md涵盖支票、端到端套房、桌面包装和
仓库布局。
欢迎捐款——见Confubt.md.。 这个项目和社区
由《行为守则》规定。
根据Apache许可证2.0获得许可。
本文由 AI宝库自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。
ThinkRail is the agentic IDE that gets better every time you use it — learning your project through living specs today, and building its own capabilities tomorrow.
We built a rich interface around the pi
coding agent, isolated work into separate workspaces, and gave the agent durable project knowledge
through living specs and reusable skills. Next, we're adding full extension support, so ThinkRail can
create the tools it needs based on how you actually work.
Website: thinkrail.ai · Blog: thinkrail.ai/blog
⭐ If you find ThinkRail useful, give it a star — it helps others discover it.
A pi session and the change it made, scoped to an isolated git-worktree workspace.
- Isolated workspaces. Open any git repo as a project and cut workspaces from it as git worktrees,
each with its own branch and working directory. Agents work in parallel without touching your
checkout; merge the good branch, delete the rest. You can also attach existing worktrees or explicitly
work in the project folder itself. Finished and dormant workspaces settle onto a per-project shelf on
their own — when their pull request merges or closes, or after a quiet week — and come back the moment
you work in them. The topbar shows where the active branch stands against origin and its pull request,
with the next step one click away: publish, push, or open a PR described from the plan, the commits,
your PR template, or an agent-written draft. Once a GitHub PR is open it shows the CI checks and review
decision, and lets you mark it ready, hand failing checks or a diverged branch to the agent, merge it
with the repository's last-used method, reopen it, or delete the remote branch.
- A real IDE around the agent. A splittable workbench of Monaco editor tabs, a Files tree with live git change marks and a Changed view, terminals, and documents — all scoped to the active workspace. Leave anchored review comments on files and diffs and send them to a chat as structured context, or open the worktree in your installed IDE.
- Chats that stream like the engine thinks. Several concurrent pi sessions per workspace, each with
its own model and live token and cost readout. Steer a running turn or queue a follow-up, delegate to
subagents, and work a shared plan the agent updates and you edit — each completed step can be committed
and reviewed on its own.
- Specs as ground truth. A connected graph of SPEC.md files lives beside the code; the agent reads,
searches, and maintains it through dedicated spec_* tools, so intent survives the session. The
read-only Specs tool renders the graph as a tree in the workbench.
- Skills and workflows. Portable Agent Skills you already keep for other coding agents are read in
place, and bundled workflows guide project setup, design brainstorming, and shipping a pull request —
pushing the workspace branch and opening or updating its GitHub PR through your own gh.
- Agent tools beyond the shell. Web research, and inline diagrams, option comparisons and file previews rendered right in the chat — when the agent proposes a UI change it shows a before/after mockup you can comment on like a diff. Settings → Extensions lists the ThinkRail extensions the agent gets and lets you switch each one off.
- MCP servers. Connect the MCP servers in your pi mcp.json (or add them, and a few presets, from
Settings): ThinkRail asks in the chat before calls the server does not mark read-only (or always allows
the tools you trust in a project), keeps servers a repository
defines off until you approve them, signs you in to OAuth servers from Settings, and shows each chat's
servers next to its background commands and subagents.
- Your providers, your credentials. Sign in with JetBrains AI or
connect any provider through pi's own auth. ThinkRail has no accounts of its own.
- Desktop app or browser. A native desktop app, or the thinkrail CLI that opens the same app in your
browser. Both embed the same engine host; app state lives under ~/.thinkrail.
- Your language. Settings → Language follows your system language or a language you pick; English and
Simplified Chinese are built in. Add a language ThinkRail doesn't ship yet by dropping a translated
en.json into ~/.thinkrail/locales — it applies as you save. Agent replies and tool output stay as
the agent wrote them.
The project's spec graph as a tree, with the spec itself rendered alongside.
ThinkRail ships in two additive forms: a native desktop installer and the self-contained thinkrail CLI.
Both are published with SHA256SUMS on the releases page.
Download the thinkrail-desktop-* asset for your platform:
- macOS (Apple Silicon) — open the DMG. There is no Intel desktop build.
- Windows x64 — extract the complete setup ZIP, then run its setup executable in place, next to its payload.
- Linux x64 / ARM64 — extract the setup tarball and run installer. Desktop builds need glibc 2.38+
with GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3, and librsvg 2 — Ubuntu 24.04 or newer:
sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libayatana-appindicator3-1 librsvg2-2
Packaged stable and nightly desktop builds check for updates in the background and offer them in Settings → Updates: Download → Preparing update → Install & Restart. Nothing is applied until you choose Install & Restart. ThinkRail then shows the installation's progress and log, closes, and reopens on the new version. After the restart it tells you whether the update installed. If it didn't, it explains why and offers to retry. The updater appears only when the package carries a valid HTTPS feed identity; installations that predate that identity need one manual installation first.
The installer downloads the right binary, verifies its SHA-256 checksum, and puts thinkrail on your PATH.
macOS / Linux (also Windows under Git Bash):
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash
Windows — the same command works from cmd and PowerShell:
powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"
Then run thinkrail, optionally with a git repo to open as a project:
thinkrail ~/code/my-repo
thinkrail needs git on your PATH and a model provider — sign in with JetBrains AI from the app or use
your own provider credentials. thinkrail --help lists the flags; thinkrail --version prints the build.
Nightly builds, pinned versions, updates, and uninstall
The installer takes --channel stable|nightly and --version; a pinned version must belong to the
selected channel:
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash -s -- --channel nightly
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash -s -- --channel stable --version 0.1.2
curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash -s -- --channel nightly --version 0.2.0-nightly.10
On Windows the options are environment variables (THINKRAIL_CHANNEL, THINKRAIL_VERSION,
THINKRAIL_PREFIX, THINKRAIL_NO_MODIFY_PATH):
$env:THINKRAIL_CHANNEL='nightly'; irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex # PowerShell
set "THINKRAIL_CHANNEL=stable" && set "THINKRAIL_VERSION=0.1.2" && powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex" # cmd
Installed stable and nightly CLI hosts periodically offer Run Update in Settings → Updates. It runs
the host machine's thinkrail update in the background — also when the UI is open in a browser on another
machine — and a successful update asks you to restart the host manually. You can run thinkrail update
directly on any platform: it re-runs the installer for the installed channel and replaces
<prefix>/bin/thinkrail[.exe]; pass --channel or --version only for an explicit override.
thinkrail uninstall removes the executable, the PATH entry the installer added, and the install metadata,
and asks whether to delete your ~/.thinkrail app state (kept by default — --remove-data deletes it,
-y skips the questions).
Prefer a manual install? Download a binary and SHA256SUMS from the releases page and verify the checksum.
For self-update to work, rename it to thinkrail (thinkrail.exe on Windows) and place it at
<prefix>/bin/thinkrail[.exe]; a binary kept under its release filename or elsewhere must be replaced
manually or reinstalled with the script.
JetBrains signs the Windows CLI, the desktop setup executable, and every executable and DLL the desktop app installs. The macOS CLI is signed but not yet notarized. Signed and notarized desktop DMGs require the coordinated JetBrains service pipeline; older published DMGs and locally built packages may still be unsigned and blocked by Gatekeeper. Linux artifacts are unsigned.
ThinkRail collects basic usage events — launches, chat creation, message sends, provider connections — tied to
a random installation ID. Usage analytics never include prompts, code, files, credentials, or account
identity. Error reports are also always sent, tied to the same installation ID, so we can fix crashes: the
error type and code and where in ThinkRail's own code it happened. They never include error messages, file
paths, names, URLs, or anything from your projects or extensions. Additional product
usage and how you found ThinkRail are shared only while Share additional usage
data is on; the switch is offered at first launch and lives in Settings → Privacy. When launching from
the command line, thinkrail --no-analytics (or THINKRAIL_NO_ANALYTICS=1) turns additional sharing off for
that run. With additional sharing on, a packaged build may open the ThinkRail blog in your browser once to
link your installation to the website visit that brought you here — only where you accepted marketing cookies on the
website or no consent is required — and that link expires after 30 days.
ThinkRail is a thin host that runs pi in-process and bridges it to a rich web UI. pi owns models,
skills, compaction, cost, and session state; the app owns the workspace, the editor, and the wire — it
never assembles prompts behind your back. Three rings:
- Engine host — packages/server (+ packages/shared): a Bun.serve HTTP+WS host with one in-process pi session per chat, launched by apps/cli or apps/desktop.
- The wire — packages/contracts: the typed, versioned protocol between host and UI.
- UI client — apps/web: React 19 + Zustand + Tailwind v4, shipped independently; it dials a host over
the wire and depends on the contracts only.
goal-and-requirements.md and architecture.md are the
canonical product and design specs. ThinkRail is developed spec-first: a SPEC.md sits beside every
module, and a change that moves a boundary, contract, or decision updates the spec in the same change.
You need Bun 1.4.4 (the pinned package manager and runtime), Node.js ≥ 22.19 (required by the
in-process pi engine), and an authenticated pi provider for agent work.
git clone https://github.com/JetBrains/thinkrail.git
cd thinkrail
bun install
bun run dev # host + web client together; Ctrl+C stops bothbun run --filter @thinkrail/cli dev # browser launcher
bun run build:binary # standalone CLI artifact
bun run desktop:dev # package and open the Electrobun app
bun run desktop:build # package without opening it
CONTRIBUTING.md covers the checks, the end-to-end suites, desktop packaging, and the
repository layout.
Contributions are welcome — see CONTRIBUTING.md. This project and community are
governed by the Code of Conduct.
Licensed under the Apache License 2.0.
Auto-fetched and translated by AI Gem Box. All rights belong to the original author.