JetBrains开源AI IDE是个壳:5000星,三个安全洞没补

源自212位全网作者

10:30

让 AI 改代码,最难受的不是它写不出来,是它直接在你项目目录里动手。想回滚,却发现它顺手动了十几个文件,还跟你没提交的改动混成一团。

JetBrains 把 ThinkRail 开源了,Apache-2.0,盯的就是这件事。10 月 29 日它在 GitHub 上是 5068 星、260 fork,而 28 日当天两位作者先后记到的是 1914 星和“总星已过 4000”、单日新增 1200+。知乎知乎

Hacker News 那帖吵得最凶的是 README 是不是 AI 写的,几乎没人贴自己跑出来的结果。知乎

先说清:它是个壳,官方自己承认的

ThinkRail 不是 JetBrains 自研的编程 agent,README 里的自我定位就是一个跑 pi 的薄宿主。GitHub

里头的 pi 是 earendil-works 的开源项目,MIT 协议,11.8 万星,主力作者是 Mario Zechner(libGDX 作者)和 Armin Ronacher(Flask 作者),定位是一个极简、可扩展的 agent harness。所以准确说法是:JetBrains 给一个成熟的第三方 agent 套了层真 IDE 的壳——Bun 起服务、React 19 前端、Monaco 编辑器。GitHub知乎GitHub

JetBrains开源AI IDE是个壳:5000星,三个安全洞没补

三件确实有用的

一个任务一个 git worktree。 开一个 agent 任务,就自动切出独立目录和分支,统一放在 `~/.thinkrail/worktrees/` 下面,不碰你当前的 checkout。前面那位实测者开了两个任务、前后差 17 秒提交同一个文件,主目录的 calc.js 一个字没动,两个分支 clone 出来合并也不冲突。看完 diff 满意就合,不满意整个删掉,主干零污染。GitHub知乎

JetBrains开源AI IDE是个壳:5000星,三个安全洞没补

Living Specs。 项目规范写成互相链接的 SPEC.md 摆在代码旁边,agent 用专门的 `spec_*` 工具去读、搜、维护,让“所有 API 必须走统一响应格式”这类约束活过会话,不用每开一次聊天重新交代一遍。知乎GitHub

JetBrains开源AI IDE是个壳:5000星,三个安全洞没补

它是真 IDE,不是聊天框。 文件树带 Git 变更标记、终端、diff 视图同屏。最实用的是锚定评论:你在某段代码上留一句话,评论带着代码位置发给 agent,不用再复制粘贴描述“第 83 行那个函数”。知乎GitHub

三处我建议你先缓一缓

第一,三个安全发现的修复 PR 还没合并。 官方推荐装法是 `curl | bash`,而 install.sh 第 19 行的 `REPO` 能被 `THINKRAIL_REPO` 环境变量覆盖,二进制和 SHA256SUMS 都从它下载——校验文件和被校验对象来自同一处,设个环境变量就能让校验自己给自己盖章。GitHub

另一条更硬:host 的 `/ws` 端点升级请求时不查 Origin、不要凭证,浏览器对 WebSocket 又不受同源策略约束,理论上你访问的任意网页都能连上本机端口、调 `terminal.write` 以你的身份执行命令,而默认端口 24242 就写死在 server.ts 第 229 行。证据边界要说清:报告者标注了未在真实实例上跑通、是读代码得出的,属代码审计级发现,不是已演示的攻击。GitHub

这两条加一个符号链接竞态都收在 PR #920 里修,标题写着补三个严重漏洞。该 PR 10 月 26 日开、28 日还在改,到 29 日仍是 open、未合并。GitHub

第二,worktree 隔离有边界,它没做 sandbox。 整套隔离机制就建立在 git worktree 之上,实测结论也一样:git worktree 有的边界它都有。所有 worktree 共用同一个 `.git`,而 `git stash` 就存在 `.git` 里——实测中 agent 确实用了裸 `git stash`,报告者用纯 git 复现了坏情况:A pop 回来的是 B 的改动。知乎知乎

另外 worktree 的上级目录变成了 `~/.thinkrail/…`,凡是“从当前目录往上找配置”的东西(package.json 的 type、.npmrc、.editorconfig、部分 lint 配置)都可能和主目录不一样。知乎

JetBrains开源AI IDE是个壳:5000星,三个安全洞没补

第三,成本面板的 token 准,单价不准。 面板读数和 pi 会话日志里的 usage 累加值逐项对得上,重启也不变。问题在单价:pi 内置价格表写死成美元/百万 token,DeepSeek 官方却按人民币分时段计价,按 1 美元约 7 元粗算写死价约等于高峰价,非高峰跑实际扣费只有一半,面板会高估一倍左右。别拿它当账单。知乎

该不该装

适合:已经在用 pi 或命令行 agent、经常让 AI 做大范围重构、愿意逐条看 diff 的人。“先让 agent 试错、人做合并决策”确实比让 AI 在主干上撒野舒服。

JetBrains开源AI IDE是个壳:5000星,三个安全洞没补

不适合:想要开箱即用稳定 IDE 的、指望 IntelliJ 那套深度静态分析和调试链的、不想管 Git 分支的。它是 JetBrains 孵化器项目,README 挂着 incubator 徽章,属早期实验项目、不是正式稳定产品:30 个贡献者、243 个 open issue,最新稳定版还停在 10 月 18 日的 v0.2.0,之后全是 nightly。知乎GitHub

真要装:别用 `curl | bash`,去 Releases 页手动下二进制、对着 SHA256SUMS 自己校验一遍。Linux 产物官方未签名,macOS CLI 已签名但还没公证,老 DMG 和本地构建包可能被 Gatekeeper 拦。GitHub

启动前顺手加 `–no-analytics`,但这个开关只管附加数据,基础用量事件和错误报告按官方说法是 always sent。知乎GitHub

内容由AI生成

精选参考来源

1. JetBrains/thinkrail: Vibe code with pi in a lightweight, real IDE that customises itself around the way you work

2. Unauthenticated WebSocket host lets any webpage run commands · Issue #969

3. fix(security): Patch 3 Critical Vulnerabilities - CSWSH RCE, Supply Chain Attack, TOCTOU Path Traversal Race · Pull Request #920

4. JetBrains 开源的 Thinkrail 一个任务一个 worktree,并行的 AI agent 真的不会互相踩吗?

5. JetBrains 开源 ThinkRail:AI 编程不只是聊天,还能记住项目规范、并行开发代码

6. 告别 AI 乱改代码!ThinkRail,JetBrains 孵化的隔离式 Agent 编码环境

7. ThinkRail 一键安装:JetBrains 的 Agent IDE,让 AI 按 living spec 写代码(照着做就能成)

8. earendil-works/pi: AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

9. thinkrail/install.sh at main(第 19 行 REPO 可被 THINKRAIL_REPO 覆盖)

10. thinkrail/packages/server/src/host/server.ts at main(第 229 行默认端口 24242、第 297 行 /ws 升级)

11. ThinkRail Releases:最新稳定版 v0.2.0(2026-10-18)、最新 nightly v0.3.0-nightly.9(2026-10-28)

12. ThinkRail 0.2.0: review the turn, not the chat log

13. JetBrains Thinkrail

14. @earendil-works/pi-coding-agent - npm(MIT,maintainers: mitsuhiko / badlogic)

0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章