- Pi adalah agen coding minimalis berbasis terminal yang menyediakan struktur yang dapat diperluas sesuai workflow pengguna
- Pengguna dapat menyusun lingkungan pengembangan mereka sendiri dengan menggabungkan ekstensi TypeScript, skill, template prompt, dan tema, lalu membagikannya sebagai paket npm atau git
- Mendukung lebih dari 15 penyedia AI dan ratusan model, serta memungkinkan pergantian model di tengah sesi atau penambahan model kustom
- Sesi disimpan sebagai riwayat berbentuk pohon, sehingga dapat kembali ke titik sebelumnya atau mengekspor ke HTML·GitHub gist
- Dengan meminimalkan fitur inti dan mempertahankan filosofi desain yang berpusat pada ekstensibilitas, pengembang dapat langsung mengimplementasikan hanya fitur yang dibutuhkan atau menambahkannya sebagai paket
Ikhtisar Pi
- Pi adalah harness coding terminal dengan struktur yang memungkinkan pengguna menyesuaikan alat tanpa mengubah workflow mereka
- Sebagai komponen yang dapat diperluas, Pi mendukung ekstensi TypeScript, skill, template prompt, dan tema
- Paket pi yang membundel komponen-komponen ini dapat dipasang dan dibagikan melalui npm atau git
- Konfigurasi bawaannya kuat, tetapi tidak menyertakan fitur seperti sub-agent atau mode plan
- Menyediakan empat mode (interaktif, print/JSON, RPC, SDK), dan contoh integrasi nyata dapat dilihat di clawdbot
Model dan penyedia
- Mendukung lebih dari 15 penyedia dan ratusan model, termasuk Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama dan lainnya
- Autentikasi dapat dilakukan dengan API key atau OAuth
- Ganti model selama sesi dengan perintah
/model atau Ctrl+L, dan putar model favorit dengan Ctrl+P
- Model kustom dapat ditambahkan melalui models.json atau ekstensi
Manajemen sesi
- Sesi disimpan dalam struktur pohon, dan titik sebelumnya dapat diakses dengan perintah
/tree
- Semua cabang disimpan dalam satu file, serta mendukung pemfilteran jenis pesan dan pelabelan bookmark
- Dengan
/export dapat mengekspor ke HTML, dan dengan /share dapat mengunggah ke GitHub gist serta membuat URL berbagi
Rekayasa konteks
- Memungkinkan kontrol yang rinci atas context window melalui prompt sistem minimal dan ekstensibilitas
- AGENTS.md: otomatis memuat panduan proyek saat mulai
- SYSTEM.md: mengganti atau menambahkan prompt sistem dasar per proyek
- Compaction: secara otomatis merangkum pesan sebelumnya saat mencapai batas konteks; melalui ekstensi, dapat diterapkan ringkasan berbasis topik atau ringkasan yang memahami kode
- Skills: paket fungsi yang dimuat saat diperlukan, menjaga cache prompt sambil menyediakan fitur secara bertahap
- Prompt templates: prompt yang dapat digunakan ulang dan diperluas dengan perintah
/name
- Dynamic context: melalui ekstensi, dapat menyisipkan pesan, memfilter riwayat, mengimplementasikan RAG, dan membangun memori jangka panjang
Queueing pesan
- Pesan tetap dapat dikirim saat agen sedang bekerja
Enter: pesan steering yang diteruskan setelah eksekusi alat saat ini selesai
Alt+Enter: pesan follow-up yang diteruskan setelah pekerjaan selesai
Struktur ekstensi
- Pi dirancang berpusat pada komponen primitif (Primitives), bukan fitur jadi, sehingga pengguna dapat mengimplementasikan fitur sendiri
- Ekstensi berbentuk modul TypeScript, dengan akses ke alat, perintah, shortcut, event, dan seluruh TUI
- Contoh ekstensi: sub-agent, mode plan, gate izin, perlindungan path, eksekusi SSH, sandboxing, integrasi MCP, editor kustom, overlay dan lain-lain
- Bahkan ada ekstensi overlay game, seperti contoh “Yes, Doom runs.”
- Jika tidak ingin mengimplementasikan sendiri, fitur dapat ditambahkan dengan memasang paket pi
- Lebih dari 50 contoh ekstensi tersedia secara publik di GitHub
Manajemen paket
- Ekstensi, skill, prompt, dan tema dapat dibundel sebagai paket lalu dipasang dari npm atau git
- Paket dapat dicari dan dibagikan melalui kata kunci npm
pi-package atau channel Discord
Mode integrasi
- Interactive: lingkungan TUI penuh
- Print/JSON:
pi -p "query" untuk skrip, --mode json untuk event stream
- RPC: mendukung integrasi lingkungan non-Node melalui protokol JSON berbasis stdin/stdout
- SDK: dapat di-embed ke dalam aplikasi, dengan contoh penggunaan nyata di clawdbot
Filosofi desain
- Pi dirancang untuk memaksimalkan ekstensibilitas dengan meminimalkan inti, sehingga pengguna dapat mendefinisikan sendiri workflow mereka
- Fitur seperti MCP, sub-agent, popup izin, mode plan, TODO bawaan, background bash tidak disertakan
- Sebagai gantinya, fungsi yang sama dapat diimplementasikan melalui ekstensi, skill, dan paket, atau dihubungkan ke alat eksternal
- Mendukung eksekusi dan observasi paralel melalui tmux
- Pendekatan ini memungkinkan penyusunan lingkungan pengembangan yang dipimpin pengguna
- Filosofi keseluruhannya dijelaskan lebih lanjut dalam blog post terkait
2 komentar
Aku suka banget sama pi.
Pendapat Hacker News
Yang membuat Pi dan fenomena "claw" menarik bagiku adalah karena ini menunjukkan masa depan open source
Sekarang, alih-alih mengirim permintaan fitur atau PR, kita memasuki era ketika orang mengunduh file skill yang memberi tahu agen coding cara menambahkan fitur
Software tidak lagi menjadi hasil akhir yang statis, melainkan alat hidup yang berbeda untuk tiap pengguna
Aku penasaran tooling seperti apa yang akan muncul dari paradigma kolaborasi baru ini
Software saat ini membuat pengguna tidak bisa mengendalikan lingkungannya, sehingga menimbulkan rasa keterasingan
Namun software yang dipersonalisasi, murah, dan fleksibel bisa memberi rasa kepemilikan yang nyata
Dulu desktop Linux memberi kebebasan seperti itu, dan sekarang sepertinya semua orang bisa menikmati manfaat itu
Aku optimistis terhadap masa depan seperti ini
Ke depan, sepertinya akan makin banyak software yang sangat dipersonalisasi — sampai pada tingkat yang hanya dipahami oleh individu tertentu atau kelompok kecil
Belakangan ini aku banyak membuat tool dengan Claude yang hanya kupakai bersama beberapa orang
Misalnya aplikasi penjadwalan DnD, pengecek berita Formula E tanpa spoiler, dan situs voting koperasi panjat tebing
Dulu tidak ada alasan untuk membuat hal-hal seperti ini, tetapi sekarang jadi memungkinkan
Tulisan terkait sudah kurangkum di Releasing Software Now
Perusahaan besar atau pemerintah tidak mungkin mengizinkan sistem yang tidak konsisten seperti ini
Justru menurutku yang akan muncul adalah alat yang lebih buruk
Aku sudah terbiasa dengan OpenCode dan sedang mempertimbangkannya sebagai workspace AI pribadi
Ekosistem Pi memang kecil, tetapi fleksibilitas dan ekstensibilitasnya lebih besar, dan semangat komunitasnya juga terasa
Aku penasaran apakah lebih baik memakai Pi daripada OpenCode, dan opsi UI apa saja yang tersedia
Aku pernah memakai OpenCode berbasis file .md untuk menulis dan mengorganisasi catatan, dan itu cukup cocok
Sekarang aku sedang mencari harness baru yang lebih sesuai untuk pekerjaan ini
Ini harness favoritku belakangan ini
Karena bisa diperluas sendiri, efisiensinya tinggi, dan aku sudah mengintegrasikannya ke proyek vibes
Jauh lebih cepat daripada ACP
Aku sedang mencari protokol interaksi agen serbaguna, dan ACP adalah salah satu kandidatnya
Tetapi kalau bahkan OpenCode pun tidak memakai ACP di UI-nya, sepertinya memang ada sesuatu yang bermasalah
Aku juga ingin tahu apakah ada opsi pengganti yang lebih baik
Aku belum pernah melihat orang yang memakai Pi selama beberapa hari lalu tidak menjadikannya alat harian
Begitu merasakan kebebasan untuk menyetel tool sesuai selera sendiri, sulit untuk kembali
Ditambah lagi, di atasnya kita bisa membuat ekstensi yang keren
Ekstensibilitas Pi memang menarik, tetapi kualitas kerja nyatanya terasa kurang
Aku tidak mengerti kenapa harus repot coding lewat aplikasi terminal
Hal yang sama bisa dilakukan lebih baik lewat ekstensi IDE, dan di VSCode pun tata letak jendela bisa dipulihkan seperti semula
Rasanya seperti memberi instruksi ke rekan developer lewat chat teks
Misalnya aku menyerahkan program pemeliharaan server ke Claude, lalu mengerjakan hal lain dan hanya mengecek hasilnya nanti
Kalau tes lolos, seperti apa bentuk kodenya tidak terlalu penting
Dalam praktiknya, hanya dengan sekitar 15 menit kerja aktif, aku bisa menjalankan beberapa tugas sekaligus
Aku memakai Pi lewat paket pi-coding-agent untuk Emacs
Dalam mode RPC, ia membuat buffer Markdown untuk input/output, jadi jauh lebih nyaman daripada TUI lain
Aku juga dengan mudah menghubungkannya ke issue tracker, dan mendefinisikan ulang perintah
readdanwriteberbasis buffer EmacsAku juga ingin mencoba meningkatkan perintah
editdengan memanfaatkan query tree-sitter milik EmacsSelain itu, lewat perintah
emacs_eval, aku juga membuat penelusuran dokumentasi lewat EWW menjadi mungkinreaddanwriteke buffer EmacsSebagai referensi, mode Pi untuk Emacs bisa diinstal di sini
Aku juga sedang menambahkan fitur agar file terkait bisa langsung dibuka dari hasil pemanggilan
read,write, daneditSebentar lagi juga akan ada dukungan untuk penelusuran sesi dan tree Pi serta integrasi Magit
Aku mulai dengan Pi, lalu selama 2 minggu terakhir memakai oh-my-pi
Repositori oh-my-pi adalah versi batteries-included dari Pi
Aku juga jadi ingin mengkloning proyek yang ada lalu merilisnya dengan nama lain
Misalnya sesuatu seperti "Waterfox — konsumen web minimalis"
Versi Pi yang sudah dikonfigurasi sebelumnya: oh-my-pi
Diperlukan lingkungan terisolasi agar bisa dipasang dan diuji dengan aman seperti aplikasi
Aku berpindah dari codex/claude code → opencode → pi → oh-my-pi
Suatu saat aku ingin mencobanya sendiri
Daya tarik Pi ada pada keringanan dan otonominya, sedangkan oh-my-pi punya terlalu banyak fitur sehingga memberi kesan berat seperti OpenCode
Pi benar-benar membuat pilihan desain yang luar biasa
Salut untuk Mario dan Armin — selera yang bagus memang akan terlihat pada akhirnya