
🤖 Claude'u Evdeki Küçük Makinede 7/24 Çalıştırıp Telegram'dan Kullanıyorum
İkinci bir vault kopyasını evdeki küçük bir makinede Docker ile 7/24 çalışan Claude Code'a bağladım ve Telegram'dan kullanıyorum. Konsept ve tuzaklar.
📝 Özet
Bir süredir kişisel ajanım Totty'yi yalnızca PC'mde kullanıyordum. Şimdi aynı vault'un (Markdown notlarından oluşan hafıza klasörümün) ikinci bir kopyası, evdeki küçük bir makinede, Docker konteynerinde 7/24 çalışan bir Claude Code ile duruyor. Telefondan iki kapıdan ulaşıyorum: Telegram ve Remote Control.
Bu yazıda ne yaptığımı, nasıl çalıştığını ve hangi tuzaklara düştüğümü anlatıyorum. Networking ve Docker konusunda uzman değilim, hobi olarak uğraşıyorum. Yani bu bir kurulum rehberi değil, çalışan bir konseptin hikâyesi.
🎯 Neden Böyle Bir Şey İstedim?
PC kapalıyken ya da dışarıdayken aklıma bir şey geldiğinde ajanıma ulaşamıyordum. Evde zaten 7/24 açık duran küçük bir makine vardı. Fikir basitti: Totty'nin vault'unun bir kopyası orada yaşasın, ben telefondan yazayım, o da çalışsın.
Hedef "her şeyi uzaktan yapayım" değildi. Daha küçük ve gerçekçiydi: not almak, bir şey sormak, blog taslağı çıkartmak, evdeki sistemin durumuna bakmak.
🚪 İki Kapı: Telegram ve Remote Control
Aynı makineye iki farklı yoldan giriyorum:
- Telegram: Hızlı ve hafif. Mesaj yazıyorum, cevap geliyor. Boştayken makinenin kaynak kullanımı neredeyse hiç görünmüyor. Bot yalnızca benim sohbetimden gelen mesajları dinliyor.
- Remote Control: Claude Code'un kendi uzaktan kontrol özelliği. Daha uzun, daha derin işler için. İzin soruları doğrudan telefonuma düşüyor, ben onaylıyorum ya da reddediyorum.
İkisi aynı vault'a bakıyor, ama farklı ruh hâlleri için. Kısa soru Telegram'a, uzun iş Remote Control'e gidiyor.
🔄 İki Makine, Tek Hafıza
En çok düşündüğüm kısım buydu: vault artık iki yerde yaşıyor. Biri PC'de, biri evdeki makinede. İkisi de aynı notlara yazarsa ne olur?
Çözümü git ile kurdum:
- İki taraf da aynı ana dala senkronlanıyor.
- Her cevaptan sonra commit atmıyorum. Bu geçmişi çöpe çeviriyordu. Bunun yerine iş durulunca, yani bir süredir kimse dosyalara dokunmamışsa, tek bir commit atılıyor. Bir çalışma, bir commit.
- Acele edersem Telegram'dan
/senkronyazıyorum, sonucu bana geri bildiriyor. - Aynı satır iki yerde değişirse işlem geri alınıyor ve bana uyarı düşüyor. Sessizce bozulmasındansa görünür bir çakışma tercihim.
Bir de şu var: konteynerdeki Totty bazı işleri yapamıyor (görsel düzenleme, proje repoları gibi). Böyle bir şey istediğimde "bunu yapamam, PC kuyruğuna ekledim" diyor ve ortak bir kuyruk dosyasına not düşüyor. PC'ye oturunca devamını orada getiriyorum.
🔐 Sır Görmeyen Ajan
Bir ajanı 7/24 açık bırakmak, sırların nerede durduğunu ciddiye almayı gerektiriyor. Kurduğum düzen şu mantıkta:
- Claude hiçbir sır görmüyor. Sırlar yalnızca en yetkili kullanıcıda duruyor. Telegram köprüsü ve Claude ayrı kullanıcılar olarak çalışıyor, birbirlerinin ortamını okuyamıyor.
- Sır gereken iş küçük bir sarmalayıcıdır. Örneğin Claude'un bir görseli sunucuma yüklemesi gerekiyor. Bunun için tek amaçlı bir betik var: yetkili kullanıcıyla çalışıyor, girdiyi doğruluyor, işini yapıyor, çıktıdan hassas bilgiyi maskeliyor. Claude yalnızca betiği çalıştırıyor, anahtarı hiç görmüyor.
- Router'a salt okunur bir bakış. Evdeki ağ cihazının durumunu okuyabiliyor ama değiştiremiyor. Ona verilen anahtar, sabit bir komut listesine kilitli.
🧱 İzin Duvarı ve Dolanmamak
Telegram'dan gelen isteklerde Claude, izin listesinde olmayan hiçbir aracı çalıştıramıyor. Burada kimseye "onaylıyor musun?" diye soramadığı için reddediliyor.
Asıl ilgimi çeken, reddedildiğinde ne yaptığı oldu. Bir kez bir dosyaya yazması gerekti ve izin yoktu. Başka bir yoldan dolanmaya çalışmadı, bana neyin eksik olduğunu söyledi. Ben de izni ekledim. Güvenlik duvarının asıl değeri duvarın kendisi değil, ajanın duvarı gördüğünde durup sormasında. Bunu kural olarak da yazdım.
🛠️ Şimdilik Neler Yapabiliyor?
- Telegram'dan bir görsel istiyorum, Gemini ile üretiyor ve sohbete düşürüyor.
- Blog yazıları için paylaşım kartını (og-card) hazırlıyor.
- Blog taslağını sitemin içerik yönetim sistemine açıyor. Bu yazı da öyle hazırlandı.
- Evdeki ağın durumunu okuyup özetliyor.
- PC'de ne olup bittiğini görüp "sen yokken şunlar oldu" diye özet geçiyor.
🪤 Düştüğüm Tuzaklar
- "Reddedildi" ile "zaman aşımı" aynı şey değil. Bir bağlantı hemen reddediliyorsa karşıda bir kapı var ama o kapıdan izin yok demektir. Uzun süre sessizlik varsa paketler bir yerde kayboluyordur. İkisinin arkasındaki sorun tamamen farklı çıktı. Hata mesajına dikkatle bakmak teşhisin yarısı.
- Windows'ta dosya izinleri yok sayılıyor. İlk denemeyi Windows'ta yaptım, sır dosyası konteynerde herkesin okuyabildiği izinle göründü. Ölçmeseydim fark etmeyecektim. Ders: güvendiğin bir şeyi ölçmeden güvenme.
- Hazır görünen ortam hazır olmayabilir. Konteyneri yeniden kurunca uzaktan kontrol oturumu düşebiliyor ve eski oturuma yazdığım mesajlar boşa gidiyor. Her yeniden kurulumdan sonra yeni oturum açmayı alışkanlık yaptım.
- Otomatik güvenlik katmanları da sizi durdurabilir. Claude'un kendi güvenlik kontrolü, dışarıdan tetiklenen bir sarmalayıcıyı bir kez engelledi. Sebebi makul geliyordu, ben de elle onaylayıp devam ettim.
🚀 Sonuç
Bir tarafta PC'deki Totty, diğer tarafta evdeki küçük makinede 7/24 uyanık duran kopyası var. Aralarında git, ortak bir kuyruk dosyası ve birkaç dar köprü. Hepsi hobi ölçeğinde, ama günlük hayatımda gerçekten işe yarıyor: yürürken aklıma gelen bir blog fikrini telefondan yazıp eve geldiğimde taslağı hazır bulabiliyorum.
Sırada daha çok otomasyon var. Zamanlanmış görevler, sesli mesaj, e-posta özeti gibi. Hangisi çalışırsa onu da yazarım.