跳到正文
Hacker News (official RSS)(github.com)·· 5 小時前精選AI 評分74

JetBrains 推出 ThinkRail 全新 Agent IDE

JetBrains Thinkrail

AI 導讀

JetBrains 推出全新 ThinkRail Agent IDE,將專案導向的 AI 整合進開發環境。

  • 隔離工作空間:每個 git repo 可切割為多個獨立工作區,並自動管理 PR 與分支。
推薦理由

JetBrains 以 ThinkRail 推出全新 Agent IDE,結合隔離工作空間與可擴充外掛,協助開發者即時生成與管理 Pull Request,並提供專案 SPEC 連結與自動化工作流,顯著提升開發流程效率與程式碼品質。

正文 · AI 翻譯

譯文尚未完整,完整內容請切換至原文。

JetBrains incubator project GitHub stars

ThinkRail 是一個具自主性的 IDE,每次使用時都會變得更好——今天透過活化規格學習你的專案,明天則構建自身功能。

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

⭐ 如果你覺得 ThinkRail 有用,請給它一顆星 — 這能幫助其他人發現它。

ThinkRail workbench: the Projects pane beside the left tool rail listing worktree workspaces and their Settled shelf, a finished pi conversation with its tool steps in the center, the resulting diff beside it, and the Specs tree above the Changes list on the right with their tools on the edge rail

一個 pi 會話以及它所帶來的變更,範圍限定於一個獨立的 git‑worktree 工作區。

你將得到

  • 獨立工作區。將任何 git 倉庫作為專案開啟,並以 git worktree 方式切割工作區,每個工作區都有自己的分支與工作目錄。代理可並行工作而不影響你的檢出;合併好的分支、刪除其餘。你亦可附加現有的 worktree 或直接在專案資料夾內工作。完成與休眠的工作區會在專案專屬的貨架上安置 — 當其 pull request 合併或關閉,或經過一週安靜後,於你再次進入時重新出現。頂部列顯示主分支相對 origin 及其 pull request 的位置,下一步僅一鍵:發布、推送或根據計畫、提交、你的 PR 模板或代理撰寫的草稿開啟 PR。一旦 GitHub PR 開啟,它會顯示 CI 檢查與審核決策,並允許你標記為 ready、將失敗檢查或分岔分支交給代理、以倉庫最後使用的方法合併、重新開啟或刪除遠端分支。
  • 一個真正的 IDE,圍繞代理構建。一個可分割的 Monaco 編輯器工作臺,包含帶有即時 git 變更標記的檔案樹與變更檢視、終端機與檔案 — 所有內容皆限定於活動工作區。可在檔案與差異上留下固定的審查評論,並將其以結構化上下文送至聊天,或直接在已安裝的 IDE 開啟 worktree。
  • 聊天流式呈現,像引擎思考一樣。每個工作區可同時進行數個 pi 會話,每個都有自己的模型、即時 token 與成本顯示。你可以調整正在進行的回合或排隊後續、委派給子代理,並共同執行代理更新、你編輯的共享計畫 — 每完成一步都可獨立提交與審核。
  • 規格即真實基準。一張連結的 SPEC.md 檔案圖譜與程式碼並存;代理透過專用 spec_* 工具閱讀、搜尋並維護它,確保意圖在整個會話中持續。唯讀的 Specs 工具會將圖譜以樹狀結構呈現在工作臺。
  • 技能與工作流程。你已為其他編碼代理保留的可攜代理技能將直接讀取,並以打包工作流程協助專案設定、設計腦力激盪及釋出 pull request — 推送工作區分支並透過你自己的 gh 開啟或更新其 GitHub PR。
  • 代理工具不僅限於 shell。網頁搜尋、內嵌圖表、選項比較與檔案預覽直接呈現在聊天中 — 當代理建議 UI 變更時,會顯示可在差異式評論的前/後 mockup。設定 → 擴充功能 列出代理可使用的 ThinkRail 擴充套件,並可關閉每一項。
  • MCP 伺服器。 在您的 pi mcp.json 中連線 MCP 伺服器(或從 Settings 加入它們及一些預設):ThinkRail 在呼叫伺服器前會先在聊天中詢問,伺服器不會被標記為唯讀(或始終允許您在專案中信任的工具),保持伺服器為儲存庫,定義為關閉直到您批准,從 Settings 讓您登入 OAuth 伺服器,並在每個聊天旁顯示其伺服器,配合其背景指令與子代理。
  • 您的供應商,您的憑證。 使用 JetBrains AI 登入,或 透過 pi 自身的授權連結任何供應商。ThinkRail 本身沒有帳號。
  • 桌面應用或瀏覽器。 一個原生桌面應用,或在您的 瀏覽器中開啟同一應用的 thinkrail CLI。兩者都嵌入相同的引擎主機;應用狀態存於 ~/.thinkrail。
  • 您的語言。 設定 → 語言遵循您的系統語言或您選擇的語言;英語與 簡體中文已內建。若 ThinkRail 尚未提供某語言,您可將翻譯好的 en.json 放入 ~/.thinkrail/locales — 儲存時即生效。代理回覆與工具輸出保持代理原寫。
The Specs tool, opened from the right edge rail, listing the project's spec tree while the product goal spec is rendered in the editor

專案的規格圖以樹狀結構呈現,規格本身同時被渲染。

安裝

ThinkRail 以兩種形式釋出:原生桌面安裝程式與自包含的 thinkrail CLI。 兩者皆隨 SHA256SUMS 釋出於 釋出頁面。

桌面

下載適用於您平臺的 thinkrail-desktop-* 資產:

  • macOS(Apple Silicon) — 開啟 DMG。沒有 Intel 桌面版。

  • Windows x64 — 解壓完整安裝 ZIP,然後在同目錄執行其安裝執行檔,與其 載荷同在。

  • Linux x64 / ARM64 — 解壓安裝 tarball 並執行 installer。桌面版本需要 glibc 2.38+, 搭配 GTK 3、WebKitGTK 4.1、Ayatana AppIndicator 3 與 librsvg 2 — Ubuntu 24.04 或更新版本:

    sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libayatana-appindicator3-1 librsvg2-2

已封裝的穩定版與夜間版桌面建置會在背景檢查更新,並於 設定 → 更新 提供:下載 → 準備更新 → 安裝 & 重新啟動。直到您選擇 安裝 & 重新啟動 前,皆不會套用。ThinkRail 之後會顯示安裝進度與日誌,關閉後重新開啟至新版本。重新啟動後會告知更新是否已安裝;若未安裝,說明原因並提供重試。更新器僅在套件擁有有效 HTTPS feed 身份時顯示;若安裝早於該身份,需先手動安裝一次。

指令列

安裝程式會下載正確的二進位檔、驗證其 SHA-256 檢和,並將 thinkrail 放入您的 PATH。

macOS / Linux(亦可於 Git Bash 下的 Windows):

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

Windows — 相同指令可於 cmd 與 PowerShell 執行:

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

接著執行 thinkrail,可選擇以 git 倉庫開啟為專案:

thinkrail ~/code/my-repo

thinkrail 需要 git 放於您的 PATH 並有模型供應商 — 可於應用程式登入 JetBrains AI 或使用 您自己的供應商憑證。thinkrail --help 列出旗標;thinkrail --version 列印建置資訊。

夜間版建置、固定版本、更新與解除安裝

安裝程式接受 --channel stable|nightly 與 --version;固定版本必須屬於 所選頻道:

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

在 Windows 上,選項為環境變數 (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

已安裝的穩定版與夜間版 CLI 主機會定期提供 執行更新 在 設定 → 更新。它會在背景執行主機機器的 thinkrail update — 即使 UI 在另一臺機器的瀏覽器中開啟 —,成功更新後會要求您手動重新啟動主機。您可以直接在任何平臺執行 thinkrail update:它會重新執行已安裝頻道的安裝程式並替換 <prefix>/bin/thinkrail[.exe];僅在需要明確覆寫時傳遞 --channel 或 --version。

thinkrail uninstall 會移除可執行檔、安裝程式新增的 PATH 條目以及安裝元資料,並詢問是否刪除您的 ~/.thinkrail 應用程式狀態(預設保留 — --remove-data 刪除它, -y 跳過問題)。

想要手動安裝嗎?從釋出頁面下載二進位檔並 SHA256SUMS,並驗證檢查碼。 為使自我更新能正常運作,請將其重新命名為 thinkrail(Windows 為 thinkrail.exe),並放置於 <prefix>/bin/thinkrail[.exe];保留在其釋出檔名或其他位置的二進位檔必須手動替換或使用指令碼重新安裝。

平臺說明

平臺 桌面 CLI
macOS Apple Silicon DMG 已簽署的二進位檔
macOS Intel 無 Electrobun 建置 未預建 — 從原始碼編譯
Windows x64 已簽署的安裝程式執行檔與應用程式二進位檔 已簽署 .exe
Linux x64 / ARM64 安裝包 tarball,未簽署 未簽署

JetBrains 簽署 Windows CLI、桌面安裝程式執行檔以及桌面應用程式安裝的每個執行檔和 DLL。macOS CLI 已簽署但尚未 notarised。 已簽署並 notarised 的桌面 DMG 需要 JetBrains 服務管線協調;較舊的已釋出 DMG 與本地建置的套件可能仍未簽署並被 Gatekeeper 阻擋。Linux artefacts 未簽署。

分析與隱私

ThinkRail 收集基本使用事件 — 啟動、聊天建立、訊息傳送、供應商連線 — 以隨機安裝 ID 為標識。使用分析永遠不包含提示、程式碼、檔案、憑證或帳戶身份。錯誤報告也會始終送出,並以相同的安裝 ID 為標識,以便我們修復崩潰:錯誤型別、程式碼以及發生位置。它們永遠不會包含錯誤訊息、檔案路徑、名稱、網址或任何來自您的專案或擴充功能的資訊。額外的產品使用情況以及您如何發現 ThinkRail 只在 分享額外使用資料 開啟時分享;此切換在首次啟動時提供,並位於 設定 → 隱私。從命令列啟動時,thinkrail --no-analytics(或 THINKRAIL_NO_ANALYTICS=1)會關閉該執行的額外分享。若額外分享開啟,打包版本可能會在您的瀏覽器中開啟 ThinkRail 部落格一次,以將您的安裝連結到帶您來此的網站訪問——僅在您在網站上接受行銷 cookie 或不需要同意時——該連結在 30 天後失效。

底層

ThinkRail 是一個薄主機,執行 pi 於程序內並將其橋接至豐富的網頁 UI。pi 擁有模型、技能、壓縮、成本和會話狀態;應用程式擁有工作區、編輯器和「wire」——它永不在您背後組裝提示。三層:

  • Engine host — packages/server (+ packages/shared):一個 Bun.serve HTTP+WS 主機,每個聊天有一個程序內 pi 會話,由 apps/cli 或 apps/desktop 啟動。
  • The wire — packages/contracts:主機與 UI 之間的型別化、版本化協定。
  • UI client — apps/web:React 19 + Zustand + Tailwind v4,獨立發行;它透過「wire」呼叫主機,只依賴協定。

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.

開發 ThinkRail

你需要 Bun 1.4.4(固定的套件管理器與執行環境)、Node.js ≥ 22.19(in‑process pi 引擎所需)以及一個經過授權的 pi 提供者來執行代理工作。

git clone https://github.com/JetBrains/thinkrail.git
cd thinkrail
bun install
bun run dev                          # host + web client together; Ctrl+C stops both
bun 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.