@takimcizgisi/ajan
v0.2.5
Published
AJAN AI - Otonom yerel CLI AI kodlama ajanı (Gemma 4 E2B + node-llama-cpp)
Maintainers
Readme
AJAN AI — Tamamen yerel, açık kaynak yapay zeka kodlama ajanı.
Gemma 4 E2B + Node-llama-cpp ile tamamen çevrimdışı çalışır — verileriniz cihazınızdan çıkmaz.
🛠️ Nasıl Yapıldı?
✨ Özellikler
- 🤖 Yerel AI Motoru — Node-llama-cpp ile tamamen çevrimdışı ve gizlilik odaklı
- 🖥️ Çift Arayüz — Terminal (TUI) ve masaüstü GUI (Electron)
- 💬 Sohbet Modu — Çoklu oturum, geçmiş kaydı ve model seçimi
- 🔧 Görev / Ajan Modu — Dosya, terminal, web ve patch araçlarıyla otonom görevler
- 📥 Model Yönetimi — Modelleri indirme, kurma ve yönetme
- 📁 Proje Yönetimi — Ajanı belirli proje klasörlerine bağlama
- ⚙️ Yapılandırılabilir — Kullanıcı dostu ayarlar ekranı
- 📦 Kolay Kurulum — Kurulumdan sonra ek yapılandırma gerektirmez
📖 İçindekiler
🖥️ Teknik Bilgiler
| Özellik | Bilgi | |---------|-------| | 🧠 Model | Gemma 4 E2B (GGUF) | | 🔌 AI Motoru | node-llama-cpp | | 💾 RAM / VRAM | Yaklaşık 4 GB | | 🧾 Bağlam | Yüksek token (Gemma 4 E2B) | | 🖥️ Platform | Windows, Linux, macOS | | 🖱️ Arayüz | CLI (TUI) + Electron GUI | | 📝 Dil | TypeScript |
📥 Kurulum
🗂️ Yayın (Release) Politikası
Önemli: Bu projenin kaynak kodları GitHub deposunda bulunmaz. Her release sürümünde kaynak kodu, ayrı bir paket (zip/tar) olarak Release dosyalarına yüklenir ve dağıtılır.
- ⚠️ Kaynak kodları repo'da bulunmaz — yalnızca release paketleri üzerinden yayımlanır.
- 📦 Her yeni sürüm, kaynak kodu paketiyle birlikte release olarak yayımlanır.
- 🔗 Kaynak kodu almak için en güncel sürümün Release sayfasındaki kaynak arşivini indirin.
Gereksinimler
- ✅ Node.js 18 veya daha yeni
- ✅ npm veya yarn
- ✅ (İsteğe bağlı) GPU hızlandırma için CUDA
☁️ Global Kurulum (npm)
npm install -g @takimcizgisi/ajanGlobal kurulumdan sonra ajan komutunu doğrudan terminalden kullanabilirsiniz.
🧑💻 Geliştirici Kurulumu
git clone https://github.com/takimcizgisi/ajan.git
cd ajan
npm install
npm run build:all🚀 Kullanım
💻 CLI (Terminal) Arayüzü
npm run dev # Geliştirme modunda CLI
npm start # Derlenmiş CLI
ajan # Global kurulumda sohbet TUI'si🖥️ GUI (Masaüstü) Arayüzü
npm run dev:gui # Geliştirme modunda GUI (build + electron)
npm run gui # Paketlenmiş GUI
ajan gui # Global kurulumda GUI💡 GUI ilk açılışta model indirilmesini isteyebilir; ilerleme arayüzde gösterilir.
📦 npm Betikleri
| Betik | Açıklama |
|-------|----------|
| build | CLI (TypeScript) derle |
| build:gui | GUI (TypeScript) derle |
| build:all | CLI + GUI birlikte derle |
| build:electron | Electron tip kontrolü (derleme yok) |
| doctor | Sistem / bağımlılık kontrolü |
| test:tools | Araçların smoke testleri |
| release | Sürüm paketleme |
🧩 CLI Alt Komutları
ajan # Sohbet TUI'sini başlat (varsayılan)
ajan gui # Masaüstü arayüzünü başlat
ajan model list # Modelleri listele
ajan model install <id> # Model indir
ajan model use <id> # Modeli etkin yap
ajan model remove <id> # Modeli sil⌨️ CLI Komutları (TUI içinde)
| Komut | Açıklama |
|-------|----------|
| /yeni | Yeni oturum başlat |
| /clear | Konuşma geçmişini temizle |
| /sessions | Kayıtlı oturumları listele |
| /resume <id> | Kayıtlı oturumu yükle |
| /export [dosya] | Oturumu Markdown'a dışa aktar |
| /kopyala | Son çıktıyı/yanıtı panoya kopyala |
| /todo | Görevler: ekle <metin> | sil <no> | temizle | list |
| /model | Model: list | install <id> | use <id> | remove <id> |
| /cd <dizin> | Çalışma dizinini değiştir |
| /doctor | Sistem kontrolü (GPU, model, SAC) |
| /stats | Bağlam ve oturum istatistikleri |
| /tools | Ajanın araçlarını listele |
| /config [anahtar değer] | Ayarları göster/değiştir |
| /help | Komutları listele |
| /exit | Çıkış yap |
Yapılandırma örnekleri
/config temperature 0.7 # Sıcaklık (0-2) /config maxTokens 2048 # Maks. üretim token'ı (>=256) /config maxSteps 40 # Maks. ajan adımı (1-200)
📚 Kullanım Örnekleri
💬 Basit Sohbet
ajan> Merhaba
AJAN Merhaba! Size nasıl yardımcı olabilirim?🔧 Kodlama / Görev Ajanı
ajan
> Bu projenin testlerini çalıştır ve sonuçları özetleAJAN, terminal aracını kullanarak komutu çalıştırır, çıktıyı analiz eder ve sonucu özetler — görev tamamlanana kadar araçları otonom şekilde sırayla kullanır.
🧠 Model Yönetimi
ajan model list
ajan model install gemma-4-e2b-q4-k-m
ajan model use gemma-4-e2b-q4-k-m📦 Bağımlılıklar
| Paket | Rol | |-------|-----| | node-llama-cpp | Yerel LLM motoru (yükleme + inferans) | | chalk | Terminal renklendirme (TUI) | | diff | Satır farkı / yama hesaplama | | js-yaml | Yapılandırma / YAML ayrıştırma | | adm-zip | Model arşivlerini açma | | electron · tsx · typescript | GUI kabuğu ve dev araçları |
🛠️ Araçlar (Tools)
AJAN çekirdeği, otonom görevleri yerine getirmek için şu araçlara sahiptir:
| Araç | Görev | |------|-------| | file | Dosya oku / yaz / listele | | edit | Mevcut dosyaları düzenle | | filesys | Dosya sistemi operasyonları | | patch | Yama (diff) uygula / üret | | terminal | Shell komutları çalıştır | | web | Web sayfası getir / ara | | memory | Kısa / uzun dönem bellek yönetimi | | data | Veri işleme / sorgulama | | taskComplete | Görev tamamlandı işareti |
⚙️ Her araç çağrısı TUI/GUI'de görsel olarak izlenir:
çalıştırılıyor... → ✅ / ❌
⚙️ Nasıl Çalışır?
| # | Aşama | Açıklama |
|---|-------|----------|
| 1 | Model | Gemma 4 E2B (GGUF) node-llama-cpp ile yüklenir; GPU varsa CUDA, yoksa CPU kullanılır |
| 2 | Ajan döngüsü | AjanService mesajı modele iletir; model düşünür ve ilgili aracı (tools/) çağırır. Sonuç tekrar modele verilir; görev bitene kadar döngü sürer (maxSteps ile sınırlı) |
| 3 | Bağlam | Uzun konuşmalarda eski turlar otomatik sıkıştırılır, bağlam penceresi aşılmaz |
| 4 | Oturumlar | Konuşmalar kaydedilir: /sessions listeler, /resume <id> geri yükler, /export Markdown'a döker |
| 5 | Güvenlik | Lock mekanizması aynı anda tek arayüz çalıştırır; SAC durumu /doctor ile izlenir |
⌨️ Kısayollar
| Tuş | İşlev |
|-----|-------|
| Enter | Mesaj gönder |
| ESC | Üretimi durdur |
| TAB | Komut otomatik tamamlama (TUI) |
| ↑ / ↓ | Geçmiş / imleç gezinme |
| Page Up / Down | Kaydırma |
| Ctrl + C / /exit | Çıkış |
| GUI üst menü | Yeni sohbet · Projeler · İndirmeler · Ayarlar |
📂 Proje Yapısı
ajan/
├── config/ # Yapılandırma dosyaları
├── dist/ # Derlenmiş çıktı
├── scripts/ # Betikler (release, smoke-test)
├── src/
│ ├── index.ts # Paket girişi
│ ├── service.ts # Servis katmanı
│ ├── cli/ # CLI & TUI arayüzü
│ │ ├── index.ts
│ │ └── tui.ts
│ ├── core/ # Ajan çekirdeği (agent)
│ ├── engine/ # Llama motoru + model yönetimi
│ ├── electron/ # GUI kabuk (main + preload)
│ ├── gui/ # Masaüstü arayüzü (HTML/CSS/JS/TS)
│ ├── tools/ # Dosya, terminal, web, patch araçları
│ └── utils/ # Yardımcı işlevler
└── package.jsonGUI —
src/gui/altındahtml/,css/,ts/(kaynak) vejs/(derlenmiş) klasörlerinden oluşur;assets/içinde Bootstrap, font ve görseller bulunur.
🤝 Katkı & Lisans
🤝 Katkıda Bulunma
Katkılar her zaman memnuniyetle karşılanır!
- Repository'yi fork edin
- Yeni bir branch oluşturun
- Değişikliklerinizi yapın
- Açıklayıcı commit mesajları kullanın
- Pull request gönderin
⚖️ Lisans
Bu proje GNU GPL v3.0 — GNU General Public License v3 — ile yayımlanan özgür ve copyleft bir yazılımdır.
GPL-3.0 kapsamında bu projeyi;
- ✅ Kullanabilirsiniz
- ✅ İnceleyebilirsiniz
- ✅ Değiştirebilirsiniz
- ✅ Dağıtabilirsiniz (ücretli/ücretsiz)
Ancak;
- ❌ Değiştirdiğiniz/dağıttığınız sürümleri aynı GPL-3.0 lisansı altında yayımlamadan dağıtamazsınız (copyleft)
- ❌ Kaynak kodunu erişilebilir kılmadan yalnızca derlenmiş halini dağıtamazsınız
- ❌ Bu yazılım için hiçbir garanti verilmez
Not: Bu proje, özgür yazılım felsefesiyle geliştirilmiştir. GPL-3.0 yazılım özgürlüğü sağlar; telif hakkı sahipliğini devretmez. Tam lisans metni için LICENSE dosyasına bakınız.
💛 Destekleyin
Açık kaynak, topluluğun desteğiyle yaşar. Bu projeye katkıda bulunmanın birkaç yolu vardır:
⭐ AJAN'a Destek
- Repoya ⭐ yıldız verin — görünürlük her şeydir
- 🐛 Bug bildirin veya 💡 özellik önerisi açın (Issues)
- 🔧 Kod, dökümantasyon veya çeviri katkısı sağlayın
- 📣 Projeyi çevrenizle paylaşın
🌐 OpenCode'a Destek
AJAN AI, 🧢 Vibecoding yöntemiyle opencode kullanılarak geliştirilmiştir. OpenCode — açık kaynak ajanının gelişimine de destek olabilirsiniz:
- ⭐ GitHub'da opencode repolarına yıldız verin
- 💻 Yapay zeka ajanı geliştiricisiyseniz PR'larınızla katkı sağlayın
- 🗣️ Topluluğa katılın (Discord) ve geri bildirim verin
Open source, birlikte geliştirilen yazılımın gücüdür. 💪
👨💻 İbrahim Anadol · TakımÇizgisi Yazılım Geliştirme Grubu
© 2026 İbrahim Anadol · Tüm hakları saklıdır.
Bu projeyi 🤖⭐ bir yıldızla destekleyebilirsiniz!
