Selenium'dan nefret ediyorum desem yeridir.
Geçen Cumartesi gecemi, altı aydır tıkır tıkır çalışan bir botu tamir etmekle harcadım. Hedef site tasarımını bile değiştirmemişti. Sadece giriş butonundaki CSS sınıf adını btn-primary yerine btn-main-v2 yapmışlardı. O kadar. Bu küçücük değişiklik yüzünden tüm script patladı ve ben hafta sonumu spagetti kod ayıklayarak geçirdim.
Eğer daha önce otomasyon işi yaptıysanız bu hissi bilirsiniz. İşin en berbat yanı budur. Yıllardır "kör" botlar yazıyoruz. Onlara X koordinatına tıkla ya da Y ID'sini bul diyoruz. Onlar da tam olarak söyleneni yapıyor, sorun da bu zaten.
İşte bu yüzden geçenlerde GitHub akışımda hkuds/clawwork deposunu gördüğümde kaydırmayı bıraktım. Tarayıcı otomasyonunu kabusa çeviren o tek şeyi, yani "kırılganlığı" çözmeyi vaat ediyordu.
Son zamanlarda "Clawwork nedir" aramalarının arttığını ve özellikle hkuds versiyonunun arandığını fark edince işin içine girmeye karar verdim. Repoyu çektim, biraz API kredisi yaktım ve bir test sürüşüne çıktım.
İşte bu aracın aslında ne olduğu ve vaktinizi ayırmaya değip değmeyeceği hakkında dürüst incelemem.
Neden "Aptal" Botlardan Bıktık?
Puppeteer veya Playwright gibi araçlarla ilgili sorun, kötü olmaları değil. Aksine harikalar. Sorun, DOM (Document Object Model) yapısına bağımlı olmaları.
HTML etiketleriyle resmen körebe oynuyoruz. "Mavi butonu bul" diyen bir kod yazıyorsunuz. Ama yarın o buton yeşil olabiliyor. Ya da önüne bir div çıkıp tıklamayı engelleyebiliyor.
Geleneksel botlar en ufak değişiklikte çakılır. Sezgi yetenekleri sıfırdır.
Clawwork farklı. Bu, yeni "Agentic AI" (Ajan Yapay Zeka) dalgasının bir parçası. Koda bakmak yerine, Büyük Dil Modellerini (LLM) ve bilgisayarlı görüyü (Computer Vision) kullanarak piksellere bakıyor. Sayfayı tıpkı sizin gördüğünüz gibi görüyor.
Peki, Clawwork (hkuds) Tam Olarak Nedir?
Biraz teknik konuşalım. Clawwork, açık kaynaklı bir tarayıcı otomasyon ajanıdır. Piyasada birkaç farklı versiyonu dolaşıyor ama şu an herkesin konuştuğu, temiz kod yapısı ve düzgün çalışması nedeniyle hkuds/clawwork reposu.
Bunu Playwright'ın üzerine giydirilmiş bir kılıf gibi düşünün. Ama adımları siz kodlamıyorsunuz; onu GPT-4o veya Claude 3.5 Sonnet gibi bir "beyne" bağlıyorsunuz.
Şunu yazmıyorsunuz: await page.click('#submit-btn');
Şunu yazıyorsunuz: "Amazon'a git, 3000 TL altı mekanik klavyeleri ara ve en iyi yorumlara sahip olanı sepete ekle."
Ajan ekran görüntüsü alıyor. Görüntüyü yapay zekaya gönderiyor. Yapay zeka bakıyor ve "Tamam, arama çubuğu üstte, oraya tıklamam lazım" diyor.
Garip bir şekilde insani. Koordinatları kodun içinde yazanlara göre değil, gördüğü şeye göre hesaplıyor.
Neden Özellikle "hkuds" Reposu?
Ben de bunu merak ettim. Neden bu fork?
Olay tamamen kontrolde bitiyor. Şu anki çoğu "AI Agent" aracı pahalı SaaS ürünleri. Aylık ücret ödüyorsunuz ve verilerinizle ne yaptıklarını bilmiyorsunuz.
hkuds versiyonu açık kaynak. Klonlayıp kendi bilgisayarınızda çalıştırabilirsiniz. Kendi API anahtarlarınızı kullanırsınız. Tarayıcı bağlamını yönetmek ve görüntü işleme gibi karmaşık işleri hallettiği için tekerleği yeniden icat etmenize gerek kalmaz.
Onu Bozmaya Çalıştım (Ve Beni Şaşırttı)
Ona kolay bir test vermek istemedim. Karmaşık bir uçak bileti sitesine gönderdim. Hani şu her yerden popup fırlayan, dinamik tarih seçicileri olan sitelerden.
Komutum basitti: "Gelecek Salı için New York'tan Londra'ya aktarmasız bir uçuş bul."
İkinci monitörümde tarayıcının açılmasını izledim.
Birkaç saniye öylece durdu. Bu "düşünme" evresiydi. Sonra mouse hareket etti. Robot gibi aniden sıçramadı. "Tek Yön" butonuna doğru kaydı. Tıkladı. Sonra takvimi açtı.

Burası normalde Selenium scriptlerimin öldüğü yerdir. "Gelecek Salı" tarihi her hafta değişir. Bunu kodla sabitlemek zordur.
Clawwork takvime baktı, bugünün tarihini anladı, gelecek Salı'yı hesapladı ve doğru numaraya tıkladı. Yavaştı, kabul ediyorum. Ama çalıştı. Mouse'un görsel ipuçlarına göre kendi kendine hareket ettiğini görmek biraz ürperticiydi.
Kaputun Altında Ne Var?
Geliştiriciyseniz sistemin nasıl çalıştığını merak ediyorsunuzdur. hkuds reposundaki mimari aslında oldukça zekice.
Üç ana katmanı var:

1. Sürücü (Eller) Burası standart Playwright. Tıklama, yazma ve kaydırma işlerini yapıyor. Burada yeni bir şey yok.
2. Algı (Gözler) İşin havalı kısmı burası. Ekran görüntüsünü alıyor. Eski ajanlar HTML'i metne çevirmeye çalışırdı, bu çok hataya açıktı. Bu versiyon "Vision" (Görü) yeteneğine dayanıyor. Etkileşimli öğelerin üzerine bir ızgara (grid) veya numaralı etiketler koyuyor. Yapay zeka "42" etiketli bir buton görüyor ve sürücüye "42'ye tıkla" diyor.
3. Beyin (Cüzdan) API anahtarınızın devreye girdiği yer burası. Ajan durumu OpenAI veya Anthropic'e gönderiyor. Model bir sonraki adıma karar veriyor. "Bir popup görüyorum, kapatmam lazım."
Gerçekler: Artılar ve Eksiler
Size hayal satmayacağım. Bu teknoloji yeni ve hala pürüzleri var.
İyi Yanları Kendi kendini onarıyor. Web sitesi giriş butonunu sola taşırsa, Clawwork onu görür ve yine de tıklar. Kodunuzu güncellemeniz gerekmez. Bu devasa bir olay. "En güzel görünen seçeneği seç" gibi kodlanması zor mantıkları halledebilir.
Acı Yanları Ucuz değil. Her adım, görüntü verisi içeren bir API çağrısı demek. On bin sayfa tarayacaksanız cüzdanınızı hızla yakarsınız. Ayrıca yavaş. "Gözlemle -> Düşün -> Yap" döngüsü birkaç saniye sürüyor. Bunu yüksek frekanslı işlemler için kullanamazsınız.
Ne Zaman Kullanmalısınız?
Wikipedia'dan veri çekmek için bunu kullanmayın. O kadarı israf olur.
Bunu saç baş yolduran işler için kullanın. Şaşkın bir kullanıcıyı simüle etmeniz gereken QA testleri için kullanın. Çok adımlı formlar içeren karmaşık iş akışları için kullanın. Berbat kod yapısına sahip eski şirket içi araçlar için kullanın.
Kurulum ve Çalıştırma
Yalan söylemeyeceğim, Node veya Docker ortamlarıyla daha önce uğraşmadıysanız kurulum biraz çetrefilli olabilir. Ortam değişkenlerini (env variables) doğru ayarlamazsanız tarayıcı hemen kapanıyor.
Docker konteynerini yerel ağımda düzgün çalıştırmak için kafamı duvarlara vurarak birkaç saat harcadım.

Ben o acıyı çektiğim için, sadece kurulumu anlatan özel bir rehber hazırladım.
> Tam Kapsamlı ClawWork Kurulum Rehberimi Okumak İçin Tıklayın
O rehberde .env dosyasını nasıl yapılandıracağınızı ve benim düştüğüm hatalara düşmemeniz için yapmanız gerekenleri tek tek anlattım.
Web değişiyor. Katı scriptlerden otonom ajanlara doğru gidiyoruz. hkuds/clawwork, bunu normal geliştiriciler için erişilebilir kılan ilk araçlardan biri. Dağınık, eğlenceli ve dürüst olmak gerekirse muhtemelen geleceğin ta kendisi.
Repoya bir göz atın ama akşamınızı benim gibi config dosyalarıyla boğuşarak harcamamak için mutlaka rehberime de bakın.