JetBrains 的 ThinkRail
<!-- README.md --> JetBrains InnovationHub Apache-2.0 开源 每次使用都会变得更好的自主 IDE。将一个仓库作为一个项目打开。切割独立的 git 工作树工作区。与一个真正的代理在 Monaco 标签、终端和差异中配对 — 当你的项目意图存在于代理实际上读取的规范图中。 macOS Apple Silicon 通过命令行的浏览器 UI 安装本地启动器;运行 thinkrail 打开浏览器 UI。 curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash Windows Windows x64 通过命令行的浏览器 UI 安装本地启动器;运行 thinkrail 打开浏览器 UI。 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+ 通过命令行的浏览器 UI 安装本地启动器;运行 thinkrail 打开浏览器 UI。 curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash <!-- 为什么 ThinkRail --> 为什么 ThinkRail 代理值得拥有工作树,而不是你的工作树。每个工作区都是一个真实的 git 工作树 — 自己的分支,自己的当前工作目录。并行运行多个代理;每个代理的混乱停留在其分支上,主分支保持干净,直到你说否则。规范是基本真相。ThinkRail 是规范优先构建的,你的项目也是:一个与代码相伴的规范文件连接图,代理使用专用工具读取、搜索和维护它。意图在会话中得以保留。一个轻量的主机,一个真正的引擎。pi 编码代理在进程中运行,并拥有模型、技能、压缩和成本。ThinkRail 拥有工作区、编辑器和连接 — 它从不在你背后拼凑提示。 <!-- 特性 / 工作树 --> 项目 → 工作区 项目是任何本地 git 仓库。工作区是从中切割出的 git 工作树 — 一键创建,列在 rail 中,随意处理。 # 一个仓库,三条平行思路 ~/code/my-repo ← 项目 └─ ~/.thinkrail/worktrees/ ├─ workspace-1 ⎇ feature/auth 代理 A 正在构建 ├─ workspace-2 ⎇ fix/flaky-test 代理 B 修复 └─ workspace-3 ⎇ spike/ideas 你,正在探索 每个工作区拥有分支 + 当前工作目录 — 文件、差异、终端和聊天都限于此。立即切换工作区;没有重新加载,没东西泄露。合并好的那个,删除其余的。你的仓库从未注意到混乱。 <!-- 特性 / 编辑器 --> 围绕代理的真正 IDE 观察代理工作 — 或在旁边工作 — 而不离开页面。Monaco 编辑器标签 VS Code 编辑器引擎:处处语法,带有源切换的渲染 markdown,按工作区的文件标签。 文件树 直观展示活动工作树 — 就像这一页右侧的 rail。 变化 工作区分支的实时 git 差异,因此你可以在代理的工作落地时进行回顾。 终端 真实的 PTY 限于工作树 — 在代理继续输入时自己运行测试。 <!-- 特性 / 代理聊天 --> 像引擎思考那样流的聊天 此转录是一个真正的 pi 会话,在 ThinkRail 中捕获,同时它在自己的仓库工作: 快速简介:什么是 ThinkRail,它的三环架构是什么?保持简洁。 阅读 goal-and-requirements.md · architecture.md ThinkRail 是围绕 pi 编码代理构建的自主 IDE — 一个轻量的主机,在进程中运行 pi,并将其桥接到富有的 UI,而 pi 拥有模型、技能、压缩、成本和会话状态。三环: 引擎主机 ( packages/server ) — createServer() 运行一个 HTTP+WS 主机加上一个 AgentSessionManager :每个标签一个进程中的 pi 会话。 连接 ( packages/contracts ) — 主机与 UI 之间的类型化、版本化协议。仅类型。 UI 客户端 ( apps/web ) — 移动优先的 React 独立发布,并通过连接拨打任何主机。 完成 5s · 25.9k tok · $0.17 每个工作区多个会话,实时流式传输。每个会话选择模型;令牌和成本在头部实时显示。引导一个运行的轮次或排队后续 — 不用等待代理完成。 交互式工具:代理可以在聊天中直接提出结构化问题。 <!-- 特性 / 规范 --> 规范是第一类 每个模块都带有一个包含前言的 SPEC.md,将其链接到图中 — 目标、架构、模块、任务。捆绑的 pi-spec-graph 扩展为代理提供了 spec_* 工具,可以搜索、导航和维护它,规范标签呈现工作树的实时图: ThinkRail — 产品目标和范围主要规范 ThinkRail — 顶级架构 arch 引擎主机 (服务器库) 模块 代理 — 进程中的 pi 会话 子模块 Web UI 客户端模块 --- id: 模块服务器 类型: 模块设计 状态: 活动 父级: 架构 --- 普通 markdown,普通前言,与代码版本化 — 阅读规范足以理解一个领域并制定下一个任务。
阅读全文 →本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡