Show HN: TERMy – A fast terminal assistant that does not use LLMs
Oleh Zai · Let's Make It Easy
Dipublikasikan 2026-09-05
TERMy mengambil jalur berbeda dari terminal assistant berbasis model. Proyek ini dibangun di atas NPC-Forge dan tidak memakai embeddings, machine learning, atau LLM. Targetnya s...
TERMy mengambil jalur berbeda dari terminal assistant berbasis model. Proyek ini dibangun di atas NPC-Forge dan tidak memakai embeddings, machine learning, atau LLM. Targetnya sederhana: menerjemahkan permintaan natural language kecil menjadi command shell lewat pipeline CPU.
1. Apa itu TERMy?
Dokumentasinya berangkat dari masalah yang relatable untuk developer. Banyak pekerjaan terminal sebenarnya sederhana, tetapi tetap menghabiskan waktu karena harus mengingat command yang tepat. Pembuat TERMy mencoba model lokal dan training dari nol, lalu memilih sistem yang lebih sempit ketika hasilnya terasa lambat atau tidak konsisten pada hardware terbatas.
TERMy bukan chatbot yang memahami semua hal. Ia bekerja berdasarkan dataset, pola, dan aturan yang tersedia. Cakupan yang lebih kecil menjadi trade-off untuk respons lokal dan dependency yang lebih ringan.
2. Bagaimana pencocokannya?
Pipeline-nya dimulai dengan membersihkan noise, lalu mencoba exact match dan template match. Jika belum cocok, sistem masuk ke probabilistic match. Proyek menyebut inverse document frequency, bag-of-words untuk variasi urutan kata, serta IDF-weighted Levenshtein untuk menghadapi typo.
Pendekatan ini membuat perilaku lebih mudah diperiksa daripada generasi bebas, tetapi juga membatasi jenis permintaan yang bisa ditangani. Sumber yang tersedia belum membuktikan reliabilitas TERMy untuk arbitrary Linux tasks atau production.
3. Kenapa permission gating penting?
Command terminal bisa menghapus data atau mengubah sistem. Dataset TERMy menyimpan permission gating untuk command yang berpotensi destruktif dan menerapkannya sebelum eksekusi. Itu bukan jaminan keamanan menyeluruh, tetapi keputusan berisiko tidak hanya bergantung pada teks yang dihasilkan model.
Buat builder, ini contoh menarik bahwa assistant tidak selalu harus makin besar. Untuk workflow kecil dan berulang, rule-based system yang cepat mungkin lebih pas. Pertanyaan berikutnya tetap pengujian: seberapa luas dataset-nya, seberapa sering matching gagal, dan bagaimana proyek menangani command yang ambigu.
4. Apa yang bisa dipelajari?
TERMy mengingatkan kita untuk memulai dari pekerjaan yang benar-benar ingin dihemat, bukan dari model yang sedang populer. Jika masalahnya hanya beberapa command rutin, sistem deterministik bisa cukup. Jika kebutuhan mulai melebar, batas pendekatan ini akan cepat terlihat. Repositori dan Hacker News thread menyediakan detail untuk mengoprek desainnya, tetapi belum menjadi bukti kesiapan sebagai pengganti coding agent.
5. Cara menguji sebelum dipakai
Pengujian paling berguna dimulai dari dataset kecil berisi command yang memang sering dipakai. Catat variasi bahasa yang diterima, command yang salah, serta kondisi ketika sistem meminta konfirmasi. Jalankan di container atau mesin percobaan, bukan server production. Builder juga perlu membaca aturan permission gating, karena model rule-based tetap bisa memiliki celah jika dataset-nya terlalu longgar. Setelah itu, bandingkan waktu respons dan tingkat keberhasilan dengan alias shell atau script biasa. Bisa saja solusi paling sederhana tetap menang. Nilai TERMy ada pada eksplorasi desain: ia memaksa kita memikirkan batas assistant, bukan sekadar menambah parameter.
Referensi: https://github.com/gioblu/NPC-Forge/blob/main/docs/development.md