beast-agent 2.2.1 → 2.3.1
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.
- package/package.json +7 -1
- package/src/agent/edgetts.js +201 -0
- package/src/agent/engine.js +93 -1
- package/src/agent/nightref.js +404 -0
- package/src/main.js +890 -57
- package/src/preload.js +7 -2
- package/src/renderer/handsfree.js +633 -0
- package/src/renderer/i18n.js +30 -6
- package/src/renderer/index.html +21 -7
- package/src/renderer/renderer.js +472 -83
- package/src/renderer/style.css +114 -24
package/src/renderer/i18n.js
CHANGED
|
@@ -31,11 +31,18 @@
|
|
|
31
31
|
bc_copied: 'Kopyalandı',
|
|
32
32
|
tipModelRefresh: 'Modelleri yeniden çek (tüm providerlar)',
|
|
33
33
|
mr_done: 'Modeller yenilendi',
|
|
34
|
-
tipMic: '
|
|
35
|
-
|
|
34
|
+
tipMic: 'Eller serbest: bas, konuş, susunca otomatik gönderir',
|
|
35
|
+
tip_tts_btn: 'Otomatik seslendirme (TTS) — ajanın cevaplarını sesli okur',
|
|
36
|
+
tts_btn_on: 'Otomatik seslendirme AÇIK',
|
|
37
|
+
tts_btn_off: 'Otomatik seslendirme kapalı',
|
|
38
|
+
mic_listening: 'Dinliyorum… konuş, susunca gönderilir',
|
|
36
39
|
mic_transcribing: 'Ses yazıya çevriliyor (yerel Whisper)…',
|
|
37
40
|
mic_fail: 'Konuşma algılanamadı',
|
|
38
41
|
mic_denied: 'Mikrofon erişimi verilmedi',
|
|
42
|
+
hf_start: 'Eller serbest AÇIK — konuşun, susunca gönderilir; kapatmak için tekrar bas',
|
|
43
|
+
hf_listening: 'Eller serbest: dinliyorum…',
|
|
44
|
+
hf_thinking: 'Eller serbest: cevap bekleniyor…',
|
|
45
|
+
hf_stopped: 'Eller serbest mod kapatıldı',
|
|
39
46
|
tip_dark: 'Koyu tema',
|
|
40
47
|
tipTerm: 'Terminal (PowerShell)',
|
|
41
48
|
tipTermG: 'Git Bash terminali',
|
|
@@ -207,7 +214,11 @@
|
|
|
207
214
|
tts_sub: 'Açık olursa WhatsApp cevapları metnin yanı sıra sesli not olarak da gönderilir.',
|
|
208
215
|
tts_active: 'Aktif',
|
|
209
216
|
tts_save: 'TTS Kaydet',
|
|
210
|
-
|
|
217
|
+
tts_test: 'Test sesi çal',
|
|
218
|
+
tts_note: 'Edge TTS: ücretsiz yerel motor — anahtar gerekmez (Ahmet/Emel vb.). OpenAI motoru: uyumlu speech API (tts-1, tts-1-hd; sesler alloy, echo, fable, onyx, nova, shimmer).',
|
|
219
|
+
tts_engine: 'Motor',
|
|
220
|
+
tts_edge_voice: 'Edge sesi',
|
|
221
|
+
tts_chat_auto: 'Chat\'te ajanın yazdıklarını otomatik seslendir',
|
|
211
222
|
tts_on: 'TTS açık — cevaplar sesli de gider',
|
|
212
223
|
tts_off: 'TTS kapalı',
|
|
213
224
|
em_h2: 'E-posta (Gmail)',
|
|
@@ -339,6 +350,7 @@
|
|
|
339
350
|
bb_ph: 'adres yaz veya ara…',
|
|
340
351
|
tip_bb_back: 'Geri',
|
|
341
352
|
tip_bb_phone: 'Telefon modu — mobil versiyon / web versiyonu',
|
|
353
|
+
tip_bb_mobile: 'Mobil önizleme — telefon siluetinde canlı uygulama (Expo/Metro dev server)',
|
|
342
354
|
tip_bb_fwd: 'İleri',
|
|
343
355
|
tip_bb_reload: 'Yenile',
|
|
344
356
|
tip_bb_shot: 'Ekran görüntüsünü sohbete ekle',
|
|
@@ -595,11 +607,18 @@
|
|
|
595
607
|
bc_copied: 'Copied',
|
|
596
608
|
tipModelRefresh: 'Refresh models (all providers)',
|
|
597
609
|
mr_done: 'Models refreshed',
|
|
598
|
-
tipMic: '
|
|
599
|
-
|
|
610
|
+
tipMic: 'Hands-free: tap, speak, it auto-sends when you fall silent',
|
|
611
|
+
tip_tts_btn: 'Auto-speak (TTS) — reads agent replies aloud',
|
|
612
|
+
tts_btn_on: 'Auto-speak ON',
|
|
613
|
+
tts_btn_off: 'Auto-speak off',
|
|
614
|
+
mic_listening: 'Listening… speak, it sends when you stop',
|
|
600
615
|
mic_transcribing: 'Transcribing (local Whisper)…',
|
|
601
616
|
mic_fail: 'Could not detect speech',
|
|
602
617
|
mic_denied: 'Microphone access denied',
|
|
618
|
+
hf_start: 'Hands-free ON — speak, it sends when you fall silent; tap again to stop',
|
|
619
|
+
hf_listening: 'Hands-free: listening…',
|
|
620
|
+
hf_thinking: 'Hands-free: waiting for reply…',
|
|
621
|
+
hf_stopped: 'Hands-free mode stopped',
|
|
603
622
|
tip_dark: 'Dark theme',
|
|
604
623
|
tipTerm: 'Terminal (PowerShell)',
|
|
605
624
|
tipTermG: 'Git Bash terminal',
|
|
@@ -770,7 +789,11 @@
|
|
|
770
789
|
tts_sub: 'When on, WhatsApp replies are also sent as voice notes alongside text.',
|
|
771
790
|
tts_active: 'Active',
|
|
772
791
|
tts_save: 'Save TTS',
|
|
773
|
-
|
|
792
|
+
tts_test: 'Play test sound',
|
|
793
|
+
tts_note: 'Edge TTS: free local engine — no key needed (Ahmet/Emel etc.). OpenAI engine: compatible speech API (tts-1, tts-1-hd; voices alloy, echo, fable, onyx, nova, shimmer).',
|
|
794
|
+
tts_engine: 'Engine',
|
|
795
|
+
tts_edge_voice: 'Edge voice',
|
|
796
|
+
tts_chat_auto: 'Auto-speak agent replies in chat',
|
|
774
797
|
tts_on: 'TTS on — replies also go as voice',
|
|
775
798
|
tts_off: 'TTS off',
|
|
776
799
|
em_h2: 'E-mail (Gmail)',
|
|
@@ -963,6 +986,7 @@
|
|
|
963
986
|
bb_ph: 'type an address or search…',
|
|
964
987
|
tip_bb_back: 'Back',
|
|
965
988
|
tip_bb_phone: 'Phone mode — mobile / web version',
|
|
989
|
+
tip_bb_mobile: 'Mobile preview — live app in a phone frame (Expo/Metro dev server)',
|
|
966
990
|
tip_bb_fwd: 'Forward',
|
|
967
991
|
tip_bb_reload: 'Reload',
|
|
968
992
|
tip_bb_shot: 'Add screenshot to chat',
|
package/src/renderer/index.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
2
|
<html lang="tr">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
<header id="topbar">
|
|
52
52
|
<span id="botChip" title="Aktif bot">🦁 Beast</span>
|
|
53
53
|
<div id="modelDD" class="dd">
|
|
54
|
-
<button id="modelBtn" class="dd-btn" title="Model seç" data-i18n-title="tipModel"><span id="modelBtnLabel">Model</span><span class="dd-caret"
|
|
54
|
+
<button id="modelBtn" class="dd-btn" title="Model seç" data-i18n-title="tipModel"><span id="modelBtnLabel">Model</span><span class="dd-caret">Ⓘ</span></button>
|
|
55
55
|
<div id="modelMenu" class="dd-menu" hidden>
|
|
56
56
|
<input id="modelFilter" class="dd-filter" placeholder="Model ara…" autocomplete="off" />
|
|
57
57
|
<div id="modelList" class="dd-list"></div>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
</div>
|
|
66
66
|
<button id="modelRefreshBtn" class="dd-btn dd-icon-btn" title="Modelleri yeniden çek" data-i18n-title="tipModelRefresh">⟳</button>
|
|
67
67
|
<div id="pickCfg" class="dd">
|
|
68
|
-
<button id="pickCfgBtn" class="dd-btn dd-icon-btn" title="Picker'da görünecek modeller" data-i18n-title="tipPickCfg"
|
|
68
|
+
<button id="pickCfgBtn" class="dd-btn dd-icon-btn" title="Picker'da görünecek modeller" data-i18n-title="tipPickCfg"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h9"/><circle cx="16.5" cy="6" r="2.5"/><path d="M20 6h0.01"/><path d="M4 12h3"/><circle cx="10.5" cy="12" r="2.5"/><path d="M15 12h5"/><path d="M4 18h11"/><circle cx="18.5" cy="18" r="2.5"/></svg></button>
|
|
69
69
|
<div id="pickCfgMenu" class="dd-menu cfg-menu" hidden>
|
|
70
70
|
<div class="cfg-head">
|
|
71
71
|
<span>Picker modelleri</span>
|
|
@@ -103,8 +103,9 @@
|
|
|
103
103
|
<div id="slashMenu" hidden></div>
|
|
104
104
|
<div id="composer">
|
|
105
105
|
<div id="composerLeft" class="dd">
|
|
106
|
+
<button id="ttsBtn" title="Otomatik seslendirme (TTS) — ajanın cevaplarını sesli okur" data-i18n-title="tip_tts_btn"><svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 5 6 9H2v6h4l5 4V5z"/><path d="M15.5 8.5a5 5 0 0 1 0 7"/><path d="M18.5 5.5a9 9 0 0 1 0 13"/></svg></button>
|
|
106
107
|
<button id="attachBtn" title="Dosya / resim ekle" data-i18n-title="tipAttach">+</button>
|
|
107
|
-
<button id="micBtn" title="
|
|
108
|
+
<button id="micBtn" title="Eller serbest: bas, konuş, susunca gönderir" data-i18n-title="tipMic"><svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="2" width="6" height="12" rx="3"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><path d="M12 19v3"/></svg></button>
|
|
108
109
|
</div>
|
|
109
110
|
<textarea id="input" rows="1" placeholder="Bir şey sor ya da görev ver… (Enter: gönder · Shift+Enter: satır · /: komutlar)" data-i18n-ph="composerPh"></textarea>
|
|
110
111
|
<button id="stopBtn" title="Durdur" hidden data-i18n-title="tipStop">■</button>
|
|
@@ -152,7 +153,7 @@
|
|
|
152
153
|
<span id="bcCwd" title=""></span>
|
|
153
154
|
<span class="file-spacer"></span>
|
|
154
155
|
<button id="codeShow" title="Editörü göster" data-i18n-title="tipCodeShow" hidden>▣︎</button>
|
|
155
|
-
<button id="bcNew" title="Yeni oturum" data-i18n-title="bc_new"
|
|
156
|
+
<button id="bcNew" title="Yeni oturum" data-i18n-title="bc_new">*</button>
|
|
156
157
|
<button id="bcClear" title="Çıktıyı temizle" data-i18n-title="bc_clear">Temizle</button>
|
|
157
158
|
</div>
|
|
158
159
|
<div id="bcOut"></div>
|
|
@@ -174,7 +175,7 @@
|
|
|
174
175
|
<span id="stTitle">BEAST STUDIO</span>
|
|
175
176
|
<span id="stCwd" title=""></span>
|
|
176
177
|
<span class="file-spacer"></span>
|
|
177
|
-
<button id="stNew" title="Yeni oturum" data-i18n-title="bc_new"
|
|
178
|
+
<button id="stNew" title="Yeni oturum" data-i18n-title="bc_new">*</button>
|
|
178
179
|
<button id="stClear" title="Çıktıyı temizle" data-i18n-title="bc_clear">Temizle</button>
|
|
179
180
|
</div>
|
|
180
181
|
<div id="stOut"></div>
|
|
@@ -365,7 +366,7 @@
|
|
|
365
366
|
<button data-range="2w" class="on" title="Son 2 hafta">2 Hafta</button>
|
|
366
367
|
<button data-range="1w" title="Son 1 hafta">1 Hafta</button>
|
|
367
368
|
</div>
|
|
368
|
-
<button id="ghSortBtn" title="Yıldız sırası: azalan / artan"
|
|
369
|
+
<button id="ghSortBtn" title="Yıldız sırası: azalan / artan">⅏ Yıldız</button>
|
|
369
370
|
<input id="ghSearch" placeholder="Repo ara… (Enter)" spellcheck="false" />
|
|
370
371
|
<button id="ghTrendRefresh" class="gh-refresh" title="Sıfırla ve yenile — modal ilk açıldığı gibi">⟳</button>
|
|
371
372
|
</div>
|
|
@@ -414,6 +415,7 @@
|
|
|
414
415
|
<button id="bbReload" title="Yenile" data-i18n-title="tip_bb_reload">↻</button>
|
|
415
416
|
<input id="bbUrl" placeholder="adres yaz veya ara…" autocomplete="off" spellcheck="false" data-i18n-ph="bb_ph" />
|
|
416
417
|
<button id="bbPhone" title="Telefon modu — mobil versiyon / web versiyonu" data-i18n-title="tip_bb_phone"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="2" width="10" height="20" rx="2.5"/><line x1="11" y1="18" x2="13" y2="18"/></svg></button>
|
|
418
|
+
<button id="bbMobile" title="Mobil önizleme — telefon silueti (Expo/Metro dev server)" data-i18n-title="tip_bb_mobile"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="1.5" width="14" height="21" rx="3.5"/><line x1="9.5" y1="4.5" x2="14.5" y2="4.5"/><line x1="10.5" y1="19.5" x2="13.5" y2="19.5"/></svg></button>
|
|
417
419
|
<button id="bbOpenExt" title="Tarayıcıda aç" data-i18n-title="tip_bb_open">↗</button>
|
|
418
420
|
<button id="bbClose" title="Kapat" data-i18n-title="btn_close">×</button>
|
|
419
421
|
</div>
|
|
@@ -442,7 +444,19 @@
|
|
|
442
444
|
<input type="file" id="fileInput" multiple hidden
|
|
443
445
|
accept="image/*,.txt,.md,.json,.csv,.log,.js,.ts,.py,.ps1,.bat,.cmd,.html,.css,.yaml,.yml,.xml,.ini" />
|
|
444
446
|
|
|
447
|
+
<!-- mobil önizleme cihaz seçici: telefonun ALTINDA yüzen modern picker -->
|
|
448
|
+
<select id="bbDevice" title="Cihaz ölçüleri" hidden>
|
|
449
|
+
<option value="iphone15promax">iPhone 15 Pro Max · 430×932</option>
|
|
450
|
+
<option value="iphone15pro">iPhone 15 Pro · 393×852</option>
|
|
451
|
+
<option value="iphone14">iPhone 14 · 390×844</option>
|
|
452
|
+
<option value="iphonese">iPhone SE · 375×667</option>
|
|
453
|
+
<option value="pixel8">Pixel 8 · 412×915</option>
|
|
454
|
+
<option value="galaxys23">Galaxy S23 · 360×780</option>
|
|
455
|
+
<option value="android">Android · 360×800</option>
|
|
456
|
+
</select>
|
|
457
|
+
|
|
445
458
|
<script src="i18n.js"></script>
|
|
459
|
+
<script src="handsfree.js"></script>
|
|
446
460
|
<script src="renderer.js"></script>
|
|
447
461
|
</body>
|
|
448
462
|
</html>
|