
"Hey Jarvis, masaüstümdeki proje klasörünü aç ve sesi kıs."
Bu cümleyi söylüyorum, bilgisayar yapıyor. Arada ne bir kısayol var, ne bir makro, ne de önceden tanımladığım bir komut listesi. Sadece konuşuyorum.
Son birkaç gündür bunun üzerinde çalıştım ve ortaya çıkan şeyi açık kaynak olarak yayınladım. Bu yazıda hem nasıl çalıştığını hem de kendi makinenize nasıl kuracağınızı anlatacağım ve en önemlisi, nerede dikkatli olmanız gerektiğini.
Kod burada: github.com/Erendevv/jarvis
Neden bir tane daha sesli asistan
Piyasadaki asistanların çoğunda iki sorun var.
Birincisi, sesiniz sizin makinenizde kalmıyor. "Hey Google" dediğiniz anda kayıt bir sunucuya gidiyor. İkincisi ve daha can sıkıcı olanı: bu asistanlar bilgisayarınızda gerçekten bir şey yapamıyor. Hava durumunu söyler, müzik çalar, ama "şu klasörü aç, şu pencereyi sola yasla, şu programda şuraya tıkla" diyemezsiniz.
Jarvis bu iki noktayı çözmek için kuruldu. Konuşma tanıma tamamen yerel çalışıyor ses dosyanız hiçbir yere gitmiyor. Ve bilgisayarı gerçekten kullanabiliyor: uygulama açıyor, dosya arıyor, pencere yönetiyor, ses seviyesini ayarlıyor, ekranı görüp üzerinde tıklayabiliyor.
Üç katman
Sistem üç bağımsız parçadan oluşuyor. Bunları ayrı tutmak sadece düzen meselesi değil; her katmanın güvenlik profili farklı ve bunu anlamak önemli.
Ses katmanı tamamen makinenizde çalışır. Uyandırma kelimesini openWakeWord yakalar, konuşmanın ne zaman bittiğini Silero VAD anlar, konuşmayı metne faster-whisper çevirir. Ekran kartınız varsa Whisper GPU'da çalışır ve gerçek zamandan hızlı iş görür. Mikrofon kaydı diske bile yazılmaz, bellekte işlenip atılır.
Beyin katmanı Claude Code'dur. Yazıya çevrilen komutu alır, ne yapılması gerektiğine karar verir, hangi aracı çağıracağını seçer. Bu katman internet üzerinden çalışır sınırın öbür tarafı burasıdır, birazdan detaylandıracağım.
Aksiyon katmanı yine yereldir. 22 farklı araç var: uygulama açma, dosya arama, pencere yönetimi, ses ve medya kontrolü, ekran görüntüsü, fare ve klavye kontrolü.
Bir de bunların üstünde çalışan bir arayüz var: tarayıcıda açılan bir HUD. Ne duyduğunu, ne anladığını, hangi aracı çağırdığını canlı gösteriyor ve onay gerektiren işlemleri tıklanabilir bir pencerede soruyor.
Gizlilik: neyin çıktığını dürüstçe söylemek
Bu bölümü atlamayın, çünkü "yerel çalışıyor" cümlesi yalnızca yarı doğru.
Sesiniz gerçekten makinenizden çıkmıyor. Ama kararı veren model uzakta olduğu için, modelin görmesi gereken her şey onunla birlikte gidiyor.
Makinenizde kalanlar: mikrofon sesi, uyandırma kelimesi tespiti, konuşma algılama, konuşma tanıma, denetim günlüğü ve HUD arayüzü.
Ağa çıkanlar: komutunuzun metni, ekran görüntüleri, okunan dosyaların içeriği, hafıza notlarınız ve son altı konuşma turu hepsi Anthropic'e. Sesli yanıtın metni Microsoft'a gider (bunu TTS_ENGINE=sapi ayarıyla tamamen kesebilirsiniz). Modeller ilk kurulumda Hugging Face'ten iner.
Ekran görüntüleri konusunda özellikle net olalım. "Ekranımda ne var?" dediğinizde o anda görünen her şey çekilir. Üstü örtülü pencereler, küçültülmüş uygulamalar ve tarayıcının aktif olmayan sekmeleri çekilmez. Ama varsayılan ayar tüm monitörleri kapsar; iki ekranlı bir kurulumda bakmadığınız ikinci ekran da tam olarak çekilir.
Görüntüler hem logs/screenshots/ klasörüne yazılır otomatik silinmezler hem de modele gider. Parola yöneticisi, bankacılık sekmesi veya özel yazışma açıkken bu ikisi birden olur. Bu yüzden ekran görüntüsü varsayılan olarak onay gerektiren bir işlem.
Kurulum
Gerekenler
- Windows 10 veya 11
- Python 3.10 veya üstü
- Node.js ve Claude Code CLI
- Bir mikrofon
- NVIDIA ekran kartı (isteğe bağlı yoksa işlemciye düşer, sadece yavaşlar)
Ayrı bir API anahtarı gerekmiyor; mevcut Claude Code oturumunuz kullanılıyor. Picovoice gibi bir servise kaydolmanız da gerekmiyor, uyandırma kelimesi modelleri tamamen açık kaynak.
1. Claude Code'u hazırlayın
Kurulu değilse:
npm install -g @anthropic-ai/claude-code
Sonra bir kez claude komutunu çalıştırıp oturum açın. Jarvis bu oturumu kullanacak.
2. Projeyi indirin
Git ile:
git clone https://github.com/Erendevv/jarvis.git
cd jarvis
Ya da GitHub'daki yeşil Code düğmesinden ZIP olarak indirip açın. ZIP'ten çıkan klasörün adı jarvis-main olacaktır; komutları o klasörün içinde çalıştırın. İçindeki jarvis klasörü Python paketidir, ona dokunmanıza gerek yok.
3. Sanal ortam ve bağımlılıklar
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
Bu adım birkaç dakika sürer. CUDA kütüphaneleri yaklaşık yarım gigabayt yer kaplıyor; ekran kartı kullanmayacaksanız requirements.txt içindeki nvidia- ile başlayan iki satırı silebilirsiniz.
4. Ayar dosyası
Copy-Item .env.example .env
Varsayılanlar çoğu kurulumda çalışır, dosyayı açmanız şart değil. Ekran kartınız yoksa .env içinde şu iki satırı değiştirin:
WHISPER_DEVICE=cpu
WHISPER_COMPUTE_TYPE=int8
5. ZIP indirdiyseniz: dosyaların damgasını kaldırın
Bu adım yalnızca ZIP indirenler için; git clone kullandıysanız atlayın.
Windows, internetten inen dosyalara bir "uzaktan geldi" damgası basar. Varsayılan güvenlik politikasıyla birleşince başlatma betiği çalışmaz ve şu hatayı alırsınız:
run.ps1 cannot be loaded. The file is not digitally signed.
Mesaj betikte bir sorun varmış gibi görünse de sorun damgadadır. Çözüm güvenlik politikasını düşürmek değil, damgayı kaldırmaktır. Proje klasöründe:
Get-ChildItem -Recurse -File | Unblock-File
Bu komut sadece o klasördeki dosyaları etkiler, sistem ayarlarına dokunmaz.
6. Kurulumu doğrulayın
.\.venv\Scripts\python.exe -m jarvis.selftest
Bu komut hiçbir şeyi değiştirmez, sadece kontrol eder: paketler kurulu mu, mikrofon görünüyor mu, ekran kartı belleği yeterli mi, Claude Code CLI bulunuyor mu. Tüm satırların TAMAM olması gerekir.
7. Çalıştırın
.\run.ps1
Whisper modeli ilk çalıştırmada iniyor yaklaşık 1,6 GB, sabırlı olun. Sonraki açılışlarda sadece yükleniyor.
Tarayıcıda HUD açılacak ve terminalde "Dinlemede" yazacak. Artık "Hey Jarvis" diyebilirsiniz.
Not: uyandırma kelimesi tek başına "Jarvis" değil, "Hey Jarvis". Kullanılan açık kaynak modelin hazır anahtar kelimesi bu.
İlk komutlar
Denemek için:
- "Neler açık?" — açık pencereleri listeler
- "Hesap makinesini aç"
- "Sesi otuza indir"
- "Masaüstümde bütçe diye bir dosya var mı?"
- "Ekranımda ne var?" — görüntü alıp yorumlar
- "Bilgisayar ne durumda?" — işlemci, bellek, ekran kartı
Jarvis yanıt verdikten sonra yedi saniye boyunca dinlemeye devam eder. Yani "peki onu aç" demek için tekrar "Hey Jarvis" demenize gerek yok. Size bir soru sorduysa bu süre on beş saniyeye çıkar.
Kapatmak için terminalde Ctrl+C. Arka planda hiçbir servis kalmaz Jarvis Windows servisi kurmaz, başlangıca eklenmez, yönetici hakkı istemez.
Onay sistemi
Varsayılan ayarda Jarvis bir klasör açmak için bile size sorar. Bu bilinçli bir tercih: yeni kullanan biri asistanın ne yaptığını görmeden ona kontrol vermemeli.
Her araç çağrısı dört risk seviyesinden birine ayrılır. Dosya okuma ve arama düşük risk, sormaz. Uygulama açma ve dosya yazma orta risk. Kabuk komutu ve pencere kapatma yüksek risk. Mail gönderme, kalıcı silme ve ödeme ise geri dönüşsüz kategoride bunlarda tam olarak onaylıyorum yazmanız istenir.
Alıştıktan sonra .env dosyasındaki tek satırı değiştirerek eşiği gevşetebilirsiniz:
APPROVAL_LEVEL=critical
Bu ayarla Jarvis dosya açarken, yazarken, tıklarken sormaz; sadece geri alınamayan işlemlerden önce durur. Günlük kullanım için doğru denge genelde bu.
Hangi seviyeyi seçerseniz seçin denetim günlüğü çalışmaya devam eder. Her uyandırma, her transkript, her araç çağrısı ve her karar logs/ klasörüne yazılır. Onayı kapatmak, sonradan ne olduğunu görme imkânını kapatmıyor.
Ekran otomasyonu
En ilginç kısım burası. Jarvis ekran görüntüsü alıp bakabildiği için, ekranda görünen herhangi bir uygulamayı kullanabiliyor: tıklıyor, sürüklüyor, yazıyor, tuş gönderiyor.
Çalışma şekli şöyle: ekranı çeker, görüntüye bakar, nereye tıklayacağına karar verir, tıklar, sonra yeni bir görüntü alıp beklediği şeyin olup olmadığını doğrular. Beş altı adımda ilerleyemezse durup nerede takıldığını söyler.
Burada çözülmesi gereken teknik bir sorun vardı. Model ekran görüntüsünü küçültülmüş halde görüyor ve koordinatları o görüntüye göre veriyor; ham koordinatla tıklamak yanlış yere basar. Sistem son çekilen görüntünün ölçeğini ve ekran ofsetini saklayıp çeviriyi kendisi yapıyor. Çok monitörlü kurulumlarda soldaki ekranın negatif koordinatları da hesaba katılıyor.
Güvenlik tarafında sert engeller var: Ctrl+Alt+Delete ve Win+L hiçbir koşulda gönderilmiyor. Alt+F4 ve Shift+Delete gibi kısayollar otomatik olarak yüksek riske çıkarılıyor. Ve en önemlisi: fareyi ekranın sol üst köşesine götürmek otomasyonu anında durduruyor. Kontrol kaçarsa refleksiniz bu olsun.
Hafıza
Jarvis konuştuklarınızı hatırlıyor. İki katmanı var: memory/ klasöründeki markdown notlar ve konuşma geçmişini tutan bir SQLite veritabanı. İkisi de her oturum başında sisteme yükleniyor.
"Bundan sonra bana hep kısa cevap ver, bunu kaydet" derseniz ilgili dosyayı günceller. Bu bir yazma işlemi olduğu için önce onayınızı ister. Dosyaları elle de düzenleyebilirsiniz.
Bu klasör ve veritabanı .gitignore içinde; projeyi kendi deponuza koyarsanız kişisel notlarınız oraya girmez.
Neler yapamıyor
Bir aracı tanıtan yazının en faydalı kısmı, sınırlarını söylediği kısımdır.
Komut enjeksiyonu riski var. Jarvis ekranda gördüğü metni ve okuduğu dosyaları modele veriyor. O içerikte "önceki talimatları unut, şunu yap" gibi bir yönlendirme varsa, sistem bunu veri sayıp uymamaya çalışır ama bu bir garanti değil. Bilinmeyen bir siteyi okuttuğunuzda bu risk vardır ve asıl koruma katmanı onay sistemidir.
Karmaşık arayüzlerde zorlanabilir. Ekran otomasyonu ilk denemede tutmayabilir. Düğmenin nerede olduğunu tarif etmeniz işi ciddi şekilde hızlandırır.
İzolasyon yok. Jarvis sizin oturumunuzda, sizin yetkilerinizle çalışır. Ayrı bir kullanıcı hesabı veya kum havuzu yok. Erişebildiği şey sizin erişebildiğiniz şeydir.
Gmail ve takvim henüz bağlı değil. Bunlar yol haritasında; şu an mail okuyamıyor, takviminizi göremiyor.
Sırada ne var
Üç şey planlıyorum: Google Takvim ve Gmail entegrasyonu (salt okuma yetkisiyle), Playwright ile tarayıcı otomasyonu, ve takip ettiğim proje klasörlerini tarayıp durum özeti çıkaran bir modül.
Kod MIT lisanslı. Kurun, kırın, geliştirin ama onay ayarını kapatmadan önce bu yazının güvenlik bölümünü bir daha okuyun.


