6 puan yazan GN⁺ 2025-08-09 | 2 yorum | WhatsApp'ta paylaş
  • 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
Reklam

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.
Reklam

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

2 yorum

 
wedding 2025-08-11

HN'in 'yalnızca eğlenceli bir hobiye yakın' olduğu yönündeki görüşüne katılıyorum.
Ama sonuçta ne kadar döşense de, ticari yazılımların sunduğu kadar pratiklik ve hıza ulaşamıyor...

 
GN⁺ 2025-08-09
Hacker News Yorumu
  • Ben her zaman bu tür “deneyimci idealizm”e kapılırım ama erişebildiğim model performansı ile bulutta talebe göre çalıştırma maliyetini birlikte düşündüğümde, bunun pratik bir stratejiden çok eğlenceli bir hobiye yakın olduğunu hissediyorum.
    Donanım hızlı bir şekilde geliştiği için, ikinci el alsan bile aynı hızda değer kaybediyor ve bu yüzden donanıma yatırım yapmayı finansal olarak mantıklı göremiyorum.
    Üstelik yerel ortamda çalışan ağırlıkların performansı da ciddi ölçüde düşüyor, bu yüzden şu an böyle bir yatırımın anlamı yok.
    Bir gün durumun değişeceğini umarak, iyi ağırlıklar açıklandığında yerel çıkarım yığınına yatırım yapmayı bekliyorum.
    O zamana kadar hızlı değer kaybeden pahalı bir varlığa sadece “sahip çıkmış” kalıyor gibiyim.

    • Son zamanlarda yerel LLM ekosistemi gerçekten ilgi çekici, insanların neler yaptığına bakmak çok keyifli.
      Ama her seferinde MacBook Pro'mun devasa RAM'ini kullanarak yerel LLM çalıştırdığımda, frontier modellerle (güncel SaaS LLM'lerle) arasındaki farkı daha da net görüyorum.
      Aylık yaklaşık 20$ ödeyip yalnızca token başına ödeme yaparak çok güçlü modelleri kullanabiliyorken, hız ve kalite açısından yerel modeller hâlâ büyük fark gösteriyor.
      Benchmark grafikleri bu farkı her zaman iyi göstermese de pratikte FRONTIER modelleri çok daha iyi hissediliyor.
      OpenAI, Anthropic gibi yerlerdeki modeller bile bazen yavaş ve hatalı oluyor; yereldeyse durum daha da kötüleşiyor.
      Gizliliğin önemli olduğu hobi ve deneme amaçları için iyi olabilir ama benim için, bir sonraki MacBook'ta 128GB RAM gibi gerçek bir donanım çıkana kadar beklemek daha doğru.

    • API'nin arkasındaki modeller çıktı üzerinden para kazanmaya başladıkça kalite zamanla düşeceğini düşünüyorum.
      Bu bir zaman meselesi.

    • “Donanım çok hızlı değişiyor, bu yüzden ikinci el olsun ya da olmasın hemen değer kaybeder” argümanı konusunda bir şey sormak istiyorum.
      Bazı durumda en hızlı spesifikasyona sahip olmasanız bile model yine de çalışabilir.
      Sonuçta bu klasik opex (operasyonel gider) vs capex (sermaye yatırımı) tartışması; finansal olarak bakarsanız bulutun avantajlı olduğu durumlar sadece çok spesifik senaryolar (altyapıyı hızlı kurman gereken ama talebi öngöremediğin durumlar).
      LLM'lerde bu durum büyük ölçüde geçerli değil.
      OP'nin yaklaşık 600$ harcadığını söylemesi, EC2 ile karşılaştırıldığında 3 aylık maliyete denk geliyor.
      Bu noktadan bakınca OP'nin argümanını sayılarla destekleyip destekleyemeyeceğini merak ediyorum.

    • Ben de bunun bir gün değişeceğine inanıyorum.
      Son günlerde Claude Code gibi araçları giderek daha çok işlerime ekliyorum; günlük kodlama işlerini şirketin API'larına tamamen bağımlı yapmak istemiyorum.
      Plan limitleri, API maliyetleri, aylık 100-200$ ödemek zorunda kalma endişesi, ve kullandığım tüm verinin AI şirketleri tarafından toplanma veya izlenme riski istemediğim şeyler.
      Akıllı ev ürünlerinde yalnızca yerel kontrol edilenleri kullanıyorum; dışarıdan erişim gerektiğinde doğrudan yazılım kurup kendi sunucumda çalıştırıyorum.
      Günün birinde şirketin aniden hizmeti durdurması, fiyatı artırması ya da verilerimi kullanmaya başlaması gibi durumlarla bağlanmak istemiyorum.
      Ama şimdilik LLM'yi donanıma kurmak ya da VPS'de çalıştırmak için gereken motivasyon, maliyet, bilgi veya bakım isteğim yok.
      Anthropic'e aylık 20$ ödemekten memnunum ve şimdilik açık modeller, frontier düzeyindeki SaaS'in yakınına dahi gelemiyor.
      Yine de bir gün değişim olacağını umuyorum.

    • Bu durumun asla değişmeyeceğini düşünüyorum.
      İki yıl sonra GPT-5 seviyesinde bir yerel seçenek çıksa bile, o sırada bulutta çok daha iyi seçeneklerin çıkacağı için yine aynı ikilemle karşılaşılacak.

  • Yerel ve sandboxlanmış bir execution layer'a odaklanan bu iş, private AI workspace'i gerçekleştirecek büyük bir yapboz parçası gibi görünüyor.
    coderunner aracı oldukça kullanışlı duruyor.
    Fakat bir başka zorluk, AI'nın e-posta, not, dosya gibi kişisel verilerimi “anlayan” bir “knowledge layer” olması.
    RAG ile birkaç yıllık e-posta ile baş etmek, yalnızca vektör veritabanı depolamasında kolayca 50GB'yi geçiyor.
    (Not: Bu sorunu çözmeye çalışan ekibin Berkeley'de bir parçasıyım.)
    LEANN adlı bir vektör indeksi oluşturup, embeddingleri doğrudan saklamadan depolamayı yaklaşık %97 oranında azaltmayı başardık.
    Böylece dijital hayatımı tamamen yerelde indekslemek gerçekten mümkün oldu.
    Bu ultra hafif knowledge index ile yerel execution engine'i birleştirmek gerçek bir “yerel Jarvis”e giden yol gibi görünüyor.
    Kod: https://github.com/yichuan-w/LEANN
    Makale: https://arxiv.org/abs/2405.08051

    • 2025 itibarıyla, birkaç yıllık e-postaya karşılık 50GB'lık bir vektör veritabanı, aslında oldukça mütevazı bir talep.

    • LEANN bilgisini paylaştığınız için teşekkür ederim.
      RAG'ı LLM ajanlarının, pipeline'ların ve execution engine'lerin knowledge layer'ı olarak kullanmaya özellikle ilgileniyorum.
      Büyük bir codebase ile LLM entegrasyonunun mümkün olup olmadığını merak ediyordum; RAG çözümünün zaten Claude Code ile entegre olması, deneme eşiğini düşürüyor ve bunu umut verici kılıyor.
      RAG ve LLM'i birleştirip gerçekten büyük bir codebase ile çalışan biri var mı merak ediyorum.
      Ön uç modelini (LM) önce bulutta kullanarak başlatmayı ve doğrudan test etmeyi planlıyorum.
      İlgili referans: https://github.com/yichuan-w/LEANN/blob/main/packages/leann-mcp/README.md

    • Embeddingler ve vektör depolama yapıları hakkında neredeyse hiç bilgim yok.
      Bulut embeddinglerinde de böyle bir “pruned graph” yaklaşımını kullanan bir proje olup olmadığını merak ediyorum.

    • İndeksin orijinal veriden daha büyük olması bana tuhaf geliyor.
      Normalde indekslerin, daha hızlı erişim için daha verimli formatta olacağını düşünürüm, bu denli büyümesi garip geliyor.

  • “En iyi LLM” desteği olsa bile beklendiği kadar pürüzsüz sonuç vermemesinin nedeni, bu modellerin adım atlaması, platform özeliyetlerini göz ardı etmesi ve hatta problemi büyüten şekilde halüsinasyon üretmesi.
    Bu, native app geliştirme için eğitim verisinin yetersiz olduğunun da iyi bir göstergesi.
    Native uygulama tasarımıyla ilgili bloglarda ya da Medium'da uzun yazılar çok az; açık kaynak masaüstü app projelerinin sayısı da mobil/web'e kıyasla çok daha az.
    1990'larda MS, Charles Petzold gibi yazarları istihdam edip Windows kodlamayı anlatan harika kitaplar çıkarmıştı; ancak bu profesyonel alan neredeyse tamamen kaybolmuş durumda.
    Bu yüzden eğitim verisindeki boşlukların önümüzde de büyümeye devam edeceğini düşünüyorum.
    Sonunda, yazılım mühendisliğinin genel eğilimiyle benzer: native masaüstü uygulama yapan kişi az ve kariyer açısından “çıkmaz sokak”.
    1990'larda Windows masaüstü geliştiricileri için orta sınıf bir yaşam güvencesi vardı ve bariyerler yüksekti (C/C++ zordu, Windows API öğrenimi de zordu; MS eğitim için çok para harcıyordu), bugün bu koşullar çok değişti.
    Şimdi OS üreticileri (Microsoft, Apple) veya bazı legacy yazılım firmaları (Adobe, Autodesk vb.) dışında masaüstü uygulama geliştirme talebi son derece az.

    • HPC (yüksek performanslı hesaplama) dışındaki alanlarda, ayrıca ayrı bir masaüstü uygulama yapmanın anlamı yok; çünkü tarayıcı neredeyse en genel VM işlevini görüyor.
  • Ollama macOS uygulamasını denemek için kurdum ve açılır açılmaz bir Google alan adına bağlanmaya çalıştığını gördüm.
    Bu, “tam gizli” olduğu iddiasını inandırıcı kılmıyor.
    https://imgur.com/a/7wVHnBA

    • Bunun nedeni otomatik güncelleme kontrolü.
      https://github.com/ollama/ollama/blob/main/docs/faq.md

    • Bu tür ağ çağrılarının denetlenebilir (audit) olması tam tersine güven verdi.
      Her güncellemede yalnızca ağ çağrılarını otomatik olarak izlemek yönetilebilir bir süreç.

    • vscode'daki cline ve copilot eklentilerinde de aynı durumu gördüm.
      Yalnızca yerel ollama kullanılacak şekilde ayarlayıp çıkış bağlantılarını kapattığımda çalışmaları bile durdu.
      Telemetriyi kapattığım halde cline dış iletişim denemesine devam ettiği için hayal kırıklığına uğradım.

  • Bu konuyu beklediğimden daha sık düşünüyorum.
    Gizliliği sağlamak için çok fazla sürtünme ve zorlukla karşılaştığımı hissediyorum.

    • Bu yazının bu tip kaygılarda gerçek anlamda yardımcı olduğunu veya somut bir çözüm sunduğunu düşünmüyorum.
  • Yine de yerel yaklaşımı tercih ediyorum; çünkü çoğu AI inference hâlâ yavaş, ya da yerelden farkı çok az.
    Son dönemde cerebras'ı (Groq'u da duydum) deneyip 1000 token/sn gibi hız gördükten sonra bekleme toleransım tamamen değişti.
    Cerebras verileri kaydetmediğini söylüyor ve benim onlarla herhangi bir sponsor ilişkim olmadığını umarım buna inanırsınız (aksine bir sponsorluğu olsaydı güzel olurdu).
    Gerçekten iyi bir hizmet.
    Yine de bir gün hızda da gerçekten anlamlı bir ilerleme olmasını diliyorum.
    Diffusion model mimarisi özellikle çok hızlıymış gibi geliyor.

  • Şu anki sınırlamanın yazılımdan çok donanım tarafında olduğunu düşünüyorum.
    Kullanılabilir bir LLM'i yerelde çalıştırmak için en az 2000$ seviyesinde donanıma (ör. Strix Halo, AI Max 395) ihtiyaç var.
    Strix Halo birkaç kez daha yükseltme alırsa iş çok daha kolaylaşır diye umuyorum.

    • Bu değişim gerçekten çok hızlı yaşanıyor.
      https://simonwillison.net/2025/Jul/29/space-invaders/

    • Bu fiyata donanım edinilmiş olsa bile “kullanılabilir” olma standardının muğlak olduğunu düşünüyorum.
      Bu teknolojinin gerçekten işe yarar olması için sihirli gibi anında çalışan bir deneyim şart.
      Yavaş ve muğlak sonuçlarla uğraşıp sürekli ayar kurcalarken, pratikte neredeyse tüm değer kayboluyor.
      Yerel modeller çok gelişti ama kodlama becerisi olarak hâlâ Claude gibi modellere ulaşmıyor.
      Son zamanlarda OpenRouter'ın en yeni Qwen ve GLM modellerini cline ile doğrudan çalıştırdım; Claude 3.0 civarında olduklarını hissettim.
      Benchmarklar gerçeği pek yansıtmıyor.

  • Ürün markası ve blog yazısı biraz kafa karıştırıcı geliyor.
    Web sitesinde (örneğin Firecracker gibi) cloud'da VM çalıştırıldığını söylüyor,
    blogda ise Mac'e özel yerel VM çalıştırıldığı anlaşılıyor.
    Önce birincisini yapan biri olarak, ikincisini gpt-oss yeni ürünüyle denemek isterim.

  • OP'ye https://github.com/assistant-ui/assistant-ui bağlantısının çalışmadığını bildirdim.

  • Gerçekten çok iyi tasarlanmış, hoş bir proje.
    Ben de benzerini yapıyorum; asıl işi tek bir tuşla bulut ile tamamen yerel ortam arasında kolayca geçiş sağlayabilmek.
    Tüm veri/ayar/prompt'lar sadece yerelde saklanıyor, API çağrıları da bizim sunucumuzdan geçmeden doğrudan sağlayıcıya yönlendiriliyor.
    Şu an mlc-llm ile tarayıcıda tamamen yerel çıkarım yapılıyor (Qwen3-1.7b çok iyi çalışıyor).
    https://hypersonic.chat/