OpenClaw tarzı AI agent nasıl yapılır?
Kendi sunucunuzda çalışan bir AI agent inşa etme sürecini inceleyin. CVE-2026-32922 gibi kritik güvenlik açıklarını ve sistem sertleştirme adımlarını öğrenin.
OpenClaw gerçekte nedir
OpenClaw, kendi sunucunuzda barındırılan kişisel bir yapay zeka ajanıdır. Onu kendi sunucunuzda çalıştırır, halihazırda kullandığınız sohbet uygulamalarına bağlarsınız; ajan shell komutları çalıştırabilir, bir tarayıcıyı kontrol edebilir, dosyalarınızı okuyup yazabilir ve ona gönderdiğiniz mesajlar üzerinden işlem yapabilir. MIT lisanslıdır, öncelik yerel sistemdedir ve 2026 ortası itibarıyla 380.000'den fazla GitHub yıldızına sahiptir; bu da onu platformdaki en çok yıldız alan projelerden biri yapmaktadır. Karmaşanın altında, mantıklı bir şekilde birbirine bağlanmış oldukça küçük bir parça kümesidir. Bu yazı, bu tür bir aracın nasıl inşa edildiğini ve riskli noktaların nerede olduğunu anlamanız için bu parçaları incelemektedir.
Aşağıdaki her bir tasarım seçimini şekillendirdiği için en başta bir uyarı: Mart 2026'da OpenClaw, aralarında 10 üzerinden 9 puan alan kritik bir yetki yükseltme kusuru (CVE-2026-32922) dahil olmak üzere dört gün içinde dokuz güvenlik sorunuyla karşılaştı. Proje, operatör olan siz tarafından sıkılaştırılmak üzere tasarlanmıştır. Herhangi bir komutu çalıştırabilen bir ajan, yalnızca çalıştığı kutu ve etrafına koyduğunuz limitler kadar güvenlidir. Okurken bunu akılda tutun.
Gateway daemon: tek bir işlem, gizli tutulur
Merkezde, genellikle gateway olarak adlandırılan, sürekli çalışan tek bir işlem bulunur. Bu, kontrol düzlemidir (control plane). Mesajları alır, ne yapılacağına karar verir, araçları çalıştırır ve yanıtları geri gönderir. Diğer her şey buna bağlanır.
Gateway hakkındaki en önemli gerçek, hangi adresi dinlediğidir. Varsayılan olarak OpenClaw, bunu loopback adresi olan 127.0.0.1 adresine bağlar; bu nedenle, siz açmadığınız sürece internetten erişilemez. Onu bu şekilde bırakın. Komutları çalıştırmak için çalışan tek işlem budur, bu nedenle açık bir gateway, onu bulan herhangi birine sunucunuza uzaktan erişim imkanı sağlar. Dizüstü bilgisayarınızdan ona ulaşmanız gerektiğinde, bir port açmak yerine bir VPN veya SSH tüneli üzerinden bunu yapın. Ulaşılamayan bir port saldırıya uğrayamaz.
Channel connectors: mesaj alma ve yanıt gönderme
Kişisel bir ajan, yalnızca halihazırda kullandığınız uygulamalardan onunla konuşabildiğiniz sürece kullanışlıdır. Channel connector'lar bunu yapar. Her biri, ilgili platformun bot API'sini veya webhook'larını kullanarak Telegram, WhatsApp, Slack veya Discord gibi tek bir platformla konuşur.
Hepsi için yapı aynıdır. Connector, platforma bir bot kaydeder, gelen mesajınızı alır (platformu sorgulayarak veya platformun gönderdiği bir webhook aracılığıyla), bu mesajı gateway'e iletir ve gateway'in yanıtını aynı API üzerinden geri gönderir. Connector ince bir çeviri katmanıdır. "Bir Telegram mesajı geldi" bilgisini "ajan için metin burada" bilgisine ve tersine dönüştürür. Kendi connector'ınızı oluşturmak, esas olarak bir platformun bot dokümantasyonunu okumak ve mesaj formatını gateway'in formatına eşlemekle ilgilidir.
Beyin ve araç döngüsü (tool loop)
Gateway'in içinde, onu bir chatbot yerine bir ajan yapan kısım bulunur. Bu bir döngüdür.
Bir mesaj gelir. Gateway, mesajı modelin kullanmasına izin verilen araçların listesiyle birlikte bir dil modeline gönderir. Model mesajı okur ve karar verir: doğrudan cevap ver veya bir araç çağır. Eğer bir araç çağırırsa, gateway bu aracı çalıştırır, sonucu yakalar ve sonucu modele geri gönderir. Model sonuca bakar ve tekrar karar verir. Bu, modelin yapacak bir şeyi kalmayana ve nihai bir yanıt üretene kadar tekrarlanır.
Bu döngü, bir ajanın tüm mantığıdır ve ajan bir sohbet uygulamasında veya bir terminalde yaşıyor olsun, döngü aynıdır. Araçların standart bir şekilde bu döngüye nasıl bağlanacağı hakkında Model Context Protocol aracılığıyla araçları bağlamak iyi bir sonraki okuma olabilir; model tarafı için ise modelin kendisini kendi donanımınızda çalıştırmak diğer yarısını tamamlar.
Araç seti temel amaçtır ve tehlikelidir
Araçlar, OpenClaw'ı güçlü kılan unsurlardır. Shell komutu çalıştıran bir araç, tarayıcıyı yöneten bir araç, dosyaları okuyup yazan bir araç. Yukarıdaki döngüye bunlara erişim verirseniz, klavye başında yapabeginiz hemen hemen her şeyi yapabilir. Bu erişim kapasitesi tüm ürünü oluşturur ve aynı zamanda tüm riski de oluşturur.
Bir sohbet uygulamasından gelen talimatlar doğrultusunda hareket eden ve herhangi bir komutu çalıştırabilen bir ajan, geniş bir saldırı yüzeyine sahiptir. Kötü bir talimat, tarayıcı aracının ziyaret ettiği bir web sayfasında gizlenmiş bir prompt-injection saldırısı veya Mart 2026'daki kusurlar gibi bir hata, "takvimimi oku" talimatını "dosyalarımı sil" talimatına dönüştürebilir. Bu nedenle limitler isteğe bağlı eklemeler değildir. Ajanı, yetki yükseltme yapılamaması için sudo yetkisi olmayan, ayrıcalıksız (unprivileged) bir kullanıcı olarak çalıştırın. Tehlikeli araçları bir onay adımıyla sınırlayın, böylece ajan yıkıcı bir işlem yapmadan önce size sorsun. Kontrolden çıkan bir komutun etkisini sınırlamak için araç yürütme işlemini sandbox içine alın. Bir sızıntının saldırgana hesabınızı vermemesi için modelin API anahtarını izole edin.
Shell komutları çalıştıran herhangi bir şeyi dış dünyaya açmadan önce, temel adımları bilinçli olarak tamamlayın. Kendi sisteminiz için bir kontrol listesi oluşturun ve ardından yukarıdan aşağıya uygulayın:
Ayrıcalıksız kullanıcı konusu servisleri ayrıcalıksız bir kullanıcı olarak çalıştırmak başlığında derinlemesine ele alınmıştır; gerçek proje için tam güvenli kurulum kılavuzu ise OpenClaw'ı bir VPS üzerinde güvenli bir şekilde çalıştırmak kısmındadır.
Bellek düz metin dosyalar olarak
Çoğu kişi bir ajanın belleğinin bir veritabanında bulunmasını bekler. OpenClaw'ın öyle değildir. Belleği disk üzerinde düz Markdown dosyaları olarak saklar ve bu seçim kopyalanmaya değerdir.
Dosyalar basittir. Göç edilecek bir şema, çalışır tutulacak bir servis veya öğrenilecek bir sorgu dili yoktur. İncelenebilirler: klasörü açabilir ve ajanın sizin hakkınızda neye inandığını tam olarak okuyabilir, bir dosyayı düzenleyerek hatalı bir notu düzeltebilir veya bir dosyayı silerek bir anıyı silebilirsiniz. Ayrıca taşınabilirdirler, çünkü ajanı yeni bir sunucuya taşımak bir dizini kopyalamaktan ibarettir. Tek kullanıcılı kişisel bir ajan için bir metin dosyaları klasörü yeterlidir ve tüm sistemin anlaşılmasını kolaylaştırır.
Yetenekler (Skills): yetenek eklemek için taşınabilir bir yol
Yerleşik araçların ötesinde OpenClaw, topluluğun çekirdek yapıyı değiştirmeden neler yapabileceğini genişletebilmesi için taşınabilir bir yetenek (skill) formatı kullanır. Bir yetenek, ajana yeni bir görev öğreten talimatların ve bazen kodların kendi kendine yeten bir paketidir. Ajan, görev gerektirdiğinde bir yeteneği yükler.
Böyle bir formatın değeri, yeteneklerin paylaşılabilir hale gelmesidir. Birisi belirli bir iş için bir yetenek yazar, yayınlar ve diğerleri bunu sisteme dahil eder. Kendi ajanınızı inşa ediyorsanız, küçük ve net bir genişleme formatı tanımlamak, daha sonra her yeteneği çekirdek yapıya kodla (hard-coding) yazmaktan sizi kurtarır.
Kendi modelinizi getirin
OpenClaw modelden bağımsızdır (model-agnostic). Kendi dil modelini beraberinde getirmez. Bunun yerine, barındırılan bir API veya kendinizin çalıştırdığı bir model olabilen, seçtiğiniz bir modele bağlanır.
Bu ayrım maliyet, gizlilik ve kontrol açısından önemlidir. Barındırılan bir API, donanım yönetimi gerektirmeden, token başına bir fiyatla ve istemlerinizin sunucunuzdan ayrılmasıyla en güçlü modelleri sunar. Ollama gibi bir araçla sunulan kendi kendine barındırılan bir model, her mesajı kendi kutunuzda tutar ve daha küçük veya daha yavaş bir model çalıştırmanın maliyetiyle sadece donanım ve güç gerektirir. Birçok kişi ikisini karıştırır. Bir ajanı tamamen özel tutmak istiyorsanız, modeli VPS'nizde kendi kendine barındırmak son boşluğu kapatan parçadır ve Hermes Agent karşılaştırılmaya değer bir diğer kendi kendine barındırılan ajandır.
Bir tane inşa etmeli misiniz?
Tüm bunları inşa edebilirsiniz. Parçalar egzotik değildir: bir daemon, birkaç sohbet konektörü, bir model-ve-araç döngüsü, bir Markdown klasörü ve bir eklenti formatı. Bunları anlamak gerçekten yararlıdır, çünkü kullanacağınız her ajanın gizemini çözer ve tehlikenin tam olarak nerede olduğunu söyler.
Ancak çoğu insan için dürüst cevap, yeniden icat etmek yerine gerçek olanı çalıştırmak ve onu sıkılaştırmaktır. OpenClaw zaten konektörleri, döngüyü ve yetenek formatını çözmüştür ve gerçek bir güvenlik incelemesinden geçmiştir. Çabanız, aslında sizin doğru yapmanız gereken kısma, yani kendi sunucunuzdaki kurulum ve sıkılaştırma işlemine harcanmalıdır. Öğrenmek için küçük bir tane inşa edin. Kullanmak için gerçek olanı çalıştırın ve kilitleyin.
Genel temeller bir VPS üzerinde kendi yapay zeka ajanınızı oluşturmak başlığında yer alır ve Claude ile bir ajan oluşturmak aynı fikirleri beyin olarak belirli bir modelle gösterir.
FAQ
OpenClaw gibi bir ajan inşa etmek zor mu?
Bireysel parçalar zor değildir. Bir gateway işlemi, bir sohbet konektörü, bir model-ve-araç döngüsü ve bir dosya klasörü kendi başlarına basittir. Zor olan, bunu güvenli bir şekilde yapmaktır. Sohbet mesajlarından shell komutları çalıştıran bir ajan ciddi bir güvenlik yüzeyidir; sandbox, izinler ve ayrıcalıksız kullanıcı kurulumunu doğru yapmak, özellikleri birbirine bağlamaktan daha fazla iş gerektirir.
OpenClaw neden belleği veritabanı yerine Markdown dosyaları olarak saklıyor?
Çünkü tek kullanıcılı kişisel bir ajan için dosyalar yeterlidir ve çok daha basittir. Çalıştırılacak bir veritabanı servisi yoktur, bellek elle okunabilir ve düzeltilebilir ve ajanı başka bir sunucuya taşımak sadece bir dizini kopyalamaktır. Veritabanı, burada değil, daha büyük ölçeklerde yerini bulur.
Kişisel bir yapay zeka ajanının en tehlikeli kısmı nedir?
Ona hareket etme imkanı veren araçlardır: shell komutları çalıştırmak, bir tarayıcıyı kontrol etmek ve dosyaları yazmak. Bunlar, onu inşa etme sebebidir ve size zarar verme sebebidir. OpenClaw'ın Mart 2026 güvenlik olayı, dört günde dokuz sorun (9.9 dereceli kritik hata dahil), araç katmanına dikkatle yaklaşılması gerektiğine dair en net kanıttır: ayrıcalıksız kullanıcı olarak çalıştırın, yıkıcı işlemleri sınırlayın ve yürütmeyi sandbox içine alın.
Bir tane inşa etmek için kendi dil modelime ihtiyacım var mı?
Hayır. OpenClaw gibi ajanlar modelden bağımsızdır, bu nedenle seçtiğiniz bir modele bağlanırsınız. Bu, en güçlü modeller için barındırılan bir API veya tam gizlilik için kendinizin çalıştırdığı bir model olabilir. Ollama ile kendi kendine barındırma, daha küçük bir model çalıştırma maliyetiyle her mesajı kendi sunucunuzda tutar.