Skip to content
← Tüm Yazılar

AI / Ajan Sistemleri

CLI-Anything: Arayüzlü Programları Terminalden Yapay Zekâ Ajanlarına Kontrol Ettirmek

Yapay zekâ ajanlarına ekran görüntüsü aldırıp pikseller üzerinden buton aratmak hem aşırı yavaş hem de kırılgan. 50 bin yıldızlı CLI-Anything'i kendi projelerimde denedim; arayüzlü yazılımları ajanların konuşabileceği hafif CLI araçlarına nasıl çevirdiğimi anlatıyorum.

Tarih 20 Eylül 20269 dk okuma
CLI-Anything: Arayüzlü Programları Terminalden Yapay Zekâ Ajanlarına Kontrol Ettirmek

Son aylarda 'Computer Use' ve ekran tıklayan vizyon tabanlı ajanlar çok konuşuldu. Ben de heyecanla kendi masaüstü işlerimi ve şirket içi panellerimi bu yöntemle otomatize etmeye çalıştım. Ancak gerçek hayatta karşılaştığım tablo tam bir hayal kırıklığı oldu: Model her adımda 1920x1080 ekran görüntüsü alırken saniyelerce bekletiyor, çözünürlük veya pencere konumu biraz kaydığında butonu ıskalıyor ve en kötüsü her görsel için deli gibi token faturası çıkarıyordu.

Tam bu kırılganlıktan bıkmışken HKUDS tarafından geliştirilen CLI-Anything ile karşılaştım. Yaklaşımı ilk anda bana dâhice geldi: 'Ajanı zorla insanın kullandığı grafik arayüze (GUI) uydurmaya çalışma; arayüzlü yazılımı ajanın anadili olan CLI formatına sar (wrap et).' Proje, masaüstü uygulamalarını ve kapalı servisleri deterministik, JSON dönen komut satırı araçlarına dönüştürüyor.

Kendi Testlerimde Yaşadığım 3 Büyük Problem ve Çözümü

Görsel tabanlı fare tıklatan ajanlarla CLI-Anything arasındaki farkı bizzat test ettiğimde şu üç somut sonucu gördüm:

  • Token ve Gecikme Tasarrufu: Görsel ajan tek bir işlem için 3-5 saniye düşünürken, CLI komutu milisaniyeler içinde tamamlanıyor ve bağlamda neredeyse hiç yer kaplamıyor.
  • Kırılmazlık: İşletim sisteminde bir bildirim açılsa veya pencere simge durumuna küçülse bile CLI arka planda hatasız çalışmaya devam ediyor.
  • Determinizm: Dönüş kodu (exit code) 0 ise iş bitmiştir. Görsel ajanda olduğu gibi 'Acaba gerçekten kaydetti mi?' diye ikinci bir kontrol ekran görüntüsü almaya gerek kalmıyor.

CLI-Anything Mimarisi ve CLI-Hub

Projeyi yerelime klonlayıp incelediğimde, sadece bir kod kütüphanesi değil aynı zamanda CLI-Hub adında hazır wrapper koleksiyonu sunduklarını gördüm. Sistem herhangi bir uygulamayı şu üç bileşenle ajana hazır hale getiriyor:

  • Standardize Argument Parser: Ajanın tek bir komutta ihtiyaç duyduğu tüm parametreleri geçebileceği net bayraklar (--input, --filter, --export).
  • Structured JSON Output: Konsola basılan renkli metinler yerine ajanların doğrudan parse edebileceği temiz veri çıktıları.
  • Subprocess Sandbox: Ajanın sonsuz döngüye girmesini veya sistemi kilitlemesini önleyen zaman aşımı (timeout) katmanı.
cli-anything-install.sh
# Depoyu klonlayıp ortamı kuruyoruz
git clone https://github.com/HKUDS/CLI-Anything.git
cd CLI-Anything
pip install -r requirements.txt

# Bir uygulamayı ajan dostu CLI komutuna dönüştürme örneği
python cli_generator.py --target "Spotify" --mode "agent-native"

Kendi Claude Code İş Akışıma Nasıl Ekledim?

Claude Code projelerimde CLI-Anything çıktılarını birer Bash tool'u veya Custom Skill olarak tanıttım. Ajanım harici bir masaüstü servisiyle konuşmak istediğinde tek satır bash çalıştırıp yanıtı anında JSON olarak alabiliyor.

Dikkat Edilmesi Gereken Tek Nokta: Eğer hedef programın hiçbir dahili API'ı veya CLI kancası yoksa, ilk wrapper'ı oluştururken biraz tersine mühendislik yapmanız gerekiyor. Ama bir kez kurduktan sonra elde ettiğiniz hız ve güvenilirlik saatlerce uğraşmaya kesinlikle değiyor.