JetBrains ThinkRail: workspace worktree và living specs cho agent

ThinkRail của JetBrains bọc Pi agent trong workspace git worktree, living SPEC.md, review comment gắn vào code, PR, MCP và hướng tới extension tự build.

Đã duyệt độc lập · cập nhật 31/10/2026 · 14 min

1. ThinkRail: agent có một workspace

Video của Signal Coders (đăng ngày 30/10/2026) mở đầu: tuần này, JetBrains đang sắp xếp lại các agent của bạn. ThinkRail cho chúng những branch riêng, workspace riêng và living specs. Bước tiếp theo, nó muốn tự build tool cho chính mình. Video nói vế sau cùng ấy là hướng đi.

Phần bạn thật sự xem được trong repo GitHub của ThinkRail, tính đến ngày video đăng (30/10/2026), là một agentic IDE xây quanh Pi coding agent. Theo Signal Coders, nó có một câu trả lời cụ thể khác thường cho câu hỏi: chuyện gì xảy ra sau khi bạn bảo một agent sửa code của mình. JetBrains mô tả ThinkRail là một giao diện phong phú (rich interface) bao quanh Pi, với các workspace tách biệt, kiến thức dự án bền vững (durable project knowledge) và các skill dùng lại được (theo README, video đăng ngày 30/10/2026).

Slide AGENTS GET A WORKSPACE với ảnh chụp phần mở đầu README của ThinkRail
Slide "Agents get a workspace": ảnh chụp phần giới thiệu trong README của ThinkRail, bên dưới là ảnh workbench với một session Pi và thay đổi nó tạo ra trong một workspace git-worktree (video đăng ngày 30/10/2026).

2. Workbench quanh Pi và cả một workflow cho agent

Theo video (đăng ngày 30/10/2026), workbench của ThinkRail gom lại một chỗ: các tab editor Monaco, terminal, file, tài liệu và các cuộc hội thoại với agent. Bước tiếp theo mà JetBrains nêu là hỗ trợ extension đầy đủ (full extension support), để ThinkRail có thể tạo ra tool dựa trên cách bạn thật sự làm việc, mở rộng môi trường cùng với dự án.

Theo Signal Coders, nước đi đáng chú ý ở đây là agent nhận được cả một workflow phát triển bao quanh nó. Branch của bạn có chỗ đứng, thay đổi của bạn có một bề mặt để review, ý định của dự án nằm trong các file spec MD cạnh code, và các cuộc hội thoại có thể chạy đồng thời, mỗi cái với model riêng và số token, số cost hiện rõ (tính năng mô tả trong video đăng ngày 30/10/2026).

Video (đăng ngày 30/10/2026) nhận xét: vibe coding đã tới giai đoạn mà các "vibe" cần một chỗ để cất giấy tờ. Và tiện thay, chính đống giấy tờ đó có thể giúp agent kế tiếp hiểu bạn đang build cái gì.

Pi coding agent Monaco tabsTerminalsFiles DocumentsConversations
Hình 2.1Các mảnh mà video (đăng ngày 30/10/2026) kể ra trong workbench của ThinkRail, đặt quanh Pi coding agent.

3. Nền móng: Git worktrees

Video bắt đầu từ nền móng: Git worktrees. Theo video (đăng ngày 30/10/2026), ThinkRail cho bạn mở một Git repository như một project và tạo các workspace từ đó. Mỗi workspace có branch riêng và working directory riêng.

Signal Coders (video đăng ngày 30/10/2026) nhấn mạnh working directory là chỗ quan trọng. Một branch xác định một nhánh phát triển, còn một worktree cho bạn một nơi riêng để thật sự checkout các file của branch đó. Bạn có thể giữ các thay đổi khác nhau tách biệt về mặt vật lý trong khi chúng vẫn thuộc cùng một project. Hãy hình dung những bàn làm việc riêng, mỗi bàn giữ một phiên bản khác của cùng một công việc. Theo video, điều đó cho các agent chạy song song một cách sắp xếp thực tế.

Git repository = project Workspace Abranch + working directory Workspace Bbranch + working directory Workspace Cbranch + working directory
Hình 3.1Theo video (đăng ngày 30/10/2026): mỗi workspace của ThinkRail là một worktree với branch và working directory riêng, tất cả thuộc cùng một project.

4. Agent chạy song song và repo đang dở

Video đưa một ví dụ minh hoạ: bạn yêu cầu làm lại thiết kế trang settings, trong khi một task khác cập nhật tài liệu của dự án. Trong các workspace tách biệt, hai task có branch và thư mục riêng, nên các chỉnh sửa của chúng không rơi thẳng vào checkout hiện tại của bạn. Bạn xem kết quả, merge branch mình muốn và xoá phần việc không cần (cách làm mô tả trong video đăng ngày 30/10/2026).

Signal Coders (video đăng ngày 30/10/2026) nói worktree tạo sự tách biệt trong lúc công việc diễn ra, còn việc review và gộp các thay đổi lại vẫn là một phần của workflow. Phát triển song song có một cấu trúc mà bạn theo dõi được.

Theo video (đăng ngày 30/10/2026), ThinkRail cũng cho bạn gắn (attach) các worktree đã có, hoặc chủ động làm việc ngay trong thư mục project. Nhờ vậy hệ thống workspace có thể khớp với một repository bạn đang làm dở. Video chỉ ra một điểm phân biệt: ThinkRail còn hỗ trợ nhiều session Pi chạy đồng thời bên trong mỗi workspace, và các session đó thuộc về workspace ấy.

Slide FIT THE REPOSITORY ALREADY RUNNING với hai thẻ Existing worktree và Project folder
Slide "Fit the repository already running": thẻ "Existing worktree" ghi "Attach it as a workspace", thẻ "Project folder" ghi "Work directly inside it" (slide trong video đăng ngày 30/10/2026).

5. Ranh giới cô lập và workbench theo workspace

Theo video (đăng ngày 30/10/2026), ranh giới cô lập (isolation boundary) mà repository mô tả là worktree. Điều đó giúp bạn quyết định task nào nên ở riêng, và chỗ nào các cuộc hội thoại nên chia sẻ cùng một phần việc đang chạy.

Khi mở một workspace, theo video (đăng ngày 30/10/2026), bạn có một workbench chia được thành nhiều khung (splittable), xây quanh các tab editor Monaco. Có một cây file với dấu thay đổi Git cập nhật trực tiếp, một view "Changed", terminal và tài liệu, tất cả gói trong phạm vi workspace đang hoạt động. Theo video, như vậy giao diện giữ code liên quan và các thay đổi của nó ở cùng nhau khi bạn chuyển qua lại giữa các task.

Bạn cũng có thể mở worktree trong IDE đã cài trên máy (theo video đăng ngày 30/10/2026). ThinkRail cho một chỗ để quản lý workflow của agent, đồng thời cho bạn thêm một đường khác để vào các file thật.

Worktree workspace 1Worktree workspace 2 Pi sessionPi sessionPi session các session chia sẻ phần việc đang chạy file tách khỏi workspace 1
Hình 5.1Theo video (đăng ngày 30/10/2026): worktree tách file giữa các workspace; các session Pi trong cùng một workspace thuộc về workspace đó.

6. Review comment gắn vào đúng chỗ trong code

Theo Signal Coders (video đăng ngày 30/10/2026), giao diện review của ThinkRail đi xa hơn việc ngồi xem một response chạy qua. Bạn có thể để lại review comment gắn neo (anchored) vào file và diff, rồi gửi các comment đó vào một chat như context có cấu trúc.

Video (đăng ngày 30/10/2026) dựng một tình huống: thay đổi được sinh ra đã xử lý đường chính (main path), nhưng bạn muốn một hành vi khác trong một function cụ thể. Bạn gắn feedback đó vào đúng đoạn code liên quan. Agent nhận chỉ dẫn của bạn đi kèm đúng vị trí bạn muốn nói tới. Video nhận xét rằng cuối cùng thì con trỏ chuột của bạn cũng có một vai phụ trong cuộc hội thoại, thay vì chỉ lặng lẽ chỉ vào vấn đề.

Theo video, sự kết nối này quan trọng vì code review thường là chuyện chính xác. Với một anchored comment, bạn chỉ ra đúng thay đổi và giải thích yêu cầu ngay bên cạnh nó. Sau đó ThinkRail mang context review ấy vào chat (tính năng mô tả trong video đăng ngày 30/10/2026).

Slide FEEDBACK GETS AN ADDRESS: Relevant code location và Your instruction gộp thành Anchored feedback rồi tới Agent
Slide "Feedback gets an address" (một luồng review mang tính khái niệm): "Relevant code location" và "Your instruction" gộp thành "Anchored feedback", ghi chú "Instruction connected to its location", rồi đi tới "Agent" (slide trong video đăng ngày 30/10/2026).

7. Shared plan, steer và sub-agent

Theo video (đăng ngày 30/10/2026), repository còn mô tả một shared plan mà agent cập nhật và bạn sửa được. Bạn định hình phần việc dự định trong lúc nó đang diễn ra, rồi nối feedback của mình với phần implementation tạo ra. Lên plan, chỉnh sửa và review nằm chung một workspace, thay vì trở thành những lần chép đi chép lại riêng rẽ.

Với các task dài hơn, theo video (đăng ngày 30/10/2026), mỗi bước plan đã hoàn thành có thể được commit và review riêng. Signal Coders gọi đó là một đơn vị tiến độ hữu ích: một bước cụ thể đi với một thay đổi code cụ thể. Bạn có thể xem một kết quả trung gian trước khi cả plan xong.

ThinkRail cũng cho bạn steer một turn đang chạy hoặc xếp hàng một follow-up, và hỗ trợ giao việc cho sub-agent (theo video đăng ngày 30/10/2026). Video nói đây là những cách khác nhau để giữ công việc tiến lên mà vẫn giữ quyền điều hướng của bạn. Plan trở thành thứ bạn chủ động quản lý.

Slide REVIEW PROGRESS STEP BY STEP với ba mốc Complete a plan step, Commit its code change, Review that result
Slide "Review progress step by step": ba mốc "Complete a plan step", "Commit its code change", "Review that result"; dòng dưới ghi "A specific step becomes a specific, reviewable code change" (slide trong video đăng ngày 30/10/2026).

8. Token và cost hiện trong từng session

Theo video (đăng ngày 30/10/2026), mỗi session Pi chạy đồng thời có model riêng và một chỉ số token và cost cập nhật trực tiếp. Video lưu ý repository không đưa ra một mức giá chung cho việc chạy các session này, nên không có một con số đô la duy nhất nào để gắn cho workflow. Thứ repository đưa ra là khả năng nhìn thấy trong từng cuộc hội thoại.

Khi bạn chọn chạy việc đồng thời, bạn thấy mức sử dụng được báo cáo ngay cạnh hoạt động (theo video đăng ngày 30/10/2026). Signal Coders nói tính song song dễ suy xét hơn nhiều khi giao diện có thứ gì đó nhiều thông tin hơn vài dấu hiệu "đang gõ" đầy nhiệt tình.

Pi session 1Pi session 2Pi session 3 model riêngmodel riêngmodel riêng token + cost trực tiếptoken + cost trực tiếptoken + cost trực tiếp
Hình 8.1Theo video (đăng ngày 30/10/2026): mỗi session có model và chỉ số token, cost riêng; repository không nêu một mức giá chung.

9. Từ branch tới pull request

Workflow theo branch tiếp tục ở thanh trên cùng (top bar). Theo video (đăng ngày 30/10/2026), ThinkRail cho thấy branch đang hoạt động đứng ở đâu so với origin và so với pull request của nó, kèm các thao tác publish, push hoặc mở PR, nối workspace với trạng thái chung của repository.

Signal Coders (video đăng ngày 30/10/2026) giải thích: một agent local có thể sửa xong, trong khi branch vẫn cần publish hoặc cập nhật. Đó là những bước khác nhau. Đưa chúng vào giao diện giúp bạn thấy việc gì thật sự đến tiếp theo. Task có thể đi từ code được sinh ra tới một thay đổi mà người khác review được.

Theo video (đăng ngày 30/10/2026), ThinkRail còn viết được mô tả pull request dựa trên plan, các commit, PR template của bạn, hoặc một bản nháp do agent viết. Những đầu vào này cho phần mô tả chất liệu gắn với chính công việc: plan giải thích kết quả dự định, commit ghi lại các thay đổi dọc đường, template cho cấu trúc mà repository của bạn vốn mong đợi. Bạn vẫn review kết quả, nhưng bản nháp đầu có một điểm xuất phát cụ thể. Video nói ngay cả một agent cũng đáng nhận một bản brief tốt hơn một ô text trống cộng sự tự tin vô hạn.

PlanCommitsPR templateAgent draft Mô tả pull request
Hình 9.1Bốn nguồn mà video (đăng ngày 30/10/2026) kể ra cho phần mô tả PR trong ThinkRail.

10. CI checks, merge và kệ cất workspace

Theo video (đăng ngày 30/10/2026), khi một pull request trên GitHub đã mở, ThinkRail hiển thị CI checks và quyết định review của nó. Bạn có thể đánh dấu PR là ready, giao các check bị lỗi hoặc một branch đã lệch (diverged) cho agent, và merge bằng phương thức mà repository dùng lần gần nhất. Nó cũng có thao tác mở lại PR hoặc xoá remote branch.

Signal Coders (video đăng ngày 30/10/2026) nói điểm kết nối quan trọng là phản hồi từ repository có thể trở thành task tiếp theo của agent. Một check bị lỗi xuất hiện bên trong một workflow vốn đã biết thay đổi đó thuộc workspace, branch và cuộc hội thoại nào.

Slide THE PR STAYS ACTIONABLE với bốn mục Inspect checks and review, Mark ready, Hand problems to the agent, Merge
Slide "The PR stays actionable": "Inspect checks and review" (CI checks and review decision), "Mark ready", "Hand problems to the agent" (failing checks or a diverged branch), "Merge" (repository's last-used method). Dòng dưới ghi đây là các thao tác có sẵn, không ngụ ý kết quả check nào (slide trong video đăng ngày 30/10/2026).

Workspace còn có cả một vòng đời sau khi phần thú vị kết thúc. Theo video (đăng ngày 30/10/2026), các workspace đã xong hoặc ngủ yên chuyển lên một kệ (shelf) riêng của từng project khi pull request của chúng được merge hoặc đóng, hoặc sau một tuần im ắng; chúng quay lại khi bạn làm việc trong đó lần nữa. Signal Coders gọi đây là một tính năng nhỏ với mục đích dễ nhận ra: giữ việc đang làm luôn hiện rõ, mà vẫn có đường quay về các task cũ. Video kết đoạn: hoá ra giai đoạn cuối của agentic development là phát hiện rằng branch của bạn cũng cần một tủ hồ sơ, và cái tủ này tự sắp xếp.

Slide SHELVE WORK, KEEP A RETURN PATH: các đường đi vào Per-project shelf, phía trên là Workspaces
Slide "Shelve work, keep a return path": các đường đi vào "Per-project shelf", phía trên là "Workspaces"; dòng dưới ghi "Merged, closed, or quiet → shelf. Work resumes → workspace returns." (slide trong video đăng ngày 30/10/2026).

11. Living specs: ý định sống cạnh code

Nền móng lớn còn lại là thứ JetBrains gọi là living specs. Theo video (đăng ngày 30/10/2026), ThinkRail giữ một đồ thị (graph) có kết nối gồm các file SPEC.md nằm cạnh code, và agent đọc, tìm kiếm, bảo trì các file này qua những spec tool chuyên dụng. Đây là cách repository mô tả durable project knowledge. Hành vi dự định của dự án có một dạng biểu diễn sống sót qua từng cuộc hội thoại riêng lẻ. Khi một session mới bắt đầu, agent có thứ gì đó rõ ràng để tham khảo, ngoài những gì bạn tình cờ nhớ để nhắc lại.

Slide INTENT LIVES BESIDE CODE với ảnh chụp mục Under the hood trong README của ThinkRail
Slide "Intent lives beside code": ảnh chụp mục "Under the hood" của README. Dòng cuối ghi ThinkRail được phát triển spec-first: một SPEC.md nằm cạnh mỗi module, và thay đổi nào dời một ranh giới, contract hay quyết định thì cập nhật spec trong cùng thay đổi đó (README chụp trong video đăng ngày 30/10/2026).

Signal Coders gợi ý một cách hiểu: tách implementation khỏi intent. Code cho thấy phần mềm hiện đang làm gì. Một bản đặc tả (specification) có thể giải thích nó lẽ ra phải làm gì, và vì sao một hành vi cụ thể lại quan trọng. Theo video (đăng ngày 30/10/2026), những mô tả này đặc biệt hữu ích khi nhiều thay đổi cùng chạm vào các phần liên quan của một dự án. Graph SPEC.md có kết nối của ThinkRail cho intent đó một chỗ nằm cạnh implementation.

Slide IMPLEMENTATION AND INTENT: thẻ CODE đối diện thẻ SPECIFICATION
Slide "Implementation and intent": thẻ "Code" (what the software currently does) đối diện thẻ "Specification" (what it should do, and why); dòng dưới ghi "Complementary descriptions of the same project" (slide trong video đăng ngày 30/10/2026).

12. Ví dụ: yêu cầu giữ thứ tự khi export

Theo video (đăng ngày 30/10/2026), agent có tool để điều hướng và bảo trì graph spec, khiến kiến thức dự án trở thành một phần của môi trường làm việc, chứ không phải một sản phẩm tạm thời của cuộc hội thoại.

Video (đăng ngày 30/10/2026) đưa một ví dụ: hãy tưởng tượng một dự án mà chức năng export phải giữ một thứ tự cụ thể. Implementation có thể thể hiện điều đó qua vài function, trong khi bản thân yêu cầu thì gói gọn trong một đặc tả ngắn. Nếu một task sau này đổi giao diện export, yêu cầu đã viết ra cho agent một thứ cụ thể để đọc.

Signal Coders (video đăng ngày 30/10/2026) nói rõ đây là minh hoạ vì sao living specs có thể giúp ích, chứ không phải một tính năng export đặc biệt nào trong ThinkRail. Cơ chế chung mới là phần hữu ích: đặt yêu cầu ở chỗ mà session sau tìm thấy và bảo trì được.

Yêu cầu:export giữ thứ tự Spec ngắnsession sau tìm thấy Task sauđổi giao diện export ví dụ minh hoạ, không phải tính năng export của ThinkRail
Hình 12.1Ví dụ minh hoạ mà video (đăng ngày 30/10/2026) dùng cho living specs.

13. Specs tool chỉ đọc, và cơ chế "học dự án"

Theo video (đăng ngày 30/10/2026), graph còn có một giao diện cho con người. Specs tool chỉ đọc (read-only) của ThinkRail hiển thị graph thành một cây trong workbench. Signal Coders lưu ý chữ "read-only" là nói về tool xem đó; repository nói riêng rằng agent bảo trì spec qua các tool chuyên dụng của nó. Vậy bạn có một cách để xem kiến thức dự án, còn agent có một cách để làm việc với nó. Theo video, sự phân biệt này làm thiết kế dễ hiểu hơn: có một biểu diễn nhìn thấy được của hệ thống dự định, và có các thao tác để giữ biểu diễn đó tham gia vào quá trình phát triển.

Khi JetBrains nói ThinkRail học dự án của bạn qua living specs, theo Signal Coders (video đăng ngày 30/10/2026), đây chính là cơ chế được mô tả. Kiến thức bền vững nằm trong tài liệu dự án và các skill dùng lại được. Tài liệu repository mà video dựa vào không mô tả quá trình huấn luyện model nào đứng sau cụm từ đó.

Đọc theo cách này, video (đăng ngày 30/10/2026) nói lợi ích trở nên khá cụ thể. Công việc sau này có thể dùng intent đã viết ra. Các quyết định trước của bạn có chỗ để tồn tại. Cuộc hội thoại tiếp theo có thể bắt đầu với tài liệu liên quan đã sẵn đó, thay vì phải kể lại đầy kịch tính thêm lần nữa vì sao trang settings lại hoạt động như vậy. Skills mở rộng cùng ý tưởng ấy sang các chỉ dẫn và workflow dùng lại được.

14. Skills, workflow có sẵn và PR qua gh

Theo video (đăng ngày 30/10/2026), ThinkRail đọc ngay tại chỗ các agent skill dạng portable mà bạn vốn giữ cho những coding agent khác. Video nói điều này quan trọng nếu bạn đã viết sẵn hướng dẫn cho cách muốn một số task được làm: môi trường dùng được chính tài liệu đó. Bên cạnh các skill ấy, có các workflow đi kèm (bundled) hướng dẫn việc setup dự án, brainstorm thiết kế và ship một pull request. Kiến thức dự án giải thích bạn đang build gì; hướng dẫn workflow dùng lại được giúp giải thích bạn muốn công việc được tiếp cận ra sao.

Workflow pull request dùng chính gh của bạn để push branch của workspace và mở hoặc cập nhật PR trên GitHub (theo video đăng ngày 30/10/2026). Signal Coders gọi đó là một kết nối cụ thể với môi trường phát triển sẵn có của bạn: công việc của agent trở thành một branch và một đề xuất review được, qua tooling do chính bạn cung cấp. Ghép với workflow plan và commit, nó tạo ra một đường đi từ yêu cầu ban đầu tới thứ mà một developer khác xem được. Theo video, đầu ra hữu ích không chỉ là một câu trả lời nói rằng task đã xong, mà là một thay đổi có kèm context.

Initial requestPlan and commitDeveloper review branch + PR qua gh của bạn
Hình 14.1Đường đi từ yêu cầu tới thay đổi review được, như video (đăng ngày 30/10/2026) trình bày.

15. Tool ngoài shell: câu hỏi, sơ đồ, mockup, và hai gói Pi

Theo video (đăng ngày 30/10/2026), ThinkRail còn cho agent những tool ngoài shell, gồm web research và các câu hỏi trắc nghiệm có cấu trúc ngay trong chat. Tool câu hỏi cho agent một cách hỏi bạn về một lựa chọn chưa ngã ngũ, thay vì đoán. Video dựng tình huống: một task có vài hành vi giao diện đều hợp lý. Agent đưa quyết định ra ngay chỗ bạn đang làm việc. Bạn trả lời, và task tiếp tục với lựa chọn đó được ghi rõ ra. Signal Coders nói một câu hỏi ngắn đúng lúc có thể trở thành một phần của đặc tả cho thay đổi.

Các tool trực quan hoá (visualization) đưa sơ đồ, so sánh lựa chọn và xem trước file thẳng vào cuộc hội thoại (theo video đăng ngày 30/10/2026). Với một thay đổi UI được đề xuất, repository nói ThinkRail hiện một mockup trước và sau mà bạn comment được như một diff. Theo video, điều này đưa một phần feedback lên sớm hơn: bạn phản hồi giao diện đề xuất trong lúc nó còn đang được bàn, bằng một dạng biểu diễn xem được thật. Một đoạn văn mô tả khoảng cách (spacing) có chỗ của nó; một mockup làm chuyện spacing bớt lý thuyết đi nhiều.

Slide INSPECT IDEAS INSIDE THE CHAT với bốn thẻ Diagrams, Option comparisons, File previews, Before-and-after mockup
Slide "Inspect ideas inside the chat": bốn thẻ "Diagrams", "Option comparisons", "File previews" và "Before-and-after mockup" ("Comment on the proposed UI like a diff"); dòng dưới ghi đây là tổng quan khái niệm về các tool trực quan hoá mà repository mô tả (slide trong video đăng ngày 30/10/2026).

Theo video (đăng ngày 30/10/2026), tool câu hỏi và tool trực quan hoá cũng có sẵn dưới dạng hai package Pi thuần. Repository đưa lệnh cài cho từng cái; trên màn hình là lệnh đầu tiên trong một "illustrative terminal", ghi chú "shown, not executed", còn lệnh thứ hai video đọc ra và README ghi như sau (đọc ngày 31/10/2026):

pi install npm:@thinkrail/pi-ask-user-question
pi install npm:@thinkrail/pi-visualize
Slide INSTALL THE TOOLS IN PI với terminal minh hoạ hiện lệnh pi install npm:@thinkrail/pi-ask-user-question
Slide "Install the tools in Pi": một terminal minh hoạ hiện lệnh cài package câu hỏi; dòng dưới ghi "Repository installation commands · shown, not executed" (slide trong video đăng ngày 30/10/2026).

Theo Signal Coders (video đăng ngày 30/10/2026), điều đó có nghĩa một Pi bản gốc chạy trong terminal cũng có được cùng các tool cho câu hỏi, sơ đồ và preview. Bạn dùng được các mảnh đó mà không cần chuyển cả workflow vào ThinkRail. Video gọi đây là một ví dụ cụ thể về chức năng được đóng gói cho agent nền bên dưới, đồng thời được trình bày qua IDE.

16. MCP server, đăng nhập provider và cấu hình Pi

Với tool bên ngoài, theo video (đăng ngày 30/10/2026), ThinkRail kết nối tới các MCP server trong cấu hình MCP của Pi, hoặc cho bạn thêm server và một vài preset qua Settings. Mỗi chat hiện danh sách server của nó cạnh các lệnh chạy nền và sub-agent. Video nói điều đó cho bạn một góc nhìn về các dịch vụ có sẵn trong cuộc hội thoại, ngay cạnh các hoạt động khác đang chạy. Không gian làm việc của agent vì thế có thể gồm nhiều hơn file và lệnh terminal: các tool đã kết nối có chỗ trong giao diện, giúp bạn theo dõi bối cảnh mà một task đang được thực hiện.

Repository mô tả các nút điều khiển cụ thể quanh những kết nối đó (theo video đăng ngày 30/10/2026). ThinkRail hỏi trong chat trước những lần gọi mà server không đánh dấu là read-only, kèm lựa chọn luôn cho phép các tool bạn tin trong một project. Server do một repository định nghĩa vẫn tắt cho tới khi bạn duyệt. Với server dùng OAuth, bạn đăng nhập từ Settings. Video gọi đây là những quy tắc tương tác cụ thể: một kết nối được bật thế nào, khi nào giao diện hỏi, và việc xác thực diễn ra ở đâu. Chúng biến quyền truy cập tool bên ngoài thành thứ bạn cấu hình được ngay trong workflow phát triển.

Slide CONFIGURE EXTERNAL TOOL ACCESS với ba thẻ Authentication, Activation, Call permissions
Slide "Configure external tool access": "Authentication" (OAuth sign-in happens in Settings), "Activation" (rules govern when a connection becomes active), "Call permissions" (rules govern when the interface asks) (slide trong video đăng ngày 30/10/2026).

Xác thực cho coding agent cũng theo một cách sắp xếp trực tiếp như vậy. Theo video (đăng ngày 30/10/2026), bạn có thể đăng nhập bằng JetBrains AI hoặc kết nối một provider qua cơ chế xác thực riêng của Pi. ThinkRail không có tài khoản riêng của nó. Repository trình bày IDE như một giao diện bao quanh agent và cách bạn setup provider, với credential của bạn là thứ tạo kết nối. Signal Coders nói điều đó khớp với thiết kế chung: workspace của project, các cuộc hội thoại, tool và bề mặt review được lắp quanh Pi, còn quyền truy cập provider đi qua những con đường mà repository nêu rõ là hỗ trợ.

Theo video (đăng ngày 30/10/2026), ThinkRail còn đọc cấu hình Pi sẵn có của bạn ở ~/.pi/agent. Nếu muốn dùng một cấu hình khác, repository đưa ví dụ ~/.pi/agent-personal, chọn được qua Settings. Ở đó bạn cũng đặt thêm biến môi trường cho agent, terminal và MCP server.

~/.pi/agent
~/.pi/agent-personal

Video nói điều này cho setup sẵn có của bạn một đường đi vào IDE, kèm các nút để chọn một cấu hình khác. Chi tiết quan trọng, theo Signal Coders (video đăng ngày 30/10/2026), là cấu hình tới được các thành phần thật sự làm việc, gồm terminal và các dịch vụ đã kết nối, chứ không dừng ở giao diện chat.

17. Extension: thứ đã có và thứ đang tới

Giờ video quay lại lời hứa lớn hơn: một IDE tự build năng lực của chính nó. Theo video (đăng ngày 30/10/2026), ThinkRail đã có các extension cho agent dùng, và mục Settings, Extensions liệt kê chúng, cho bạn tắt từng cái. Repository mô tả hỗ trợ extension đầy đủ là bước tiếp theo; hướng đi tương lai đó là ThinkRail tạo ra các tool nó cần dựa trên cách bạn làm việc. Signal Coders nói các nút điều khiển extension hiện có và năng lực lớn hơn đang được lên kế hoạch là cùng một câu chuyện ở hai giai đoạn phát triển khác nhau. Tài liệu mà video dựa vào (tính đến ngày video đăng, 30/10/2026) không công bố ngày phát hành hay đặc tả đầy đủ cho phần hỗ trợ extension rộng hơn đó.

Theo video đăng ngày 30/10/2026, mô tả cụ thể tính đến thời điểm đó bao gồm worktrees, các session Pi đồng thời, living specs, skills dùng lại được, tool review và các dịch vụ kết nối. Theo video, những tính năng này dựng nên môi trường mà các năng lực tương lai sẽ vận hành bên trong. Signal Coders gọi lời hứa của repository là đầy tham vọng, nhưng kiến trúc hiện tại thì dễ giải thích: cho agent kiến thức dự án, một chỗ làm việc có phạm vi, và một con đường để biến đầu ra của nó thành các thay đổi đã được review.

Với bạn, một developer, theo video (đăng ngày 30/10/2026), workflow có thể trở thành một vòng lặp liên tục. Bắt đầu một task trong một workspace worktree. Để Pi làm việc với spec của dự án và các skill dùng lại được của bạn. Chỉnh shared plan, trả lời một câu hỏi có cấu trúc, hoặc review một giao diện được đề xuất. Xem các thay đổi trong Monaco, gắn feedback vào một diff, rồi đưa branch thành một pull request trên GitHub. CI và review sau đó cung cấp thông tin tiếp theo mà công việc cần. Mỗi phần có một bề mặt cụ thể trong môi trường.

Slide START THE WORKING LOOP với bốn bước Start in a worktree, Give Pi specs and skills, Adjust the shared plan, Answer or review
Slide "Start the working loop": "01 Start in a worktree", "02 Give Pi specs and skills", "03 Adjust the shared plan", "04 Answer or review" (respond to a structured question or review a proposed interface) (slide trong video đăng ngày 30/10/2026).

Theo Signal Coders (video đăng ngày 30/10/2026), đó là góc mạnh nhất của ThinkRail: agent dễ làm việc cùng hơn khi intent, hoạt động và đầu ra của chúng luôn được nối với nhau. Branch giữ thay đổi. SPEC.md giữ yêu cầu. Plan phơi bày các bước. Review comment chỉ vào đúng dòng code. Và pull request cho công việc một đích đến mà repository của bạn vốn hiểu. Hỗ trợ extension đầy đủ sẽ thêm một chiều nữa cho hệ thống đó. Còn ở thời điểm video đăng (30/10/2026), video kết: JetBrains đã cho các "vibe" một workspace, một bản đặc tả, và một chỗ để đặt diff.

Nguồn và liên kết 7 nguồn

  1. Tên gốc: JetBrains put agents in an IDE... now it wants the IDE to build its own tools
  2. Sự kiện: YouTube
  3. Video gốc: https://www.youtube.com/watch?v=pApDis7nTxI youtube.com
  4. Kênh YouTube Signal Coders (Signal Coders): youtube.com/channel/UC7yAoSA9GMMbEq-UOq63DMQ youtube.com
  5. Repo ThinkRail của JetBrains, README có các mục What you get, Install và Under the hood (đọc ngày 31/10/2026): github.com/JetBrains/thinkrail github.com
  6. Thư mục pi-extensions trong repo ThinkRail, chứa hai extension ask-user-question và visualize (đọc ngày 31/10/2026): github.com/JetBrains/thinkrail/tree/main/pi-extensions github.com
  7. Repo của Pi coding agent (đọc ngày 31/10/2026): github.com/earendil-works/pi github.com