İçeriğe geç
edumintsBlog
LLM3 dk okuma

slothd Geliştirdim: Dağınık Çalışma Alanınızı Sabırla Düzenleyen, Yerel Öncelikli ve Çevrimdışı Çalışabilen Bir Yapay Zeka Arka Plan Servisi

Kaynak: dev.to

Paylaş
İçindekiler 3 başlık

Neler Geliştirdim ve Neden Önemli?#

İndirilenler (~/Downloads) veya masaüstü klasörlerimiz zamanla ne olduğu belirsiz PDF dosyaları (INV-9041-final(1).pdf), unutulmuş .exe kurulum dosyaları ve isimsiz ekran görüntüleriyle dolar. Standart dosya uzantıları bir belgenin gerçek içeriği hakkında neredeyse hiçbir bilgi vermez. Üstelik özel banka dekontlarını veya .env yapılandırma dosyalarını sadece sınıflandırmak için bulut tabanlı bir yapay zekaya yüklemek ciddi bir veri gizliliği riskidir.

Bu problemi çözmek için "Yavaş ve İstikrarlı" (Slow and Steady) felsefesiyle tasarlanan, yerel öncelikli (local-first) ve çevrimdışı çalışabilen yapay zeka dosya düzenleyicisi slothd geliştirildi. Siz bilgisayar başından ayrıldığınızda devreye giren bu arka plan servisi (daemon), verilerinizi buluta göndermeden yerel olarak düzenler.

Mimari Özellikler ve Temel Bileşenler#

slothd mimarisi, modern yazılım ve yapay zeka mühendisliği açısından altı temel bileşen üzerine kurulmuştur:

  • Sabırlı Boşta Kalma Aktivasyonu (Patient Idle Activation): Klavye ve fare hareketsizliğini ölçmek için işletim sisteminin yerel API'lerini kullanır. Siz çalışırken uyur ve yalnızca bilgisayar başından ayrıldığınızda devreye girerek sistem kaynaklarını tüketmez.
  • İki Aşamalı Zeka Hunisi (Two-Stage Intelligence Funnel): Ağır modelleri çağırmadan önce hızlı üstveri (metadata) triyajı yapar. Yerel 7-sinyalli motor ile 1 ms'de ve Prior Labs TabPFN ile yaklaşık 20 ms'de karmaşayı, eski kurulum dosyalarını ve kopya özetlerini (duplicate hashes) tespit eder.
  • Yerel Görsel ve Metin Anlama (Local Vision & Text Comprehension): PDF'leri, faturaları ve görselleri okumak için yerel olarak Ollama üzerinde çalışan Gemma 3 modelini ve katı Pydantic JSON şemalarını kullanır.
  • Doğal Dil ile Anlamsal Arama (Natural Language Semantic Search): Düzenlenen dosyaları yerel SQLite vektör yedeklemesiyle birlikte Tiger Data pgvector (768-dim nomic-embed-text) içine gömer. Böylece "Ekim ayındaki AWS faturam nerede?" gibi doğal dil sorgularına olanak tanır.
  • Çökmelere Dayanıklı ve Geri Alınabilir Yapı (Crash-Resilient & Reversible): Varsayılan olarak her çalıştırma bir deneme çalıştırmasıdır (dry-run). Dosya taşımaları, SHA-256 içerik özetleriyle bir SQLite WAL (Write-Ahead Logging) manifestosuna kaydedilen iki aşamalı yazma noktası kullanır. Başlangıçtaki otomatik mutabakat geçişi güç kesintilerine karşı koruma sağlar ve slothd undo komutu her dosyayı anında eski yerine geri yükler.
  • Yerel Kontrol Paneli (Glassmorphic Local Dashboard): Canlı istatistikler, taşıma manifestosu denetleyicisi, etkileşimli etkinlik zaman çizelgesi ve ElevenLabs sesli özet oynatıcısı içeren hafif, bağımlılıksız bir web arayüzü (FastAPI + Vanilla ES6) sunar.

Yazılım Geliştiriciler İçin Pratik Çıkarımlar#

Bu proje, üretim seviyesinde yerel yapay zeka uygulamaları geliştirirken dikkate alınması gereken kritik mühendislik dersleri sunmaktadır:

  • Maliyet ve Performans İçin Huni Mimarisi (Modeller: Hangisi, Ne Zaman?): Her dosyayı doğrudan büyük bir görsel/dil modeline (VLM/LLM) göndermek yerine, önce 1-20 ms süren hafif tablosal modellerle (TabPFN) filtreleme yapmak işlem maliyetini ve gecikmeyi dramatik biçimde düşürür.
  • Yapılandırılmış Çıktılar (Structured Output ve JSON Modu): Dosya sınıflandırma gibi otomasyonlarda LLM çıktılarının güvenilir olması şarttır. Gemma 3 çıktılarının Pydantic JSON şemalarıyla zorlanması, sistemin deterministik kodlarla hatasız entegre olmasını sağlar.
  • Üretimde Güvenilirlik ve Hata Toleransı (Production'da Agent Güvenilirliği): Yapay zeka ajanlarına dosya taşıma gibi sistem üzerinde değişiklik yapma yetkisi verildiğinde, SQLite WAL, SHA-256 doğrulaması ve tek komutla geri alma (undo) mekanizmaları veri kaybını önleyen en önemli güvenlik katmanıdır.
  • Tamamen Yerel ve İzole (Air-Gapped) Çalışma: Boşta kalma tespiti, dosya tarama, TabPFN triyajı, Ollama ile belge anlama ve SQLite WAL kayıtlarının tamamı sıfır internet bağlantısıyla %100 yerel olarak çalışabilir.

Kaynak ve atıf

Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • dev.to/dj29/i-built-slothd-a-local-first-offline-capable-ai-daemon-that-patiently-organizes-your-messy-53e7