4 poin oleh GN⁺ 2024-09-18 | 1 komentar | Bagikan ke WhatsApp
  • Void adalah fork VS Code yang dibuat agar bisa menggunakan agen AI di codebase, memvisualisasikan perubahan sebagai checkpoint, serta membawa model atau host lokal, tetapi kini berstatus deprecated dan tidak lagi menerima kontribusi
  • Proyek ini tetap bersifat open source, dan pengembang yang ingin melakukan fork pada VS Code dapat merujuk pada logika dan struktur Void
  • README menyebut integrasi React + Tailwind, GitHub Actions untuk packaging, penandatanganan, dan pembaruan otomatis, serta kode AI provider yang diimplementasikan sendiri, juga struktur untuk menangani IPC dan CSP sebagai referensi
  • Void menyatakan bahwa pesan dikirim langsung ke provider dan tidak menyimpan data, serta mendukung sintaks respons seperti autocomplete(FIM), tag <thinking>, dan tag tool
  • Alih-alih mengembangkan versi baru, kini proyek mendukung fork dan penggunaan ulang melalui materi seperti Void Forks, rilis lama, Codebase Guide, HOW_TO_CONTRIBUTE, dan void-builder

Status proyek

  • Void berstatus deprecated dan tidak lagi menerima kontribusi
  • Proyek ini menyampaikan terima kasih atas kontribusi kode dan dukungan dari komunitas, dan Void tetap open source
  • Disebutkan bahwa proyek ini tetap menjadi salah satu referensi yang baik saat melakukan fork pada VS Code

Unduhan dan materi fork

Bagian yang bisa dijadikan referensi saat mengimplementasikan fork VS Code

  • Void memasang React + Tailwind
    • Ini tidak dimungkinkan di VS Code biasa, sehingga pipeline build diperluas untuk kompilasi React dan penanganan scope Tailwind
    • Penanganan scope Tailwind menggunakan scope
  • Dengan menyalin GitHub Actions, Void dapat dipaketkan, ditandatangani, dan diperbarui otomatis
    • Dijelaskan bahwa pipeline build VS Code bersifat privat sehingga umumnya sangat sulit dilakukan
  • Kode AI provider diimplementasikan langsung dari nol
    • Mendukung autocomplete(FIM) dan respons kustom
    • Mengekspos sintaks untuk tag umum seperti <thinking> dan tag tool
    • Arsitekturnya dapat dijadikan referensi untuk penggunaan IPC dan pemenuhan CSP
  • Untuk pengeditan file, Void menggunakan layanan kustom
    • EditCodeService dapat menampilkan diff hingga tingkat token saat kode di-streaming
    • VoidModelService mengedit file di latar belakang dan menyinkronkan file OS dengan buffer teks
  • Daftar seluruh repositori yang membentuk Void dapat dilihat di repos

Penjelasan fitur Void

  • Void memungkinkan penggunaan AI agents di codebase
  • Perubahan dapat disimpan dan divisualisasikan sebagai checkpoint
  • Model atau host apa pun dapat dibawa secara lokal
  • Void menyatakan bahwa pesan dikirim langsung ke provider dan tidak menyimpan data pengguna
  • Repositori ini mencakup seluruh source code aplikasi Void Desktop

Tautan referensi dan dukungan

1 komentar

 
GN⁺ 2024-09-18
Pendapat Hacker News
  • Baru-baru ini saya sempat kena batunya saat mencoba merefaktor aplikasi dengan memakai VSCode seperti sebuah platform, karena keputusan desain UI yang sulit dicari akalnya maupun dipelihara
    Marketplace ekstensi tertutup milik MS juga tidak membantu tujuan open source
    Sebagai gantinya, saya jadi tahu tentang Theia(https://theia-ide.org) dari HN, dan karena dimiliki yayasan, punya marketplace open source, serta bisa dimodifikasi sepenuhnya, ini tampak jauh lebih cocok untuk tujuan open source
    Secara teori juga kompatibel dengan API ekstensi VSCode, jadi saya sarankan mempertimbangkan Theia untuk aplikasi ini

    • Sebagai catatan, ekstensi bisa dipublikasikan ke OpenVSX
      Akhir-akhir ini banyak proyek mulai melakukannya, memang tidak semuanya, tapi cukup banyak
    • Saya penasaran apakah Theia ada kaitannya dengan Eclipse, IDE Java yang sudah ada
      Atau apakah penyebutan “eclipse” cuma tabrakan nama yang kurang beruntung
    • Jika Theia dibangun di atas Monaco, saya penasaran apakah pendekatan seperti perpindahan satu klik juga memungkinkan
      Editor Monaco secara teori adalah bagian dari repositori vscode, dan “workbench” yang memuat pengaturan/konfigurasi ada di lapisan atasnya
  • Akan menarik kalau ada tulisan yang merangkum dengan baik kenapa alat seperti Cursor dan Void memilih membuat editor baru alih-alih ekstensi editor yang sudah ada (ekstensi VSCode, plugin JetBrains)
    Saya penasaran apakah ini karena keterbatasan teknis API ekstensi, atau karena memasarkan editor baru lebih mudah daripada ekstensi editor
    Untuk individu atau perusahaan kecil, adopsinya mungkin mudah, tetapi bagi organisasi besar, mereka sudah punya IDE yang ada beserta berbagai integrasinya, jadi meminta mereka pindah ke IDE lain tampaknya akan sulit

    • Menurut jawaban dari tim Cursor, ekstensi VSCode sangat terbatas dalam kemampuan mengendalikan UI editor
      Fitur Command-K dan Copilot++ tidak mungkin dibuat sebagai ekstensi, dan banyak fitur yang ingin mereka buat ke depannya juga sama
      https://forum.cursor.com/t/why-not-a-plugin/2448/2
    • Pertanyaan yang bagus
      Menurut saya ekstensi sering kali penuh bug atau sulit terintegrasi secara alami. Misalnya Copilot membuat area seleksi meloncat-loncat, dan Codeium maupun ekstensi open source lain punya keterbatasan serupa
      Banyak ekstensi memakai dropdown pilihan cepat untuk input prompt pengguna, dan ini terasa tidak alami
      Untuk menghindari masalah seperti ini, penting untuk memiliki IDE itu sendiri seperti Cursor, dan menurut saya itu juga alasan Cursor populer
      Memang benar adopsi IDE itu sulit. Jika dibangun di atas fondasi yang sudah populer, itu bisa lebih mudah menjangkau basis pengguna kecil, dan dalam jangka panjang mereka juga ingin meyakinkan perusahaan besar lewat sentralisasi privasi dan fitur AI yang bagus
    • Cody diimplementasikan tepat seperti yang Anda maksud, yaitu sebagai ekstensi, dan tetap kompetitif dengan Cursor
      Saya masih belum menemukan alasan untuk memakai Cursor sambil menerima kekurangan sebagai sebuah “fork”
      Tapi belakangan saya kebanyakan pindah ke Aider
      Ada yang menyebut monetisasi, dan mungkin itu memang alasan sebenarnya
  • Bertambahnya persaingan itu bagus, tetapi meski ini mungkin terdengar agak kasar, kebanyakan fork perangkat lunak akhirnya menghilang
    Saya ingin diyakinkan kenapa harus memakai ini daripada Continue + Claude-dev, yang merupakan ekstensi open source yang berjalan di VSCode atau VSCodium biasa
    Mereka bilang “Microsoft juga membuat marketplace ekstensi tertutup”, tetapi Open VSX Registry itu ada

    • Saya penasaran apakah Anda memakai model lokal bersama Continue
  • Selamat karena sudah sampai sejauh ini, dan sekarang sepertinya bagian yang menarik baru dimulai
    Ekstensi yang menyediakan autocomplete tab ala snippet dan editor AI sudah cukup banyak, tetapi setahu saya hanya Cursor yang benar-benar menerapkan alur kerja perbaikan otomatis “tab-tab-tab-tab” tanpa melihat seluruh file
    Mungkin ini kombinasi hack Monaco/VSCode dan model tuning buatan sendiri, bukan sekadar model bahasa besar siap pakai; jadi saat Anda bilang “semua fitur inti Cursor”, saya penasaran apakah yang dibidik adalah bagian ini atau fokus ke hal lain
    Cursor cukup bagus dalam “mengimpor” ekstensi yang sudah saya unduh di profil VSCode lokal, tetapi kadang ada kesulitan saat memakai API marketplace untuk pencarian ekstensi
    Sebagai titik awal, pendekatan seperti itu rasanya sudah cukup memadai, dan karena harus berhadapan dengan Microsoft, hal seperti panduan merek juga perlu diperhatikan
    Sebaiknya hindari memberi tahu dunia bahwa Anda sedang “meng-hack” API Microsoft. Walau terlihat sepele, itu bisa jadi masalah kalau nanti berhasil besar
    Jika tujuannya juga untuk merekrut kontributor, workflow GitHub dan CI perlu jauh lebih dirapikan
    Saat ini riwayat commit sebagian besar berisi perubahan dokumentasi yang langsung di-commit ke branch main tanpa review atau pemeriksaan, dan satu-satunya commit awal yang tampak punya pemeriksaan justru terlihat seperti pemeriksaan Monaco yang gagal lalu langsung dinonaktifkan
    Untuk membesarkan proyek atau menarik kontributor pada level yang dibutuhkan, Anda perlu menetapkan baseline pengujian dan menatanya jauh lebih serius

    • Satu-satunya alasan saya memakai Cursor juga karena fitur itu
      Autocomplete-nya sangat bagus, dan saat refactor rasanya hampir seperti sihir
      Setelah sebulan penuh memakai Cursor, saya sempat kembali ke VSCode, dan dibandingkan itu, Copilot benar-benar buruk
      Saya ingin terus memakai Cursor, tetapi tidak ingin membayar langganan Claude dua kali. Cursor secara internal memakai Claude, dan saya lebih suka Claude Sonnet daripada ChatGPT
    • Fitur yang sangat berguna di Cursor adalah apply
      AI menggabungkan kode yang dihasilkannya dengan kode saya secara otomatis, dan saya tinggal menyetujui atau menolaknya
      Sepertinya fitur ini juga memakai AI kustom, dan tidak bekerja dengan cara mengambil API key saya, jadi perlu langganan
  • Senang melihat makin banyak persaingan di ranah “editor AI”, tetapi saya penasaran kenapa ini tidak dibuat sebagai ekstensi VSCode
    Jalur ekstensi tampaknya jauh lebih mudah diakses
    Saya penasaran apakah ada keterbatasan API ekstensi yang membuat implementasinya lebih sulit

    • Mungkin karena ekstensi sulit dimonetisasi, dan juga sulit membenarkan valuasi VC yang besar
      Void didukung oleh HN
    • Setuju. Meski tidak sempurna, VSCode punya ekosistem yang cukup kaya
      Harus terus mengikuti perbedaan antara fork dan produk asli, lalu menghadapi fitur yang hilang atau ekstensi yang rusak dalam prosesnya, bukan sesuatu yang ingin saya tanggung dalam alur kerja saya
      Cursor memang menawarkan pengalaman yang cukup rapi, tetapi pada akhirnya saya kembali ke VSCode dan memakai continue.dev. Memang jauh lebih kasar, tetapi UI-nya bekerja cukup baik
    • Pertanyaan bagus, dan benar bahwa ekstensi lebih mudah diakses
      Namun, dengan ekstensi saja tidak ada cara yang baik untuk membuat UI native yang mereka inginkan
      Misalnya, menampilkan sebelum dan sesudah perubahan adalah hal yang inti, tetapi di dalam ekstensi rasanya tidak natural
      Ekstensi seperti Codeium memakai pendekatan paling sederhana dengan langsung menulis sesuatu seperti <<<<<<< DIFF >>>>>>>> ke dalam file, yang merusak penyorotan sintaks
      Ekstensi lain seperti Copilot punya banyak bug
      Saat ini Void dibangun di atas ekstensi, tetapi juga memodifikasi dan menyisipkan diri ke sebagian IDE untuk menciptakan pengalaman pengguna yang lebih native
    • Banyak orang lebih memilih JetBrains daripada VSC
      Misalnya, editor AI pilihan nomor satu saya saat ini adalah Zed.dev, yang memungkinkan pengaturan berbagai keymap termasuk JetBrains dengan sangat mudah
      https://zed.dev/
    • Saya tidak begitu tahu, tetapi continue saat ini benar-benar buruk
      Itu merusak seluruh lingkungan VSCode saya, termasuk shortcut Vim
  • Saya tidak yakin apakah untuk melakukan ini mereka benar-benar harus “memiliki” seluruh editor
    Menjaga sinkronisasi dengan upstream saja sudah jadi beban besar, dan saya tidak melihat apa yang didapat dari situ
    Seperti yang dikatakan orang lain, ada juga registry alternatif, dan lebih mudah memberi petunjuk pemasangan plugin mandiri daripada meminta pengguna mengunduh dan memasang seluruh editor
    Saya penasaran kenapa tidak membuat ekstensi Copilot sendiri saja dan menghubungkannya ke instans ollama
    Bukankah itu yang dilakukan Continue? https://marketplace.visualstudio.com/items?itemName=Continue...

  • Apakah ini masih tahap yang sangat awal sampai belum bisa diunduh? Saya tidak paham kenapa saya harus masuk ke server Discord hanya karena editor kode
    Saya penasaran apa rencananya jika VS Code mengadopsi semua fitur ini

    • Kodenya ada di sini: https://github.com/voideditor/void/tree/main/extensions/void
      Namun saat ini benar-benar masih sangat dasar. Ini hampir seperti implementasi minimal yang membuat panggilan ke model bahasa besar di panel samping dan tampilan untuk menerapkan/menolak perbedaan
      Untuk saat ini, ini nyaris setingkat proyek akhir pekan
    • Itu mungkin inti permainannya
      Mungkin ini sekadar permainan untuk melihat siapa yang akan diakuisisi Microsoft dan akhirnya menjadi bagian dari VS Code
  • Ada juga PearAI. Mereka menyebutnya sebagai editor kode AI open source yang merupakan fork dari “VSCode dan Continue”
    Ruang ini makin ramai: cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI, dan sekarang Void
    https://github.com/trypear/pearai-app

    • Jika Anda sudah mencoba yang lain, saya ingin tahu apa tepatnya yang tidak Anda sukai
      Saya salah satu pembuat https://double.bot
  • Saya berharap ada yang me-fork Omnivim2 agar bisa bersaing lebih baik dengan VS Code
    Sejauh yang saya pahami, editor ini terlihat seperti VS Code tetapi dikompilasi secara native dan mendukung plugin VS Code
    Sayangnya proyeknya tampak terbengkalai, dan ditulis dalam ReasonML
    Saya lelah dengan alat pengembang yang dibangun berpusat pada browser web
    Di era 90-an dan 2000-an, ada aplikasi native penuh yang tidak perlu serumit sekarang
    Tambahan lagi, ia juga berjalan di atas Vim secara internal, yang justru saya anggap sebagai nilai plus
    https://github.com/onivim/oni2

  • Ini tampak seperti postingan duplikat dari Show HN lain oleh pengguna yang sama 4 hari lalu
    https://news.ycombinator.com/item?id=41523197

    • Jika postingannya belum mendapat cukup perhatian, beberapa repost kecil tidak masalah
      Itu juga tertulis di FAQ: https://news.ycombinator.com/newsfaq.html#reposts
    • Beberapa hari lalu kami memang merilis versi yang lebih kecil, tetapi berdasarkan masukan itu kami cukup banyak mengubah halaman kontribusi GitHub, situs web, dan logo
      Kami hanya sedang mencoba merilis secepat mungkin
    • Jadi ini diluncurkan dua kali? Di arena yang sangat kompetitif, Anda memang harus merilis sesering mungkin
    • Ini dianggap praktik yang sangat wajar