Bu yazılım bir LLM (Büyük Dil Modeli) kullanarak terminal komutları üretir ve çalıştırır. Bu, potansiyel olarak TEHLİKELİ bir işlemdir.
- ❌ LLM tarafından üretilen komutlar sisteminize zarar verebilir
- ❌ Veri kaybı yaşanabilir
- ❌ Güvenlik açıkları oluşabilir
- ❌ Sistem dosyaları bozulabilir
⚠️ Bu yazılımı kullanarak TÜM SORUMLULUĞU ÜZERİNİZE ALIYORSUNUZ⚠️ Yazarlar hiçbir sorumluluk kabul etmez⚠️ Herhangi bir garanti verilmez⚠️ Kendi riskinizle kullanın
- ✅ Komutları çalıştırmadan önce mutlaka kontrol edin
- ✅ Test ortamında deneme yapın
- ✅ Yedeklerinizi alın
- ✅ Bu uyarıları kabul ettiğinizi onaylayın
Smart Execute, çoklu shell desteği olan gelişmiş bir akıllı komut yorumlayıcısıdır. Doğal dil girdilerini veya hatalı komutları alır, LLM (Büyük Dil Modeli) aracılığıyla işler ve çalıştırılabilir komutlara dönüştürür. Kapsamlı güvenlik katmanları ve gelişmiş özelliklerle donatılmıştır.
- Çok Katmanlı Güvenlik: Kara liste, beyaz liste, risk değerlendirmesi ve anomali tespiti
- Risk Skorlaması: Komutlar tehlike seviyelerine göre kategorize edilir
- Session Yönetimi: Oturum zaman aşımı ve güvenlik kontrolleri
- Rate Limiting: API çağrılarını sınırlayarak kötüye kullanımı önler
- Audit Loglama: Detaylı güvenlik ve kullanım logları
- API Anahtarı Güvenliği: Google Gemini ve diğer API anahtarları asla kodun içinde saklanmaz, çevre değişkenlerinden okunur.
- Google Gemini (Yeni!): Google One Pro aboneliği ile Gemini 3.1 Pro Preview desteği. En güçlü "Complex" provider.
- Ollama: Yerel, ücretsiz LLM desteği (Local ve Remote/Network desteği).
- OpenAI: GPT-3.5/GPT-4 API entegrasyonu.
- Anthropic: Claude API desteği.
- Akıllı Provider Seçimi: Sorgu karmaşıklığına göre otomatik provider seçimi. Basit işler için Ollama, karmaşık işler için Gemini kullanılır.
- Fallback Mekanizması: Bir provider başarısız olursa otomatik olarak yerel veya ağdaki Ollama'ya geçiş.
- Optimized Parsing: Gelişmiş JSON işleme (Gemini v1beta desteği dahil) ve hata yönetimi.
- Smart Network Support: Yerel ağdaki (LAN) Ollama sunucularını fallback olarak kullanabilme.
- Provider Optimizasyonu: Akıllı provider seçimi ve fallback.
- Zsh: Tam destek (varsayılan)
- Bash: Uyumlu key binding'ler
- Fish: Özel fonksiyon desteği
- Universal Logic: Shell'den bağımsız çekirdek mantık
- İnteraktif Kurulum: Adım adım yapılandırma sihirbazı
- Yapılandırma Yönetimi: Güvenlik seviyeleri ve özellik bayrakları
- Status Dashboard: Sistem durumu ve istatistikler
- Gelişmiş Hata Mesajları: Daha açıklayıcı hata raporları
- Doğal Dil Komut Anlama: "Masaüstümdeki tüm metin dosyalarını bul" gibi doğal dil ifadelerini komutlara çevirir
- Hata Düzeltme: Yazım hataları olan veya yanlış komutları düzelterek doğru komutu önerir
- Güvenlik Filtreleri: Çok katmanlı güvenlik sistemi ile tehlikeli komutları engeller
- Kullanıcı Onayı: Risk seviyesine göre kullanıcı onayı ister
- Özelleştirilebilir: Tüm ayarlar kullanıcı tarafından yapılandırılabilir
- Gelişmiş İndikatör Desteği:
@istek: Standart modda doğal dil isteği gönderir (Basit işlerde Ollama, karmaşık işlerde Gemini kullanılır).@?istek: Bir komutun ne işe yaradığına dair LLM'den açıklama ister/komut: Komutu LLM'e göndermeden doğrudan çalıştırır
-
Depoyu Klonlayın:
git clone https://github.com/user/AiTerm.git cd AiTerm -
Otomatik Kurulum Script'ini Çalıştırın:
./scripts/install.sh
-
Terminali Yeniden Başlatın:
source ~/.zshrc # veya ~/.bashrc
-
Kurulum Sihirbazını Çalıştırın:
smart-execute setup
-
Gerekli Araçları Yükleyin:
- Debian/Ubuntu:
sudo apt update && sudo apt install curl jq - Fedora:
sudo dnf install curl jq - macOS (Homebrew):
brew install curl jq
- Debian/Ubuntu:
-
Ana Dosyayı Yükleyin:
source src/core/smart_execute_v2.zsh -
Shell Konfigürasyonunu Güncelleyin:
echo "source $(pwd)/src/core/smart_execute_v2.zsh" >> ~/.zshrc
AiTerm/
├── src/ # Ana kaynak kodları
│ ├── core/ # Çekirdek modüller
│ │ └── smart_execute_v2.zsh # Ana uygulama
│ ├── modules/ # Alt modüller
│ │ ├── security.zsh # Güvenlik modülü
│ │ ├── providers.zsh # LLM provider'ları
│ │ ├── cache.zsh # Cache sistemi
│ │ ├── cross_shell.zsh # Cross-shell desteği
│ │ └── wizard.zsh # Kurulum sihirbazı
│ └── experimental/ # Deneysel özellikler
├── config/ # Konfigürasyon dosyaları
│ ├── security.conf # Güvenlik ayarları
│ └── blacklist.txt # Kara liste
├── scripts/ # Script'ler
│ ├── install.sh # Kurulum script'i
│ └── test.sh # Test suite
├── docs/ # Dokümantasyon
└── data/ # Veri dosyaları
- Zsh 5.0+ (Bash ve Fish için kısmi destek)
- curl
- jq
- Ollama (yerel LLM için)
- Gemini API Key:
$GEMINI_API_KEYçevre değişkeni üzerinden Google One AI Pro desteği.
- İlk çalıştırmada yapılandırma dosyaları otomatik oluşturulur
- Gelişmiş kara liste otomatik yüklenir
- Varsayılan güvenlik ayarları uygulanır
Normalde Zsh'e komut girer gibi komutlarınızı yazın. Ek olarak, Smart Execute aşağıdaki özel sembolleri destekler:
/komut: Komut başında/varsa, komut LLM'e gönderilmeden doğrudan çalıştırılır.@istek: Komut başında@varsa, bu bir doğal dil isteği olarak değerlendirilir ve LLM'e gönderilir.@?istek: Komutun başına@?koyarak, LLM'den komut hakkında açıklama talep edebilirsiniz.
# Doğal dil komut istekleri
@dosyaları listele (Ollama ile hızlı yanıt)
@masaüstündeki txt dosyalarını bul ve hepsini tek bir pdf yap (Gemini 3.1 Pro ile karmaşık işlem)
@sistem bilgilerini göster
# Komut açıklamaları
@?ls -la
@?git status
@?find . -name "*.txt"
# Doğrudan çalıştırma
/ls -la
/pwdDiğer tüm komutlar normal şekilde çalıştırılır. LLM'e göndermek için @ veya @? öneklerini kullanın.
Smart Execute, kullanıcıların sistemlerini yanlışlıkla veya kötü niyetli komutlarla tehlikeye atmalarını önlemek için çeşitli güvenlik katmanları içerir:
-
Kara Liste (
blacklist.txt): Bu dosya, tehlikeli olduğu bilinen komut kalıplarını (regex olarak) içerir. Bir komut bu kalıplardan biriyle eşleşirse, çalıştırılması derhal engellenir. Varsayılan kara liste,rm -rf /,ddkomutları gibi yaygın tehlikeli işlemleri içerir. Kullanıcılar bu listeyi kendi ihtiyaçlarına göre düzenleyebilirler. -
Beyaz Liste (
whitelist.txt): Bu dosya, her zaman güvenli kabul edilen ve LLM'e gönderilmesine gerek olmayan komutları içerir. Bu,ls,cd,pwdgibi sık kullanılan basit komutlar için kullanışlıdır. Beyaz listedeki komutlar doğrudan çalıştırılır. -
LLM Tehlike Algılaması: LLM'e, tehlikeli bir komut üretmesi istendiğinde "DANGER" kelimesini döndürmesi talimatı verilmiştir. Eğer LLM bu yanıtı verirse veya LLM'in ürettiği komut kara listeyle eşleşirse, komut engellenir.
-
Kullanıcı Onayı: LLM tarafından bir komut değişikliği önerildiğinde, bu komut otomatik olarak çalıştırılmaz. Bunun yerine, kullanıcıya önerilen komut gösterilir ve çalıştırmak, düzenlemek veya iptal etmek için bir seçenek sunulur. Bu, kullanıcının her zaman son sözü söylemesini sağlar.
-
ZLE Widget Kullanımı: Kod, komutları doğrudan
execveyaevalile çalıştırmak yerine Zsh Line Editor (ZLE) widget'larını kullanır.smart_accept_linewidget'ı, Enter tuşunun varsayılan davranışını üzerine yazar. Komutlar,zle .accept-linearacılığıyla Zsh tarafından güvenli bir şekilde işlenir. Bu, tırnaklama ve özel karakterlerle ilgili many potansiyel sorunu önler veexeckullanımının getirdiği terminalin kapanması gibi sorunları ortadan kaldırır. -
İndikatörlerin Etkisi: Kullanıcı, komutun başına özel semboller ekleyerek (örneğin
@veya/), komutun nasıl işlendiğini doğrudan kontrol edebilir. Bu özellik, hem esneklik hem de öngörülebilirlik sağlar. -
API Anahtarı Güvenliği: Google Gemini ve diğer API anahtarları asla kodun içinde saklanmaz. Sadece çevre değişkenleri (
$GEMINI_API_KEY) üzerinden okunur, bu da projenin GitHub'da güvenle paylaşılmasını sağlar.
Önemli Güvenlik Notları:
- LLM Güvenilirliği: LLM'ler güçlü araçlar olsalar da, her zaman mükemmel veya tamamen güvenli çıktılar üretmeyebilirler. Smart Execute, LLM çıktılarını filtrelemek için mekanizmalar içerse de, kullanıcıların özellikle karmaşık veya sistem düzeyinde değişiklik yapan komut önerilerini dikkatlice incelemesi önerilir.
- Kara Liste Bakımı: Kara listenin etkinliği, içerdiği kalıpların güncelliğine ve kapsamlılığına bağlıdır. Kullanıcıların, kendi kullanım senaryolarına göre bu listeyi gözden geçirmeleri ve gerekirse güncellemeleri önemlidir.
- Yapılandırma Dosyaları:
~/.config/smart_execute/dizinindeki yapılandırma dosyalarının (özellikleblacklist.txt) yetkisiz erişime karşı korunması önemlidir. - Sorumluluk: Bu araç, komut satırı deneyimini geliştirmek ve bazı riskleri azaltmak için tasarlanmıştır, ancak nihai olarak çalıştırılan komutların sorumluluğu kullanıcıya aittir.
Projenin geliştirilmesi sırasında güvenlik her zaman öncelikli bir konu olmuştur ve kullanıcıların da bu araçları dikkatli ve bilinçli bir şekilde kullanmaları teşvik edilir.
# Tüm testleri çalıştır
./scripts/test.sh
# Sadece temel testler
./scripts/test.sh basic
# Performans testleri
./scripts/test.sh performance# Geliştirme için doğrudan yükle
source src/core/smart_execute_v2.zsh
# Deneysel özellikleri test et
source src/experimental/enhanced_prompts.zsh- src/core/: Ana uygulama mantığı
- src/modules/: Ayrıştırılmış modüller
- src/experimental/: Deneysel özellikler
- config/: Konfigürasyon dosyaları
- scripts/: Yardımcı script'ler
Daha fazla bilgi için docs/AGENTS.md dosyasına bakın.
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
- ✅ Ticari kullanım izni
- ✅ Değiştirme izni
- ✅ Dağıtım izni
- ✅ Özel kullanım izni
- ❌ Garanti yok
- ❌ Sorumluluk yok
ÖNEMLI: Bu yazılım "OLDUĞU GİBİ" sağlanır ve yazarlar hiçbir garanti vermez. Yazarlar, bu yazılımın kullanımından doğabilecek hiçbir zarar için sorumlu tutulamaz.
Bu açık kaynak bir projedir. Katkılarınızı memnuniyetle karşılarız, ancak:
- Hiçbir garanti verilmez
- Teknik destek zorunluluğu yoktur
- Yazarlar hiçbir sorumluluk kabul etmez
- Kullanım tamamen kendi riskinizedir
Son Uyarı: Bu araç güçlü ve potansiyel olarak tehlikelidir. Sadece deneyimli kullanıcılar tarafından, dikkatli bir şekilde kullanılmalıdır.
- Cache Sistemi Optimizasyonu:
- Boş response döndürme sorunu çözümü
- Async cache işlemleri iyileştirmesi
- Cache invalidation mekanizması
- Performance testleri
- UI/UX İyileştirmeleri:
- Interactive komut önizleme
- Renkli çıktı desteği genişletme
- Progress indicator'ler
- Ek Provider Desteği:
- Azure OpenAI desteği
- Lokal model alternatifleri
- Gelişmiş Güvenlik:
- ML-based anomaly detection
- Behavioral analysis
- Smart sandboxing