Semua di Lokal – Membangun Workspace AI Offline
(instavm.io)- Menjalankan LLM lokal dan lingkungan sandbox kode untuk membangun AI workspace tanpa ketergantungan cloud
- Menjalankan LLM lokal dengan Ollama, menjalankan kode di dalam VM terisolasi dengan Apple Container, dan memungkinkan otomatisasi serta akses internet melalui browser headless dengan Playwright
- UI dibangun berbasis
assistant-ui, dengan implementasi dropdown pemilihan model + integrasi ai-sdk, serta lingkungan eksekusi kode yang aman lewat MCP (Model Context Protocol) - Di dalam VM Coderunner yang terhubung ke MCP, menjalankan server Jupyter dan browser sehingga pembuatan grafik, pengeditan gambar/video, instalasi tool GitHub, dan pencarian web dapat diproses dengan perlindungan privasi
- Saat ini masih khusus Apple Silicon, dan peningkatan UI, penghindaran deteksi browser, serta penguatan fitur manajemen tool menjadi tugas selanjutnya
Kebutuhan dan Latar Belakang
- Tujuan: Menjalankan semuanya secara lokal tanpa cloud dan eksekusi kode jarak jauh
- Aplikasi chat LLM yang ada (misalnya ChatGPT, Claude) menyediakan chat berbasis LLM cloud, eksekusi kode cloud/lokal, dan fitur akses internet
- Seiring meningkatnya adopsi LLM open source, dipertanyakan apakah semua fitur ini dapat dilakukan sepenuhnya secara lokal
- Karena LLM lokal saja tidak cukup, eksekusi kode harus dilakukan di lingkungan terisolasi, dan akses konten lewat browser juga diperlukan
Rancangan Ide
- Menjalankan LLM di lingkungan lokal sepenuhnya
- Menangani eksekusi kode hanya di dalam VM ringan (virtual machine) untuk memblokir risiko pada sistem host
- Menambahkan browser headless untuk mendukung otomatisasi serta penjelajahan informasi dan alat baru
- Membangun alur kerja yang berfokus pada perlindungan privasi, di mana perencanaan AI hingga eksekusi kode dilakukan sepenuhnya secara lokal
- Berbagai tugas seperti pengeditan foto dan video dapat dilakukan secara lokal tanpa mengirim data ke layanan eksternal
Tumpukan Teknologi
- LLM: Ollama (dukungan model lokal dan beberapa model eksternal)
- UI:
assistant-ui+ ai-sdk (penambahan fitur pemilihan model) - Runtime VM: Apple
container(menyediakan lingkungan VM terisolasi) - Orkestrasi:
instavm/coderunner(terhubung ke server Jupyter lewat MCP) - Otomatisasi Browser: Playwright (diekspos sebagai tool MCP)
Percobaan dan Peralihan Aplikasi Mac
- Mencoba mengembangkan aplikasi native Mac dengan
a0.dev, tetapi muncul kendala karena lebih berfokus pada iOS - Percobaan membungkus dengan Electron + NextJS juga dilakukan, namun ditinggalkan karena kompleksitas
- Akhirnya beralih ke
assistant-uiberbasis web lokal
Kustomisasi Assistant-UI
- Fitur dukungan banyak LLM seperti dropdown pemilihan model diharapkan bisa disediakan, tetapi ternyata terbatas
- Setelah melihat contoh, implementasi fitur pemilihan multi-model dilakukan langsung melalui ai-sdk
- Pada awalnya juga mendukung model cloud seperti OpenAI/Anthropic, dengan strategi mengarahkan secara bertahap ke peralihan lokal
Isu dukungan tool-calling dan model
- Dibutuhkan model yang mendukung tool-calling, tetapi beberapa model seperti Ollama sebenarnya belum mendukungnya
- Dokumentasi resmi sering kali menyebut dukungan alat, tetapi implementasi praktisnya banyak yang kurang
- Karena perubahan cepat di ekosistem open source, status dukungan alat serta harga token dan lain-lain sangat dinamis
Eksekusi Kode Terisolasi berbasis Container
- Dengan memanfaatkan alat Container dari Apple, yang menyediakan lingkungan VM terisolasi penuh per-container dibandingkan Docker, kode yang dihasilkan AI dapat dieksekusi dengan lebih aman
- Men-deploy server Jupyter di lingkungan VM, dan mengeksposnya lewat Model Context Protocol (MCP) agar langsung dapat digunakan oleh berbagai tool (misalnya Claude Desktop, Gemini CLI)
- Kode MCP server
coderunnerdipublikasikan, beserta contoh integrasi dengan tool eksternal - Alat Apple Container masih belum stabil sehingga saat ada masalah build/gambar perlu pengulangan restart berkali-kali
- Pada pengujian nyata seperti editing video, kombinasi UI + LLM + coderunner terbukti berjalan dengan normal
Integrasi Browser Headless
- Men-deploy browser headless berbasis Playwright di dalam container dan mengeksposnya sebagai tool MCP
- Diharapkan pemanfaatan untuk eksplorasi alat/informasi baru, pencarian cara penggunaan Github, dan otomasi riset
- Alur kerja utama: kombinasi LLM lokal + eksekusi kode sandbox + browser headless telah dibangun
Contoh Tugas yang Bisa Dilakukan
- Riset dan ringkasan topik tertentu
- Membuat dan me-render grafik CSV dengan perintah bahasa alami
- Mengedit video dengan ffmpeg (memotong segmen, dan lain-lain)
- Mengubah ukuran, memotong, dan konversi format gambar
- Instalasi tool GitHub di dalam container
- dan lain-lain, seperti crawl dan ringkasan halaman web dengan browser headless
Mount Volume File dan Isolasi
- Memetakan
~/.coderunner/assetsdi host ke container/app/uploads, menyimpan file di area berbagi yang aman - Menjamin keamanan dengan memastikan kode yang dieksekusi tidak dapat mengakses sistem host secara langsung
Batasan dan Langkah Lanjut
- Hanya berjalan di lingkungan Apple Silicon, macOS 26 bersifat opsional
- Diperlukan peningkatan UI untuk manajemen tool, streaming output, dan lain-lain
- Masih ada masalah browser headless diblokir oleh beberapa situs karena deteksi bot
Kesimpulan
- Proyek ini adalah model yang berfokus pada kedaulatan komputasi dan perlindungan privasi, melampaui sekadar eksperimen
- Menyediakan pengalaman memproses data secara aman di mesin lokal pribadi tanpa ketergantungan pada cloud atau server jarak jauh
- LLM terbaik mungkin tetap berada di cloud besar, tetapi arah pengembangannya adalah menuju alat AI lokal yang dapat menjaga privasi pribadi
- Source code
coderunner-uitersedia di Github, dan umpan balik serta kolaborasi sangat disambut
2 komentar
Saya setuju dengan pendapat bahwa ini seperti 'hanya sekadar hobi yang menyenangkan'.
Tapi setelah diatur-atur sedemikian rupa, saya tetap belum bisa menangkap kenyamanan dan kecepatan setara produk komersial..
Komentar Hacker News
Aku selalu tertarik pada idealisme seperti ini, tapi pada akhirnya jika dipertimbangkan performa model yang bisa diakses dan biaya menjalankannya on-demand di cloud, ini lebih terasa seperti hobi seru daripada strategi praktis. Karena perangkat keras terus berkembang sangat cepat, membeli peralatan bekas pun nilainya turun sama cepat, jadi investasi perangkat keras sulit dibenarkan. Ditambah lagi, performa bobot model yang berjalan di lokal juga menurun cukup banyak, sehingga saat ini tak begitu bernilai. Aku memperkirakan suatu hari nanti kondisinya akan berubah, dan aku berharap saat model-model bagus dirilis aku bisa mulai berinvestasi di stack inferensi lokal. Sampai saat itu, aku malah merasa seperti sekadar mengoprek aset mahal yang menyusut nilainya dengan cepat.
Aku akhir-akhir ini sangat menikmati ekosistem LLM lokal dan suka mengamati apa yang orang-orang lakukan. Tapi setiap kali aku menjalankan LLM lokal langsung di RAM besar MacBook Pro-ku, aku merasakan kesenjangan yang jelas dengan frontier model (SaaS LLM paling mutakhir). Bayar sekitar $20 per bulan dan hanya membayar per token saja, kamu bisa memakai berbagai model berkinerja tinggi, namun di kecepatan maupun kualitas, model lokal masih jauh tertinggal. Kalau cuma lihat grafik benchmark, kesenjangan ini tidak terlalu kelihatan, tapi dalam pemakaian nyata model frontier terasa jauh lebih baik. Kadang-kadang model-model dari OpenAI, Anthropic pun terasa lambat dan banyak error; di lokal biasanya terasa lebih buruk. Buat privasi yang penting dalam hobi atau eksperimen, ini mungkin bagus, tetapi bagiku lebih baik menunggu sampai ada hardware sungguhan seperti RAM 128GB di MacBook berikutnya.
Aku pikir model-model di balik API pada akhirnya akan menghasilkan kualitas output yang semakin turun ketika mereka mulai mengambil uang. Ini hanya soal waktu.
Aku penasaran dengan argumen bahwa “perangkat keras cepat berubah jadi apa pun yang dibeli bekas pun segera kehilangan nilai”. Dalam beberapa kasus, menurutku model bisa terus berjalan meski bukan spek tercepat. Pada akhirnya ini debat klasik opex vs capex; kalau dihitung finansial, cloud menguntungkan hanya di kasus yang sangat spesifik (ketika perlu cepat meluncurkan infrastruktur dan permintaan sulit diprediksi). Untuk LLM, ini tidak terlalu relevan. OP bilang investasi sekitar $600; itu setara harga sekitar 3 bulan EC2. Dari situ aku bertanya apakah argumen OP bisa didukung dengan angka yang kuat.
Aku juga berharap ini akan berubah di masa depan. Baru-baru ini aku makin sering memanfaatkan Claude Code, dan aku tidak ingin bergantung pada perusahaan untuk coding setiap hari. Aku tak suka memikirkan kuota paket, biaya API, atau kebutuhan membayar $100-200 setiap bulan. Aku juga tidak suka risikonya data yang kupakai dikumpulkan atau diawasi oleh perusahaan AI. Aku juga hanya memakai produk smart home yang semua kontrolnya lokal, dan ketika perlu akses dari luar, aku atur software sendiri agar jalan di serverku. Bisa saja suatu saat layanan dihentikan, harga naik, atau dataku dipakai, jadi aku tak ingin terjebak dalam hal-hal semacam itu. Tapi saat ini tidak ada alasan yang cukup untuk memasang LLM di hardwareku atau menjalankannya di VPS—biaya, pengetahuan, dan beban maintenance-nya pun terlalu besar. Aku puas membayar $20 per bulan ke Anthropic, dan model open yang ada sekarang tidak bisa bersaing dengan SaaS frontier. Namun aku tetap berharap suatu saat nanti memang akan ada perubahan.
Aku pikir situasi ini tidak akan berubah sama sekali. Sementara dua tahun mendatang mungkin ada opsi lokal setara GPT-5, saat itu cloud pun kemungkinan punya opsi yang jauh lebih baik, jadi akhirnya kita akan menghadapi kebingungan yang sama lagi.
Aku menilai pekerjaan ini, yang fokus pada execution layer yang disandbox, sebagai salah satu potongan penting untuk mewujudkan private AI workspace. Tool coderunner terlihat sangat berguna. Namun tantangan lain adalah 'knowledge layer' agar AI bisa memahami data pribadiku seperti email, catatan, dan file. Untuk mengelola beberapa tahun email dengan RAG, penyimpanan database vektor mudah melampaui 50GB. (Catatan: aku bagian dari tim di Berkeley yang menyelesaikan ini.) Kami membuat indeks vektor LEANN yang menyimpan embedding secara hemat, jadi bisa menghemat storage sampai sekitar 97%. Jadi pengindeksan seluruh kehidupan digital secara lokal benar-benar jadi mungkin. Menggabungkan knowledge index super ringan seperti ini dengan local execution engine terasa seperti jalur menuju 'Jarvis lokal' yang sesungguhnya. Kode: https://github.com/yichuan-w/LEANN
Paper: https://arxiv.org/abs/2405.08051
Untuk standar 2025, 50GB untuk vektor email beberapa tahun saja sebenarnya tuntutan yang cukup sederhana.
Terima kasih sudah mengirimkan info LEANN. Aku sangat tertarik memakai RAG sebagai knowledge layer untuk agen LLM, pipeline, dan execution engine. Aku penasaran apakah integrasi LLM dengan codebase skala besar itu memungkinkan, dan aku optimis karena solusi RAG sudah terintegrasi dengan Claude Code yang menurunkan hambatan eksperimen. Aku ingin tahu apakah ada orang yang benar-benar pernah bekerja dengan RAG + LLM pada codebase besar. Aku berencana memulai percobaan dengan model front-end (LM) yang tetap memakai cloud. Referensi terkait: https://github.com/yichuan-w/LEANN/blob/main/packages/leann-mcp/README.md
Aku hampir tidak tahu apa pun tentang embedding maupun struktur penyimpanan vektor. Aku bertanya-tanya apakah ada proyek di cloud embedding yang menerapkan pendekatan “pruned graph” seperti ini.
Aku merasa aneh bahwa indeks bisa menjadi lebih besar dari data asli. Biasanya aku pikir indeks dibuat dalam bentuk yang lebih efisien agar aksesnya cepat, jadi terasa janggal jika membengkak sampai segitu.
Salah satu alasan bantuan LLM “terbaik di dunia” belum semulus yang diharapkan adalah karena model-model ini suka melakukan skipping langkah, mengabaikan keistimewaan tiap platform, dan justru memproduksi halusinasi yang memperburuk masalah. Ini juga menunjukkan kekurangan data pelatihan untuk pengembangan aplikasi native. Untuk desain aplikasi native, sedikit sekali artikel panjang di blog atau Medium, dan proyek aplikasi desktop open-source juga jauh lebih sedikit dibanding mobile/web. Tahun 1990-an, Microsoft pernah mempekerjakan penulis profesional untuk menerbitkan buku-buku coding Windows yang sangat bagus (terutama karya Charles Petzold), tetapi industri profesional seperti itu kini hampir lenyap. Celah di data pelatihan ini, menurutku, akan makin lebar ke depan. Pada akhirnya ini mirip alur software engineering secara keseluruhan: orang yang ingin membuat aplikasi desktop native sangat sedikit karena dianggap sebagai jalur yang buntu secara karier. Pada era 1990-an, pembuat aplikasi desktop Windows dijamin hidup kelas menengah dan hadangan masuknya tinggi (C/C++ susah dan Windows API berat dipelajari, plus Microsoft mengucurkan banyak dana untuk edukasi), sekarang situasinya jauh berbeda. Kini, kecuali vendor OS (Microsoft, Apple) atau beberapa vendor legacy seperti Adobe, Autodesk, kebutuhan untuk pengembangan aplikasi desktop sangat minim.
Aku mencoba Ollama macOS sebagai eksperimen dan menemukan bahwa begitu dibuka, ia mencoba mengakses domain Google. Itu membuat klaim “privasi total” jadi sulit dipercaya. https://imgur.com/a/7wVHnBA
Karena pengecekan update otomatis. https://github.com/ollama/ollama/blob/main/docs/faq.md
Panggilan jaringan seperti ini justru membuatku lebih percaya karena bisa diaudit. Selama setiap update memantau pemanggilan jaringan secara otomatis, ini adalah hal yang bisa dikelola.
Aku melihat fenomena yang sama juga di plugin cline dan plugin copilot di vscode. Aku mengatur supaya hanya memakai local ollama dan memblokir koneksi keluar, lalu fungsinya malah tidak jalan. Aku mematikan telemetry di pengaturan, tapi cline tetap terus mencoba komunikasi keluar—ini menyebalkan.
Aku pikir aku memang lebih sering memikirkan topik ini daripada yang kuduga. Aku merasa menjaga privasi datang dengan banyak friksi dan kerumitan.
Aku tetap lebih memilih pendekatan lokal, karena umumnya kecepatan inferensi AI terasa lambat atau nyaris tak beda dari lokal. Baru-baru ini mencoba cerebras (aku juga dengar groq), dan merasakan 1000 token/detik, batas kesabaran menunggu di kepalaku berubah total. cerebras mengklaim tidak menyimpan data, aku harap kamu percaya aku tidak punya hubungan sponsor dengan mereka (aku justru ingin ada jika ada). Aku pikir ini layanan yang benar-benar bagus. Tapi tetap berharap ada kemajuan yang bermakna juga dalam hal kecepatan. Arsitektur model difusi terasa terutama sangat cepat.
Menurutku, saat ini yang membatasi adalah perangkat keras, bukan software. Untuk menjalankan LLM yang layak dipakai secara lokal butuh hardware minimal sekitar $2000 (contohnya Strix Halo, AI Max 395). Aku berharap jika Strix Halo beberapa kali diupgrade, semuanya akan jadi jauh lebih mudah.
Perubahan seperti ini benar-benar terjadi dengan cepat. https://simonwillison.net/2025/Jul/29/space-invaders/
Bahkan jika punya hardware dengan harga itu, standar “layak dipakai” pun tetap samar. Untuk teknologi ini benar-benar berguna, pengalaman instan seperti sulap harus menjadi syarat. Saat berhadapan terus dengan hasil yang lambat dan ambigu sambil mengutak-atik setelan, hampir seluruh nilai langsung hilang. Model lokal juga makin bagus, tapi kalau diukur dari kemampuan coding, mereka masih belum menyamai model seperti Claude. Aku baru coba langsung menjalankan model-model terbaru Qwen dan GLM dari OpenRouter lewat cline, dan itu terasa selevel dengan Claude 3.0. Aku pikir benchmark tidak memetakan realitas dengan baik.
Branding dan artikel blog terasa agak membingungkan. Di website tertulis seolah menjalankan VM di cloud (misalnya layaknya Firecracker), sementara di tulisan blog dibaca seolah menjalankan VM lokal khusus Mac. Karena berasal dari pembuat yang membuat yang pertama, aku punya keinginan untuk mencoba bentuk kedua dipadukan dengan versi baru gpt-oss.
Aku sudah memberi tahu OP bahwa tautan ini tidak berfungsi: https://github.com/assistant-ui/assistant-ui
Ini proyek yang sangat menarik dan sangat bagus desainnya. Aku juga sedang membangun proyek serupa, dan intinya adalah kemudahan berganti dari cloud ke mode benar-benar lokal hanya dengan satu tombol. Semua data/pengaturan/prompt hanya disimpan di lokal, dan pemanggilan API langsung dirutekan ke provider tanpa lewat server kami. Saat ini aku menjalankan inferensi lokal penuh di browser lewat mlc-llm (Qwen3-1.7b berjalan sangat baik). https://hypersonic.chat/