@takimcizgisi/ajan 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +366 -0
  3. package/config/models.json +54 -0
  4. package/dist/cli/index.d.ts +2 -0
  5. package/dist/cli/index.js +741 -0
  6. package/dist/cli/tui.d.ts +145 -0
  7. package/dist/cli/tui.js +1003 -0
  8. package/dist/config/configManager.d.ts +18 -0
  9. package/dist/config/configManager.js +204 -0
  10. package/dist/config/types.d.ts +98 -0
  11. package/dist/config/types.js +2 -0
  12. package/dist/core/agent.d.ts +88 -0
  13. package/dist/core/agent.js +222 -0
  14. package/dist/electron/main.d.ts +1 -0
  15. package/dist/electron/main.js +364 -0
  16. package/dist/electron/preload.d.ts +1 -0
  17. package/dist/electron/preload.js +67 -0
  18. package/dist/engine/llama.d.ts +39 -0
  19. package/dist/engine/llama.js +146 -0
  20. package/dist/engine/modelManager.d.ts +18 -0
  21. package/dist/engine/modelManager.js +73 -0
  22. package/dist/index.d.ts +9 -0
  23. package/dist/index.js +9 -0
  24. package/dist/service.d.ts +90 -0
  25. package/dist/service.js +268 -0
  26. package/dist/tools/data.d.ts +3 -0
  27. package/dist/tools/data.js +111 -0
  28. package/dist/tools/edit.d.ts +2 -0
  29. package/dist/tools/edit.js +48 -0
  30. package/dist/tools/file.d.ts +6 -0
  31. package/dist/tools/file.js +274 -0
  32. package/dist/tools/filesys.d.ts +3 -0
  33. package/dist/tools/filesys.js +74 -0
  34. package/dist/tools/memory.d.ts +3 -0
  35. package/dist/tools/memory.js +69 -0
  36. package/dist/tools/patch.d.ts +15 -0
  37. package/dist/tools/patch.js +129 -0
  38. package/dist/tools/registry.d.ts +10 -0
  39. package/dist/tools/registry.js +64 -0
  40. package/dist/tools/taskComplete.d.ts +2 -0
  41. package/dist/tools/taskComplete.js +19 -0
  42. package/dist/tools/terminal.d.ts +2 -0
  43. package/dist/tools/terminal.js +130 -0
  44. package/dist/tools/utils.d.ts +7 -0
  45. package/dist/tools/utils.js +63 -0
  46. package/dist/tools/web.d.ts +8 -0
  47. package/dist/tools/web.js +181 -0
  48. package/dist/utils/clipboard.d.ts +2 -0
  49. package/dist/utils/clipboard.js +40 -0
  50. package/dist/utils/lock.d.ts +12 -0
  51. package/dist/utils/lock.js +68 -0
  52. package/dist/utils/paths.d.ts +13 -0
  53. package/dist/utils/paths.js +58 -0
  54. package/dist/utils/projectContext.d.ts +2 -0
  55. package/dist/utils/projectContext.js +24 -0
  56. package/dist/utils/sacGuard.d.ts +4 -0
  57. package/dist/utils/sacGuard.js +47 -0
  58. package/dist/utils/sessions.d.ts +29 -0
  59. package/dist/utils/sessions.js +64 -0
  60. package/dist/utils/spinner.d.ts +10 -0
  61. package/dist/utils/spinner.js +32 -0
  62. package/package.json +106 -0
  63. package/src/gui/assets/image/AJAN_LOGO.svg +1 -0
  64. package/src/gui/assets/image/ajan.png +0 -0
  65. package/src/gui/assets/image/logo.svg +1 -0
  66. package/src/gui/assets/image/opencode.svg +18 -0
  67. package/src/gui/css/style.css +430 -0
  68. package/src/gui/html/chat.html +34 -0
  69. package/src/gui/html/downloads.html +11 -0
  70. package/src/gui/html/hakkinda.html +26 -0
  71. package/src/gui/html/index.html +82 -0
  72. package/src/gui/html/projects.html +12 -0
  73. package/src/gui/html/settings.html +4 -0
  74. package/src/gui/js/app.js +197 -0
  75. package/src/gui/js/chat.js +434 -0
  76. package/src/gui/js/downloads.js +172 -0
  77. package/src/gui/js/hakkinda.js +16 -0
  78. package/src/gui/js/projects.js +113 -0
  79. package/src/gui/js/settings.js +177 -0
package/README.md ADDED
@@ -0,0 +1,366 @@
1
+ <p align="center">
2
+ <img src="./src/gui/assets/image/AJAN_LOGO.svg" alt="AJAN AI" width="420">
3
+ </p>
4
+
5
+ <div align="center">
6
+
7
+ **[AJAN AI](https://github.com/takimcizgisi/ajan)** — Tamamen yerel, açık kaynak yapay zeka kodlama ajanı.
8
+
9
+ ![Version](https://img.shields.io/badge/sürüm-v0.2.5-ff751f)
10
+ ![License](https://img.shields.io/badge/lisans-GPL--3.0-1a1a1a)
11
+ ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)
12
+ ![Node](https://img.shields.io/badge/Node.js-18%2B-339933?logo=node.js&logoColor=white)
13
+ ![Platform](https://img.shields.io/badge/Windows%20%7C%20Linux%20%7C%20macOS-555)
14
+
15
+ _Gemma 4 E2B + Node-llama-cpp ile tamamen çevrimdışı çalışır — verileriniz cihazınızdan çıkmaz._
16
+
17
+ <div align="center">
18
+ <table>
19
+ <tr>
20
+ <td align="center" style="background-color:#ffe0e0; border:2px solid #d32f2f; border-radius:8px; padding:12px 18px;">
21
+ <b style="color:#c62828; font-size:1.1em;">⚠️ DENEYSEL PROJE</b><br>
22
+ <span style="color:#b71c1c;">Bu proje <b>deneyseldir</b> ve <b>tam stabil değildir.</b> Beklenmeyen hatalar veya davranış değişiklikleri olabilir.</span>
23
+ </td>
24
+ </tr>
25
+ </table>
26
+ </div>
27
+
28
+ </div>
29
+
30
+ ---
31
+
32
+ ## 🛠️ Nasıl Yapıldı?
33
+
34
+ > Bu proje, **🧢 Vibecoding** yöntemiyle [<img src="./src/gui/assets/image/opencode.svg" alt="opencode" width="60em" style="vertical-align:middle">](https://opencode.ai) ile geliştirilmiştir.
35
+
36
+ ---
37
+
38
+ ## ✨ Özellikler
39
+
40
+ - 🤖 **Yerel AI Motoru** — Node-llama-cpp ile tamamen çevrimdışı ve gizlilik odaklı
41
+ - 🖥️ **Çift Arayüz** — Terminal (TUI) ve masaüstü GUI (Electron)
42
+ - 💬 **Sohbet Modu** — Çoklu oturum, geçmiş kaydı ve model seçimi
43
+ - 🔧 **Görev / Ajan Modu** — Dosya, terminal, web ve patch araçlarıyla otonom görevler
44
+ - 📥 **Model Yönetimi** — Modelleri indirme, kurma ve yönetme
45
+ - 📁 **Proje Yönetimi** — Ajanı belirli proje klasörlerine bağlama
46
+ - ⚙️ **Yapılandırılabilir** — Kullanıcı dostu ayarlar ekranı
47
+ - 📦 **Kolay Kurulum** — Kurulumdan sonra ek yapılandırma gerektirmez
48
+
49
+ ---
50
+
51
+ ## 📖 İçindekiler
52
+
53
+ - [Teknik Bilgiler](#-teknik-bilgiler)
54
+ - [Kurulum](#-kurulum)
55
+ - [Kullanım](#-kullanım)
56
+ - [Araçlar](#-araçlar-tools)
57
+ - [Nasıl Çalışır](#-nasıl-çalışır)
58
+ - [Proje Yapısı](#-proje-yapısı)
59
+ - [Katkı & Lisans](#-katkı--lisans)
60
+
61
+ ---
62
+
63
+ ## 🖥️ Teknik Bilgiler
64
+
65
+ | Özellik | Bilgi |
66
+ |---------|-------|
67
+ | 🧠 Model | Gemma 4 E2B (GGUF) |
68
+ | 🔌 AI Motoru | node-llama-cpp |
69
+ | 💾 RAM / VRAM | Yaklaşık 4 GB |
70
+ | 🧾 Bağlam | Yüksek token (Gemma 4 E2B) |
71
+ | 🖥️ Platform | Windows, Linux, macOS |
72
+ | 🖱️ Arayüz | CLI (TUI) + Electron GUI |
73
+ | 📝 Dil | TypeScript |
74
+
75
+ ---
76
+
77
+ ## 📥 Kurulum
78
+
79
+ ### 🗂️ Yayın (Release) Politikası
80
+
81
+ > **Ö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.
82
+ >
83
+ > - ⚠️ Kaynak kodları repo'da **bulunmaz** — yalnızca release paketleri üzerinden yayımlanır.
84
+ > - 📦 Her yeni sürüm, kaynak kodu paketiyle birlikte release olarak yayımlanır.
85
+ > - 🔗 Kaynak kodu almak için en güncel sürümün **Release** sayfasındaki kaynak arşivini indirin.
86
+
87
+ ### Gereksinimler
88
+
89
+ - ✅ **Node.js** 18 veya daha yeni
90
+ - ✅ **npm** veya **yarn**
91
+ - ✅ (İsteğe bağlı) GPU hızlandırma için **CUDA**
92
+
93
+ ### ☁️ Global Kurulum (npm)
94
+
95
+ ```bash
96
+ npm install -g @takimcizgisi/ajan
97
+ ```
98
+
99
+ Global kurulumdan sonra `ajan` komutunu doğrudan terminalden kullanabilirsiniz.
100
+
101
+ ### 🧑‍💻 Geliştirici Kurulumu
102
+
103
+ ```bash
104
+ git clone https://github.com/takimcizgisi/ajan.git
105
+ cd ajan
106
+ npm install
107
+ npm run build:all
108
+ ```
109
+
110
+ ---
111
+
112
+ ## 🚀 Kullanım
113
+
114
+ ### 💻 CLI (Terminal) Arayüzü
115
+
116
+ ```bash
117
+ npm run dev # Geliştirme modunda CLI
118
+ npm start # Derlenmiş CLI
119
+ ajan # Global kurulumda sohbet TUI'si
120
+ ```
121
+
122
+ ### 🖥️ GUI (Masaüstü) Arayüzü
123
+
124
+ ```bash
125
+ npm run dev:gui # Geliştirme modunda GUI (build + electron)
126
+ npm run gui # Paketlenmiş GUI
127
+ ajan gui # Global kurulumda GUI
128
+ ```
129
+
130
+ > 💡 GUI ilk açılışta model indirilmesini isteyebilir; ilerleme arayüzde gösterilir.
131
+
132
+ ### 📦 npm Betikleri
133
+
134
+ | Betik | Açıklama |
135
+ |-------|----------|
136
+ | `build` | CLI (TypeScript) derle |
137
+ | `build:gui` | GUI (TypeScript) derle |
138
+ | `build:all` | CLI + GUI birlikte derle |
139
+ | `build:electron` | Electron tip kontrolü (derleme yok) |
140
+ | `doctor` | Sistem / bağımlılık kontrolü |
141
+ | `test:tools` | Araçların smoke testleri |
142
+ | `release` | Sürüm paketleme |
143
+
144
+ ### 🧩 CLI Alt Komutları
145
+
146
+ ```bash
147
+ ajan # Sohbet TUI'sini başlat (varsayılan)
148
+ ajan gui # Masaüstü arayüzünü başlat
149
+ ajan model list # Modelleri listele
150
+ ajan model install <id> # Model indir
151
+ ajan model use <id> # Modeli etkin yap
152
+ ajan model remove <id> # Modeli sil
153
+ ```
154
+
155
+ ---
156
+
157
+ ## ⌨️ CLI Komutları (TUI içinde)
158
+
159
+ | Komut | Açıklama |
160
+ |-------|----------|
161
+ | `/yeni` | Yeni oturum başlat |
162
+ | `/clear` | Konuşma geçmişini temizle |
163
+ | `/sessions` | Kayıtlı oturumları listele |
164
+ | `/resume <id>` | Kayıtlı oturumu yükle |
165
+ | `/export [dosya]` | Oturumu Markdown'a dışa aktar |
166
+ | `/kopyala` | Son çıktıyı/yanıtı panoya kopyala |
167
+ | `/todo` | Görevler: `ekle <metin> | sil <no> | temizle | list` |
168
+ | `/model` | Model: `list | install <id> | use <id> | remove <id>` |
169
+ | `/cd <dizin>` | Çalışma dizinini değiştir |
170
+ | `/doctor` | Sistem kontrolü (GPU, model, SAC) |
171
+ | `/stats` | Bağlam ve oturum istatistikleri |
172
+ | `/tools` | Ajanın araçlarını listele |
173
+ | `/config [anahtar değer]` | Ayarları göster/değiştir |
174
+ | `/help` | Komutları listele |
175
+ | `/exit` | Çıkış yap |
176
+
177
+ > **Yapılandırma örnekleri**
178
+ >
179
+ > ```text
180
+ > /config temperature 0.7 # Sıcaklık (0-2)
181
+ > /config maxTokens 2048 # Maks. üretim token'ı (>=256)
182
+ > /config maxSteps 40 # Maks. ajan adımı (1-200)
183
+ > ```
184
+
185
+ ---
186
+
187
+ ## 📚 Kullanım Örnekleri
188
+
189
+ ### 💬 Basit Sohbet
190
+
191
+ ```bash
192
+ ajan
193
+ ```
194
+
195
+ ```text
196
+ > Merhaba
197
+ AJAN Merhaba! Size nasıl yardımcı olabilirim?
198
+ ```
199
+
200
+ ### 🔧 Kodlama / Görev Ajanı
201
+
202
+ ```bash
203
+ ajan
204
+ > Bu projenin testlerini çalıştır ve sonuçları özetle
205
+ ```
206
+
207
+ AJAN, 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.
208
+
209
+ ### 🧠 Model Yönetimi
210
+
211
+ ```bash
212
+ ajan model list
213
+ ajan model install gemma-4-e2b-q4-k-m
214
+ ajan model use gemma-4-e2b-q4-k-m
215
+ ```
216
+
217
+ ### 📦 Bağımlılıklar
218
+
219
+ | Paket | Rol |
220
+ |-------|-----|
221
+ | **node-llama-cpp** | Yerel LLM motoru (yükleme + inferans) |
222
+ | **chalk** | Terminal renklendirme (TUI) |
223
+ | **diff** | Satır farkı / yama hesaplama |
224
+ | **js-yaml** | Yapılandırma / YAML ayrıştırma |
225
+ | **adm-zip** | Model arşivlerini açma |
226
+ | **electron** · **tsx** · **typescript** | GUI kabuğu ve dev araçları |
227
+
228
+ ---
229
+
230
+ ## 🛠️ Araçlar (Tools)
231
+
232
+ AJAN çekirdeği, otonom görevleri yerine getirmek için şu araçlara sahiptir:
233
+
234
+ | Araç | Görev |
235
+ |------|-------|
236
+ | **file** | Dosya oku / yaz / listele |
237
+ | **edit** | Mevcut dosyaları düzenle |
238
+ | **filesys** | Dosya sistemi operasyonları |
239
+ | **patch** | Yama (diff) uygula / üret |
240
+ | **terminal** | Shell komutları çalıştır |
241
+ | **web** | Web sayfası getir / ara |
242
+ | **memory** | Kısa / uzun dönem bellek yönetimi |
243
+ | **data** | Veri işleme / sorgulama |
244
+ | **taskComplete** | Görev tamamlandı işareti |
245
+
246
+ > ⚙️ Her araç çağrısı TUI/GUI'de görsel olarak izlenir: `çalıştırılıyor... → ✅ / ❌`
247
+
248
+ ---
249
+
250
+ ## ⚙️ Nasıl Çalışır?
251
+
252
+ | # | Aşama | Açıklama |
253
+ |---|-------|----------|
254
+ | 1 | **Model** | Gemma 4 E2B (GGUF) `node-llama-cpp` ile yüklenir; GPU varsa CUDA, yoksa CPU kullanılır |
255
+ | 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ı) |
256
+ | 3 | **Bağlam** | Uzun konuşmalarda eski turlar otomatik sıkıştırılır, bağlam penceresi aşılmaz |
257
+ | 4 | **Oturumlar** | Konuşmalar kaydedilir: `/sessions` listeler, `/resume <id>` geri yükler, `/export` Markdown'a döker |
258
+ | 5 | **Güvenlik** | Lock mekanizması aynı anda tek arayüz çalıştırır; SAC durumu `/doctor` ile izlenir |
259
+
260
+ ---
261
+
262
+ ## ⌨️ Kısayollar
263
+
264
+ | Tuş | İşlev |
265
+ |-----|-------|
266
+ | `Enter` | Mesaj gönder |
267
+ | `ESC` | Üretimi durdur |
268
+ | `TAB` | Komut otomatik tamamlama (TUI) |
269
+ | `↑` / `↓` | Geçmiş / imleç gezinme |
270
+ | `Page Up` / `Down` | Kaydırma |
271
+ | `Ctrl + C` / `/exit` | Çıkış |
272
+ | GUI üst menü | Yeni sohbet · Projeler · İndirmeler · Ayarlar |
273
+
274
+ ---
275
+
276
+ ## 📂 Proje Yapısı
277
+
278
+ ```text
279
+ ajan/
280
+ ├── config/ # Yapılandırma dosyaları
281
+ ├── dist/ # Derlenmiş çıktı
282
+ ├── scripts/ # Betikler (release, smoke-test)
283
+ ├── src/
284
+ │ ├── index.ts # Paket girişi
285
+ │ ├── service.ts # Servis katmanı
286
+ │ ├── cli/ # CLI & TUI arayüzü
287
+ │ │ ├── index.ts
288
+ │ │ └── tui.ts
289
+ │ ├── core/ # Ajan çekirdeği (agent)
290
+ │ ├── engine/ # Llama motoru + model yönetimi
291
+ │ ├── electron/ # GUI kabuk (main + preload)
292
+ │ ├── gui/ # Masaüstü arayüzü (HTML/CSS/JS/TS)
293
+ │ ├── tools/ # Dosya, terminal, web, patch araçları
294
+ │ └── utils/ # Yardımcı işlevler
295
+ └── package.json
296
+ ```
297
+
298
+ > **GUI** — `src/gui/` altında `html/`, `css/`, `ts/` (kaynak) ve `js/` (derlenmiş) klasörlerinden oluşur; `assets/` içinde Bootstrap, font ve görseller bulunur.
299
+
300
+ ---
301
+
302
+ ## 🤝 Katkı & Lisans
303
+
304
+ ### 🤝 Katkıda Bulunma
305
+
306
+ Katkılar her zaman memnuniyetle karşılanır!
307
+
308
+ 1. Repository'yi **fork** edin
309
+ 2. Yeni bir **branch** oluşturun
310
+ 3. Değişikliklerinizi yapın
311
+ 4. Açıklayıcı **commit** mesajları kullanın
312
+ 5. **Pull request** gönderin
313
+
314
+ ### ⚖️ Lisans
315
+
316
+ Bu proje **[GNU GPL v3.0](./LICENSE)** — _GNU General Public License v3_ — ile yayımlanan **özgür ve copyleft** bir yazılımdır.
317
+
318
+ GPL-3.0 kapsamında bu projeyi;
319
+
320
+ - ✅ Kullanabilirsiniz
321
+ - ✅ İnceleyebilirsiniz
322
+ - ✅ Değiştirebilirsiniz
323
+ - ✅ Dağıtabilirsiniz (ücretli/ücretsiz)
324
+
325
+ Ancak;
326
+
327
+ - ❌ 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)
328
+ - ❌ Kaynak kodunu erişilebilir kılmadan yalnızca derlenmiş halini dağıtamazsınız
329
+ - ❌ Bu yazılım için **hiçbir garanti** verilmez
330
+
331
+ > **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](./LICENSE)** dosyasına bakınız.
332
+
333
+ ---
334
+
335
+ ## 💛 Destekleyin
336
+
337
+ Açık kaynak, topluluğun desteğiyle yaşar. Bu projeye katkıda bulunmanın birkaç yolu vardır:
338
+
339
+ ### ⭐ AJAN'a Destek
340
+
341
+ - Repoya ⭐ **yıldız** verin — görünürlük her şeydir
342
+ - 🐛 Bug bildirin veya 💡 özellik önerisi açın (Issues)
343
+ - 🔧 Kod, dökümantasyon veya çeviri katkısı sağlayın
344
+ - 📣 Projeyi çevrenizle paylaşın
345
+
346
+ ### 🌐 OpenCode'a Destek
347
+
348
+ **AJAN AI**, 🧢 Vibecoding yöntemiyle [opencode](https://opencode.ai) kullanılarak geliştirilmiştir. OpenCode — açık kaynak ajanının gelişimine de destek olabilirsiniz:
349
+
350
+ - ⭐ [GitHub'da opencode](https://github.com/anomalyco/opencode) repolarına yıldız verin
351
+ - 💻 Yapay zeka ajanı geliştiricisiyseniz PR'larınızla katkı sağlayın
352
+ - 🗣️ Topluluğa katılın (Discord) ve geri bildirim verin
353
+
354
+ > Open source, birlikte geliştirilen yazılımın gücüdür. 💪
355
+
356
+ ---
357
+
358
+ <div align="center">
359
+
360
+ **👨‍💻 İbrahim Anadol** · TakımÇizgisi Yazılım Geliştirme Grubu
361
+
362
+ © 2026 İbrahim Anadol · Tüm hakları saklıdır.
363
+
364
+ _Bu projeyi 🤖⭐ bir yıldızla destekleyebilirsiniz!_
365
+
366
+ </div>
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "https://takimcizgisi.dev/schemas/ajan-models.json",
3
+ "version": 1,
4
+ "source": "https://raw.githubusercontent.com/takimcizgisi/ajan/main/config/models.json",
5
+ "models": [
6
+ {
7
+ "id": "gemma-4-e2b-q4-k-m",
8
+ "name": "Gemma 4 E2B (Q4_K_M)",
9
+ "description": "Ana model: 4-bit sıkıştırılmış, ~3-4GB RAM, 128K bağlam",
10
+ "uri": "hf:unsloth/gemma-4-E2B-it-GGUF/gemma-4-E2B-it-Q4_K_M.gguf",
11
+ "fileName": "gemma-4-E2B-it-Q4_K_M.gguf",
12
+ "contextSize": 131072,
13
+ "gpuLayers": "auto",
14
+ "chatWrapper": "gemma4",
15
+ "reasoning": true,
16
+ "multimodal": true
17
+ },
18
+ {
19
+ "id": "gemma-4-e2b-q8",
20
+ "name": "Gemma 4 E2B (Q8_0)",
21
+ "description": "Daha yüksek kalite, daha fazla RAM (~5-8GB)",
22
+ "uri": "hf:unsloth/gemma-4-E2B-it-GGUF/gemma-4-E2B-it-Q8_0.gguf",
23
+ "fileName": "gemma-4-E2B-it-Q8_0.gguf",
24
+ "contextSize": 131072,
25
+ "gpuLayers": "auto",
26
+ "chatWrapper": "gemma4",
27
+ "reasoning": true,
28
+ "multimodal": true
29
+ },
30
+ {
31
+ "id": "gemma-3-4b-it-q4-k-m",
32
+ "name": "Gemma 3 4B Instruct (Q4_K_M)",
33
+ "description": "Alternatif: çoklu mod destekli, orta boy",
34
+ "uri": "hf:unsloth/gemma-3-4b-it-GGUF:Q4_K_M",
35
+ "fileName": "gemma-3-4b-it-Q4_K_M.gguf",
36
+ "contextSize": 32768,
37
+ "gpuLayers": "auto",
38
+ "chatWrapper": "gemma",
39
+ "multimodal": true
40
+ },
41
+ {
42
+ "id": "qwen-3-4b-instruct-q4-k-m",
43
+ "name": "Qwen3 4B Instruct (Q4_K_M)",
44
+ "description": "Alternatif: güçlü tool calling desteği",
45
+ "uri": "hf:unsloth/Qwen3-4B-GGUF/Qwen3-4B-Q4_K_M.gguf",
46
+ "fileName": "Qwen3-4B-Q4_K_M.gguf",
47
+ "contextSize": 32768,
48
+ "gpuLayers": "auto",
49
+ "chatWrapper": "qwen3",
50
+ "reasoning": false,
51
+ "multimodal": false
52
+ }
53
+ ]
54
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export declare function generateTitle(text: string): string;