JetBrains merilis ThinkRail, IDE agentic eksperimental yang membungkus coding agent pi di dalam workbench seperti Visual Studio Code, lalu mengisolasi setiap pekerjaan agent ke git worktree sendiri. Proyek insinyur ini menyediakan dua bentuk distribusi sekaligus, aplikasi desktop dan CLI thinkrail, keduanya dengan checksum SHA256SUMS di halaman rilisnya.
TL;DR
- Setiap pekerjaan agent berjalan di git worktree terpisah dengan branch dan direktori kerja sendiri, sehingga beberapa agent bisa jalan paralel tanpa menyentuh checkout utama.
- Konteks proyek disimpan sebagai graf berkas SPEC.md yang dibaca dan dipelihara agent lewat perkakas spec_*, sehingga maksud perubahan tidak hilang antar sesi.
- Build desktop Linux butuh glibc 2.38 atau lebih baru plus GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3, dan librsvg 2, artinya Ubuntu 24.04 ke atas.
- ThinkRail tidak punya akun sendiri: autentikasi memakai JetBrains AI atau kredensial provider milik pengguna.
Apa yang membuat ThinkRail berbeda dari editor agentic lain?
Isolasi kerja berbasis git worktree. ThinkRail membuka repositori sebagai proyek, lalu memotong workspace dari repositori itu sebagai git worktree, masing-masing dengan branch dan direktori kerja sendiri. Agent bekerja di dalam worktree tersebut, sehingga checkout yang sedang dipakai programmer tidak ikut berubah.
Pola ini menyelesaikan masalah praktis yang muncul ketika beberapa sesi agent berjalan bersamaan. Tanpa isolasi, dua agent yang mengedit berkas yang sama akan saling menimpa, dan hasil review menjadi tidak bisa dipercaya karena diff tidak lagi mencerminkan satu perubahan tunggal. Dengan satu worktree per pekerjaan, setiap hasil bisa diperiksa sebagai satu perubahan mandiri, digabung kalau bagus, dihapus kalau tidak.
Manajemen workspace-nya juga tidak menuntut disiplin manual. Workspace yang selesai atau menganggur akan menurun sendiri ke rak per proyek, entah karena pull request-nya sudah digabung atau ditutup, atau karena sudah sepekan tidak disentuh, dan kembali muncul begitu dikerjakan lagi. Topbar menampilkan posisi branch aktif terhadap origin dan pull request-nya, dengan langkah berikutnya satu klik jauhnya: publish, push, atau buka PR.
Bagaimana spesifikasi proyek dijaga tetap hidup antar sesi?
Lewat graf berkas SPEC.md yang hidup berdampingan dengan kode. Agent membaca, mencari, dan memelihara graf itu melalui perkakas khusus spec_*, sehingga maksud perubahan bertahan melampaui satu sesi percakapan.
Ini perbedaan penting dibanding editor yang mengandalkan riwayat chat. Riwayat chat hilang ketika konteks penuh atau sesi ditutup, sedangkan berkas spec tetap ada di repositori dan bisa direview seperti kode. Perkakas Specs yang bersifat read-only menampilkan graf itu sebagai pohon di workbench, jadi manusia pun bisa melihat struktur maksud proyeknya, bukan hanya agent.
Di samping spec, ThinkRail membaca Agent Skills portabel yang selama ini dipakai untuk coding agent lain, tanpa perlu konversi. Ada juga alur kerja bawaan yang memandu penyiapan proyek, brainstorming desain, dan pengiriman pull request, dengan push branch serta pembukaan PR di GitHub dilakukan melalui gh milik pengguna sendiri.
Apa saja yang bisa dilakukan beberapa sesi agent secara bersamaan?
ThinkRail mengizinkan beberapa sesi pi berjalan serentak di satu workspace, masing-masing dengan model dan pembacaan token serta biaya sendiri. Satu sesi bisa diarahkan saat sedang berjalan, atau diberi lanjutan yang menunggu antrean. Delegasi ke subagent juga tersedia, begitu pula rencana bersama yang diperbarui agent dan bisa diedit manusia, di mana setiap langkah yang selesai dapat di-commit dan direview sendiri-sendiri.
Bagian MCP juga ditangani dengan hati-hati. ThinkRail menyambungkan server MCP yang ada di mcp.json milik pi, atau menambahkannya dari pengaturan. Untuk panggilan yang tidak ditandai read-only oleh server, ThinkRail bertanya lebih dulu di chat, kecuali pengguna sudah mempercayai perkakas tertentu di sebuah proyek. Server yang didefinisikan oleh repositori dibiarkan mati sampai pengguna menyetujuinya, dan login OAuth dilakukan dari pengaturan.
| Aspek | Aplikasi desktop | CLI thinkrail |
|---|---|---|
| Distribusi | Installer native per platform, checksum SHA256SUMS di halaman rilis | Skrip install yang mengunduh biner, memverifikasi SHA-256, lalu menaruh perintah di PATH |
| Platform | macOS Apple Silicon, Windows x64, Linux x64 dan ARM64 | macOS, Linux, Windows melalui Git Bash |
| Prasyarat Linux | glibc 2.38 atau lebih baru, GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3, librsvg 2 | git di PATH dan satu provider model |
| Pembaruan | Pemeriksaan latar belakang, lalu Download, Preparing update, Install and Restart | Jalankan ulang skrip install, atau pakai kanal dan versi tertentu |
Bagaimana cara memasang dan menjalankannya di Linux?
Untuk Linux, ekstrak tarball setup lalu jalankan installer di dalamnya, dan untuk CLI jalankan skrip install resmi yang tersedia di repositori ThinkRail. Build desktop Linux menuntut glibc 2.38 atau lebih baru dengan GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3, dan librsvg 2, yang berarti Ubuntu 24.04 atau lebih baru.
Skrip installer CLI menerima argumen kanal dan versi, misalnya kanal nightly atau versi tertentu yang harus berada di kanal yang dipilih. Setelah terpasang, perintah thinkrail bisa langsung diberi path repositori untuk dibuka sebagai proyek. Kedua bentuk distribusi menempelkan checksum SHA256SUMS di halaman rilis, jadi verifikasi manual tetap bisa dilakukan sebelum menjalankan binernya.
Pada build desktop paket stabil dan nightly, pembaruan diperiksa di latar belakang dan ditawarkan di menu pengaturan. Tidak ada yang diterapkan sebelum pengguna memilih Install and Restart, dan setelah restart aplikasi memberi tahu apakah pembaruan berhasil atau gagal beserta alasannya. Fitur updater hanya muncul kalau paketnya membawa identitas feed HTTPS yang valid, sehingga instalasi lama perlu satu pemasangan manual lebih dulu.
Soal bahasa, antarmuka ThinkRail mengikuti bahasa sistem atau pilihan pengguna dengan Inggris dan Simplified Chinese sebagai bawaan. Bahasa lain bisa ditambahkan dengan menaruh berkas en.json terjemahan di direktori ~/.thinkrail/locales, dan langsung berlaku saat disimpan. Balasan agent serta keluaran perkakasnya tetap ditampilkan apa adanya sesuai yang ditulis agent.
Rincian fitur dan cara pasang lengkap ada di repositori JetBrains ThinkRail dan situs resminya di thinkrail.ai. ThinkRail sendiri adalah proyek insinyur JetBrains, jadi versi dan cakupan fiturnya masih bergerak, dan halaman rilis di daftar rilis GitHub adalah rujukan paling akurat untuk aset per platform.
Untuk autentikasi, ThinkRail tidak menyediakan akun sendiri. Pengguna masuk dengan JetBrains AI atau menyambungkan provider apa pun melalui mekanisme autentikasi pi, dan agen pi yang menjadi mesinnya tersedia sebagai paket npm di @earendil-works/pi-coding-agent.
Apa arti isolasi worktree bagi alur review kode?
Artinya setiap hasil agent bisa diperiksa sebagai satu perubahan mandiri. Git worktree adalah checkout tambahan dari repositori yang sama dengan branch sendiri, jadi agent yang bekerja di dalamnya tidak mengubah berkas di checkout utama dan tidak mengganggu pekerjaan yang sedang berjalan di sana.
Bagi alur review, konsekuensinya besar. Diff yang diperiksa mencerminkan satu pekerjaan, bukan campuran beberapa percobaan yang saling menimpa. Jika hasilnya bagus, branch-nya digabung seperti pull request biasa; jika tidak, worktree-nya dibuang tanpa meninggalkan jejak di checkout utama. Ini juga yang membuat beberapa pekerjaan bisa berjalan paralel tanpa saling mengunci, karena konflik hanya muncul saat penggabungan, bukan saat pengerjaan.
Yang perlu disadari, isolasi bukan pengganti review. Agent tetap bisa menghasilkan perubahan yang salah dengan sangat percaya diri, dan worktree hanya menjamin kesalahannya terisolasi serta mudah dibuang. Keputusan menggabungkan tetap milik manusia, dan di ThinkRail keputusan itu diambil setelah melihat diff, hasil pemeriksaan CI, serta status review dari pull request-nya.
Ada satu konsekuensi operasional yang jarang dibahas: worktree memakai ruang disk sendiri, dan beberapa worktree yang menganggur bisa menumpuk tanpa disadari. Rak per proyek di ThinkRail membantu secara visual, tetapi kebiasaan membersihkan workspace yang sudah selesai tetap perlu dibangun, terutama pada repositori besar yang punya banyak aset biner.
Apa yang perlu diperiksa sebelum memakainya di tim?
Periksa dulu prasyarat platform, karena build desktop Linux menuntut glibc 2.38 atau lebih baru beserta GTK 3, WebKitGTK 4.1, Ayatana AppIndicator 3, dan librsvg 2. Distribusi lama akan gagal di jalur ini, dan itu jauh lebih baik diketahui sebelum tim memasangnya.
Kedua, putuskan kebijakan MCP sejak awal. ThinkRail meminta persetujuan untuk panggilan yang tidak ditandai read-only, dan server yang didefinisikan repositori tetap mati sampai disetujui. Pada tim, keputusan itu sebaiknya tidak diserahkan per orang, karena server yang dipercaya di satu mesin bisa berbeda dengan kebijakan keamanan organisasi.
Ketiga, siapkan jalur autentikasi. ThinkRail tidak punya akun sendiri, jadi kredensial provider atau langganan JetBrains AI harus sudah ada sebelum dipakai. Terakhir, tetapkan siapa yang menggabungkan perubahan. Alat yang memudahkan agent membuka pull request tetap butuh satu orang yang bertanggung jawab atas penggabungannya.
Jangan lewatkan juga keputusan soal kanal pembaruan. CLI menerima pilihan kanal stabil atau nightly, dan keduanya memberi konsekuensi berbeda: kanal stabil lebih jarang berubah tapi ketinggalan fitur, sedangkan kanal nightly memberi fitur terbaru dengan risiko regresi. Pada mesin yang dipakai bekerja sehari-hari, pilihan yang wajar adalah stabil, dan nightly hanya di mesin percobaan. Verifikasi checksum SHA256SUMS sebelum menjalankan biner hasil unduhan tetap layak dijadikan kebiasaan, terutama kalau unduhannya dilakukan di mesin yang punya akses ke repositori internal.
FAQ
Apakah ThinkRail bisa dipakai di macOS Intel?
Tidak ada build desktop untuk Intel. Distribusi desktop macOS hanya tersedia untuk Apple Silicon, jadi pengguna Mac Intel perlu memakai jalur CLI atau mesin lain. Batasan ini disebut eksplisit di dokumentasi pemasangan repositori.
Apakah ThinkRail menghapus branch kerja saya sendiri?
Tidak. Agent bekerja di git worktree terpisah dengan branch sendiri, sehingga checkout utama tidak disentuh selama agent bekerja. Penggabungan branch dilakukan setelah pengguna memeriksa hasilnya, dan branch yang tidak dipakai bisa dihapus manual.
Apakah server MCP bisa dipakai tanpa persetujuan?
Tidak untuk panggilan yang menulis. ThinkRail bertanya lebih dulu di chat untuk panggilan yang tidak ditandai read-only oleh server, dan server MCP yang didefinisikan oleh repositori tetap mati sampai pengguna menyetujuinya. Perkakas yang dipercaya bisa dikecualikan per proyek.
Bagaimana cara menambah bahasa antarmuka yang belum tersedia?
Taruh berkas terjemahan bernama en.json di dalam direktori ~/.thinkrail/locales, dan bahasanya berlaku begitu berkas disimpan. Balasan agent dan keluaran perkakas tidak diterjemahkan karena ditampilkan seperti aslinya.
Rekomendasi Tools & Layanan
Kalau lo mau langsung praktikkan panduan di atas, dua layanan yang gue pake sehari-hari: free trial Alibaba Cloud buat coba-coba tanpa biaya di awal, dan ECS instance 9th-gen kalau udah siap naik ke VPS production.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬