- Yerel LLM çalıştırma ve kod sandbox ortamını kullanarak bulut bağımlılığı olmadan bir yapay zeka çalışma alanı kurma
- Ollama ile yerel LLM çalıştırıp, Apple Container ile izole bir VM'de kodu çalıştırırken, Playwright ile headless tarayıcı üzerinden otomasyon ve internet erişimini mümkün kılma
- UI
assistant-ui temelli olsa da, model seçim açılır menüsü ve ai-sdk entegrasyonu ile MCP(Model Context Protocol) sayesinde güvenli bir kod çalıştırma ortamı kurma
- MCP ile bağlı Coderunner VM'i içinde Jupyter sunucusu ve tarayıcı çalıştırıp, grafik üretimi, görsel/video düzenleme, GitHub araç kurulumu ve web arama gibi işlemler yapılabiliyor ve gizlilik korunuyor
- Şu an yalnızca Apple Silicon için çalışıyor; ileride UI iyileştirmeleri, tarayıcı bot algılamayı aşma ve araç yönetimini geliştirme planlanıyor
Gereksinimler ve Arka Plan
- Hedef: bulut ve uzak kod çalıştırma olmadan her şeyi yerelde çalıştırmak
- Mevcut LLM sohbet uygulamaları (ör. ChatGPT, Claude), bulut tabanlı LLM sohbet, bulut/yerel kod çalıştırma ve internet erişimi sağlıyor
- Açık kaynak LLM kullanımındaki artışla birlikte, bu bütün özellikleri tamamen yerelde yapmanın mümkün olup olmadığı tartışıldı
- Sadece yerel LLM yeterli olmadığından kodun izole bir ortamda çalıştırılması ve tarayıcıyla içerik erişiminin de sağlanması gerekti
Fikir Tasarımı
- LLM'leri tamamen yerel ortamda çalıştırmak
- Kod yürütmeyi yalnızca hafif bir VM (sanal makine) içinde işleyerek ana sistemin riskini engellemek
- Headless tarayıcı ekleyerek otomasyon ve yeni bilgi/araç keşfini desteklemek
- Yapay zekâ planlamadan kod çalıştırmaya kadar her şeyin tamamen yerelde gerçekleştiği, gizlilik odaklı bir iş akışı oluşturmak
- Dış servislerle veri paylaşmadan fotoğraf, video düzenleme gibi çeşitli görevleri yerelde yapmak
Teknoloji Yığını
- LLM: Ollama (yerel model ve bazı harici model desteği)
- UI:
assistant-ui + ai-sdk (model seçim işlevi eklendi)
- VM çalışma zamanı: Apple
container (izole VM ortamı sağlıyor)
- Orkestrasyon:
instavm/coderunner (MCP ile Jupyter sunucu bağlantısı)
- Tarayıcı otomasyonu: Playwright (MCP aracı olarak sunuluyor)
Mac Uygulaması Denemesi ve Geçiş
a0.dev ile yerel Mac uygulaması geliştirmeyi denedim, ancak iOS odaklı olduğu için zorluklar yaşandı
- Electron + NextJS sarmalama denemesi de yapıldı ama karmaşıklık nedeniyle bırakıldı
- Sonunda yerel web tabanlı
assistant-ui'ye geçildi
Assistant-UI Özelleştirme
- Model seçim açılır menüsü gibi çoklu LLM destek özelliklerinin sunulması bekleniyordu ancak sınırlıydı
- Örneklerden sonra ai-sdk ile çoklu model seçimi özelliği doğrudan uygulandı
- İlk başta OpenAI/Anthropic gibi bulut modelleri de desteklenip, kademeli olarak yerel geçiş teşvik edildi
Tool-calling ve Model Destek Sorunu
- Tool-calling destekleyen model gerekiyordu, ancak Ollama gibi bazıları pratikte desteklemiyor
- Resmi belgelerde araç desteği belirtilmesine rağmen, gerçek implemantasyonda çoğu zaman eksiklik var
- Açık kaynak ekosisteminin hızlı değişimi nedeniyle araç destek durumu ve token fiyatları gibi metrikler çok oynak
Container Tabanlı İzole Kod Çalıştırma
- Apple'ın Container aracıyla, Docker'a kıyasla her container başına tam izole VM ortamı sunulduğundan, yapay zekâ tarafından üretilen kodlar daha güvenli çalıştırılıyor
- VM ortamına Jupyter sunucusu dağıtılıp, Model Context Protocol(MCP) ile açığa çıkarılarak Claude Desktop, Gemini CLI gibi araçlardan doğrudan kullanılabilir hale geliyor
coderunner MCP sunucusu kodu açıldı ve dış araçlarla entegrasyon örnekleri sunuldu
- Apple Container aracı hala stabil değil; derleme/imaj sorunlarında tekrarlı yeniden denemeler gerekebiliyor
- Gerçek video düzenleme testi gibi örneklerde UI + LLM + coderunner kombinasyonunun düzgün çalıştığı doğrulandı
Headless Tarayıcı Entegrasyonu
- Container içinde Playwright tabanlı headless tarayıcı dağıtılarak MCP aracı olarak açıldı
- Yeni araç/ bilgilere erişim, Github kullanım arama, araştırma otomasyonu gibi kullanım alanları öngörüldü
- Temel iş akışı şu şekilde kuruldu: yerel LLM + sandbox kod çalıştırma + headless tarayıcı
Yapılabilecek İş Örnekleri
- Belirli bir konunun araştırılması ve özetlenmesi
- Doğal dil komutuyla CSV grafik oluşturma ve render
- ffmpeg ile video düzenleme (bölüm kesme vb.)
- Görüntü yeniden boyutlandırma, kırpma, format dönüşümü
- Github araçlarının container içinde kurulumu
- Headless tarayıcı ile web sayfası crawl etme ve özetleme vb.
Dosya Hacmi Bağlama ve İzolasyon
- Hosttaki
~/.coderunner/assets, container'daki /app/uploads ile eşleştirildi; dosyalar güvenli bir paylaşım alanında saklanıyor
- Çalıştırılan kodun ana sisteme doğrudan erişememesiyle güvenlik sağlandı
Sınırlamalar ve Gelecek Hedefler
- Apple Silicon ortamında çalışıyor, macOS 26 opsiyonel
- Araç yönetimi, çıktı akışı gibi konularda UI geliştirmesi gerekiyor
- Headless tarayıcı bazı sitelerde bot tespiti nedeniyle engellenebiliyor
Sonuç
- Bu proje basit bir deneyin ötesinde, hesaplama egemenliği ve gizlilik koruması odaklı bir modeldir
- Bulut ve uzak sunucu bağımlılığı olmadan kişisel yerel makinada verileri güvenli biçimde işleme deneyimi sunuyor
- En iyi LLM'ler büyük bulutlarda kalabilir, ancak kişisel gizliliği koruyabilen yerel yapay zeka araçlarının gelişmesini hedefliyor
- Açık kaynak
coderunner-ui Github'da kullanılabilir, geri bildirim ve işbirliği memnuniyetle karşılanır
İlgili Kaynaklar
Henüz yorum yok.