- 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-ui berbasis 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
coderunner dipublikasikan, 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/assets di 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-ui tersedia di Github, dan umpan balik serta kolaborasi sangat disambut
Sumber Terkait
Belum ada komentar.