Yapay zekâ asistanına bilgisayarını nasıl kontrol ettirirsin?

Windows PowerShell · macOS · OpenAI · Kurulum ortalama 2 gün · İleri

Yapay zekâ asistanına bilgisayarını nasıl kontrol ettirirsin?

Bu sistem şu an günlük kullanımımda. Odaya girmeden masaüstünde müzik açıyorum, ofisteki bilgisayarı telefondan uyutuyorum, ekranda ne olduğunu soruyorum. Üç aynı parçadan oluşuyor: her bilgisayarda çalışan minik bir ajan, sunucuda komutu anında ileten bir bekleme merkezi ve asistanın bir aracı. Ajan yalnız tanımlı, zararsız işleri yapıyor — rastgele komut çalıştırmıyor, dosya silmiyor. Bu ileri seviye bir rehber; kurulumu ben kendi bilgisayarlarıma yaptım. Sonunda aynısını sıfırdan kurdurmak için hazır bir Claude Code promptu var. Not: bu yalnız kendi cihazların içindir; başkasının bilgisayarına izinsiz kurmak yasadışıdır.

Neye ihtiyacın var?

  • Kontrol etmek istediğin Windows ve/veya Mac bilgisayarlar (aynı ajan ikisinde de çalışır)
  • Zaten çalışan bir yapay zekâ asistanı / sohbet arka ucu (bende kendi CRM asistanım)
  • Komutu ileten küçük bir servis için bir sunucu (bir Node işlemi yeter)
  • Bilgisayarların açık ve internete bağlı olması — ağları aynı olmak zorunda değil

Adım adım

1. Üç parçayı kafanda kur

Telefondaki asistan, sunucudaki bir bekleme merkezi ve her bilgisayardaki küçük bir ajan. Asistan isteğini anlıyor, hangi bilgisayar olduğuna karar veriyor ve tek bir düşük seviye komutu (ör. "şu adresi aç") kuyruğa yazıyor. Bekleme merkezi, bilgisayarların açık tuttuğu bağlantı üzerinden komutu anında ilgili bilgisayara itiyor. Ajan komutu uyguluyor ve sonucu geri bildiriyor. Ağların aynı olması gerekmiyor; her şey internet üzerinden gidiyor. Ölçtüğüm gidiş-dönüş yaklaşık yarım saniye.

Üç parçayı kafanda kur
Üç parça: telefondaki asistan, sunucudaki bekleme merkezi, bilgisayardaki ajan.

2. Ajan: her bilgisayarda çalışan minik program

Windows'ta bir PowerShell betiği, Mac'te bir JXA (osascript) betiği. İkisi de arka planda, penceresiz çalışıyor ve bilgisayar her açıldığında kendiliğinden başlıyor. Windows tarafında Başlangıç klasörüne koyduğum küçük bir bekçi betiği ajanı başlatıyor; ajan kapanırsa birkaç saniyede yeniden açıyor — MacBook'taki launchd'nin yaptığının aynısı. Beklerken işlemci kullanmıyor: bekleme merkezine uzun bir bağlantı açıp öylece duruyor. Önemli bir tuzak: JXA'da uzun süren bir kabuk komutuyla beklersen osascript sürekli meşgul olup pil yiyor; bunu ağ katmanını doğrudan kullanarak çözdüm, beklerken işlemci neredeyse sıfır.

3. Bekleme merkezi neden ayrı bir servis?

İlk aklıma gelen, ajanların doğrudan sitenin PHP'sine bağlanmasıydı. Ama uzun bekleme her bilgisayar için bir PHP işçisini kilitliyordu; birkaç bilgisayar site havuzunu tüketebilirdi. Bu yüzden uzun beklemeyi ayrı, hafif bir servise taşıdım (bende bir Node işlemi). Asistan komutu veritabanına yazıyor ve bu servise "uyandır" diyor; servis ilgili bilgisayarın bekleyen bağlantısını anında döndürüyor, bilgisayar komutu çekip uyguluyor. Site yavaşlamıyor, komut anında gidiyor.

4. Kurulum: tek komut, yönetici gerekmez

Asistanda Ayarlar → Bilgisayarlar bölümünden "Windows bağla" ya da "Mac bağla" diyorum; 6 haneli, tek kullanımlık, 30 dakika geçerli bir kod ve bir kurulum komutu veriyor. Komutu bilgisayarda terminale yapıştırıyorum. Ajan kullanıcı klasörüne kuruluyor, açılışta kendiliğinden başlayacak şekilde ayarlanıyor ve sunucuya bağlanıyor. Kod ile bir kez eşleşiyor; ondan sonra kimliği cihaza özel bir belirteç oluyor ve bu belirteç sunucuda yalnız şifreli özet olarak saklanıyor.

Kurulum: tek komut, yönetici gerekmez
Kod al, komutu yapıştır, antivirüs istisnası, isim ver.

5. Antivirüs tuzağı: yanlış alarm

Gerçek bir bilgisayarda ajan ilk çalıştığında çalışmadı: Windows Defender uzaktan yönetim betiğini "kötü amaçlı içerik" sanıp engelledi. Bu yaygın bir yanlış alarm — tuş gönderme, ekran görüntüsü gibi işlevler antivirüslere hep şüpheli görünür. Kendi bilgisayarım için çözüm, ajan klasörünü Defender'ın istisnalarına eklemek: yönetici olarak tek seferlik bir komut. Bunu ayrı bir adım yaptım çünkü ancak yönetici hakkıyla yapılabiliyor. Başka bir antivirüs varsa onun ayarından da aynı klasörü güvenli işaretlemek gerekiyor.

6. Birden çok bilgisayar: isim ver

İki Windows ve bir Mac bağlayınca "masaüstünde aç" komutu bazen yanlış bilgisayarda açıldı, çünkü sistem en son sinyal veren bilgisayarı seçiyordu. Düzelttim: önce ada bakıyor ("ikinci bilgisayarda", "ofiste"), ad yoksa türe ("masaüstü/PC" → Windows, "MacBook/laptop" → Mac), o da yoksa o türün ana (ilk kurulan) bilgisayarına gidiyor. Hiçbir zaman sessizce başka bir bilgisayarda çalışmıyor: hedef kapalıysa "şu an açık olan: …, orada yapayım mı?" diye soruyor. Her bilgisayara Ayarlar'dan dost bir ad veriyorum.

7. Ne diyebilirim

Günlük kullandıklarım: YouTube'da şarkı ya da video açma (kendisi bulup açar), site açma, Google'da arama, uygulama açma ve kapatma, ses ve medya tuşları (kıs/aç, durdur, sonraki), "ekranda ne var" (ekran görüntüsü alıp kısaca anlatır), ekran kilitleme, aktif pencereye yazı yazma. Önemli bir ayrım: "CapCut'ı kapat" uygulamayı kapatır, "bilgisayarı kapat" ise cihazı kapatır ve önce onay sorar. Sesli görüşmede de aynısı geçerli — telefona konuşurum, iş bilgisayarda olur.

Ne diyebilirim
Aç/kapat, ses, ekran, uyut, ışık — hepsi tek cümleyle.

8. Uyut, kapat ve uzaktan aç

"Bilgisayarı uyut" hemen uyku moduna alıyor; "kapat" cihazı kapatıyor ama önce "kaydedilmemiş işler kapanır, emin misin?" diye soruyor; sonuç kapanmadan önce gönderiliyor ki asistan "kapatıldı" diyebilsin. Uzaktan açma en zor kısımdı. Kapalı/uyuyan bir bilgisayarı, aynı evde açık olan başka bir bilgisayarın ağa yolladığı bir "uyandırma paketi" ile açıyorum. İki tuzak: bu paket Wi-Fi'de neredeyse hiç çalışmaz, kablolu (Ethernet) bağlantı gerekir; ve paketin yayın yerine doğrudan hedefin adresine (unicast) gitmesi gerekiyor, yoksa uyuyan kart duymuyor.

9. Güvenlik: ajan neyi yapar, neyi yapmaz

Bu sistem bilgisayarına uzaktan erişim veriyor, o yüzden sınırları en baştan koydum. Ajan yalnız yukarıdaki tanımlı işleri yapıyor: keyfi komut çalıştırma, dosya silme, program indirme gibi şeyler ajanda hiç yok. Her isteğin girdisi doğrulanıyor (ör. yalnız geçerli web adresleri, yalnız izinli tuşlar). Eşleşme kodu tek kullanımlık ve kısa ömürlü; cihaz belirteci sunucuda düz metin değil, şifreli özet. Bir bilgisayarı Ayarlar'dan "Kaldır" dediğimde ajan bir sonraki bağlantıda yetkisiz yanıtını alıp kendini siliyor. Ve en önemlisi: bu yalnız kendi cihazların için — başkasının bilgisayarına izinsiz kurmak suçtur.

10. Hızlı ve hafif tut

Beklerken ajan işlemci kullanmıyor, bu yüzden bilgisayar açık dururken yük neredeyse sıfır. Komut geldiğinde gidiş-dönüş yarım saniye civarı. Sesli görüşmede bir küçük hızlandırma daha yaptım: eğer bir turdaki bütün işler bilgisayar komutuysa ve hepsi sorunsuz olduysa, arka plandaki ikinci düşünme turunu atlıyorum ve aracın kısa sonucunu doğrudan sese veriyorum — böylece "mavi yaptım" cevabı bir saniye daha erken geliyor. Işık komutlarında kalan tek yavaşlık, ışık aracını her seferinde ayrı bir programla çalıştırmam; onu sürekli açık bir bağlantıya taşıyınca daha da hızlanıyor.

11. Aynısını kurdur

Build me a system that lets my phone assistant control my own computers (Windows PCs and a Mac). Work step by step, show me every file before you apply it, and keep it safe: the agent must ONLY run a fixed allow-list of harmless actions, never arbitrary commands, and I must be able to remove any computer instantly.

Architecture (three pieces)
- A tiny agent that runs on each computer. Windows: a PowerShell script that starts on login from the Startup folder via a watchdog .vbs (restarts itself if it dies, ~0% CPU while idle). Mac: a JXA script (osascript) under a LaunchAgent with KeepAlive. Both self-update from the server and delete themselves when I remove the device.
- A small "waiting hub" (a Node service on the server, loopback only, behind a token) that holds a long-poll from each agent, so a command reaches the computer in well under a second without the agents busy-polling. Don't tie up a PHP-FPM worker for the wait.
- My assistant backend: a `computer` tool that turns a natural request into one low-level action, queues it, wakes the hub, waits a few seconds for the result.

Pairing and security
- No login on the agent endpoints; identity is a per-device token created from a one-time 6-digit code (30 min). Store only a SHA-256 hash of the token on the server. A removed device returns 401 on its next poll and self-deletes.
- The agent executes ONLY a fixed set: open URL / YouTube (server finds the first video) / Google search, open or close an app (by name/known URI, graceful close then force), media & volume keys, screenshot, lock screen, type text, power (sleep / shut down / restart, result sent before acting), Wake-on-LAN relay, RGB via OpenRGB's SDK. No shell, no file delete, no eval. Validate every argument.
- Power off / restart needs an explicit confirmation from me; sleep doesn't.

Behaviour details that cost me time
- Windows Defender flags remote-control tooling as malicious (AMSI). Add an admin one-liner that puts the agent folder in Defender's exclusions and (re)starts the watchdog.
- Multiple computers: pick by name first (I name them "Desktop", "Office"), then by type word, else the primary (first paired) machine of that type. Never silently run on a different computer; if the target is offline, tell me which others are online and ask.
- Wake-on-LAN over Wi-Fi usually fails (the card sleeps); it works reliably over Ethernet, and the magic packet must be UNICAST to the target IP (relay sends it from an awake computer on the same LAN), not just broadcast.
- In the live voice mode, add "computer" to the delegation list too, and skip the second model round when every tool call in a turn is a computer action that plainly succeeded — the tool's short result goes straight to the voice.

Give me the install command, the one-time admin exception step, and a settings screen to pair, rename and remove computers.

İpuçları

  • İlk kurulumda antivirüs istisnasını atlama; ajan sessizce hiç çalışmaz ve nedenini bulmak vakit alır.
  • Ajanı yalnız bir izin listesiyle sınırla. Kolaylık olsun diye "her komutu çalıştır" kapısı açarsan, o kapı bir gün sana karşı kullanılır.
  • Bilgisayarlara insan gibi adlar ver ("Masaüstü", "Ofis"). Birden çok cihazda doğru olana konuşmanın en kolay yolu bu.
  • Uzaktan açmayı kablolu bağlantıyla ve uyandırma paketini doğrudan hedefe göndererek dene; Wi-Fi'de vakit kaybetme.
  • Kapatma gibi geri dönüşü olmayan işleri onaya bağla; uyutmayı serbest bırak. Günlük kullanımda denge bu.

Sık sorulanlar

Bilgisayarım kapalıyken çalışır mı?

Kontrol için bilgisayarın açık ve internette olması gerekir. Kapalı ya da uyuyan bir bilgisayarı yalnız aynı evde açık başka bir cihaz varsa ve kablolu bağlantıyla (Wi-Fi'de değil) uzaktan uyandırabiliyorum.

Güvenli mi? Birisi bilgisayarıma girebilir mi?

Ajan yalnız tanımlı, zararsız işleri yapıyor; keyfi komut çalıştırma ya da dosya silme ajanda hiç yok. Eşleşme tek kullanımlık kodla oluyor, cihaz kimliği sunucuda şifreli özet olarak duruyor ve istediğin an kaldırabiliyorsun. Yine de bu bilgisayarına uzaktan erişimdir; yalnız kendi cihazlarına kur ve izin listesini geniş tutma.

Hem Windows hem Mac'te mi çalışıyor?

Evet. Aynı fikir iki işletim sisteminde de: Windows'ta bir PowerShell ajanı, Mac'te bir JXA ajanı. Komutlar aynı; her biri kendi sisteminin yoluyla uyguluyor (ör. uygulama açma, ekran görüntüsü).

Sesle mi yazıyla mı?

İkisi de. Yazarak "masaüstünde Excel aç" diyebilirim; sesli görüşmede de aynısını söylerim, iş bilgisayarda olur ve asistan tek cümleyle sonucu söyler.

Kasadaki RGB ışıkları da mı?

Anakarta bağlı ışıkları OpenRGB adlı ücretsiz araçla yönetebiliyorum: "ışıkları kırmızı yap", "kapat". Yalnız kendi kumandasına bağlı, bilgisayara kablosu olmayan şeritler yazılımla değişmiyor.

Ne kadar hızlı?

Komut verdiğimde gidiş-dönüş yaklaşık yarım saniye. Beklerken ajan işlemci kullanmadığı için bilgisayar açık dururken fark edilir bir yük yok.