beast-agent 0.18.1 → 0.19.0
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/README.md +10 -0
- package/bin/beast-agent.js +39 -0
- package/package.json +1 -1
- package/src/renderer/renderer.js +5 -2
package/README.md
CHANGED
|
@@ -92,6 +92,16 @@ All app data lives under `%APPDATA%\beast` (sessions, memory, WhatsApp pairing,
|
|
|
92
92
|
|
|
93
93
|
Type `/help` in the chat to see every command.
|
|
94
94
|
|
|
95
|
+
## 🗑️ Uninstall
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
beast-agent uninstall
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This removes the app (package, startup registration, desktop shortcut) but **keeps all your personal data** — `config.yaml`, `.env`, sessions, memory, WhatsApp pairing and encrypted backups stay in `%APPDATA%\beast`. Reinstall later with `npm install -g beast-agent` and everything is exactly where you left it.
|
|
102
|
+
|
|
103
|
+
To wipe everything instead, delete the `%APPDATA%\beast` folder after uninstalling.
|
|
104
|
+
|
|
95
105
|
## 🔒 Security & Privacy
|
|
96
106
|
|
|
97
107
|
- Everything runs **locally**: sessions, memory and logs stay on your disk
|
package/bin/beast-agent.js
CHANGED
|
@@ -8,6 +8,45 @@
|
|
|
8
8
|
const { spawn, spawnSync } = require('child_process');
|
|
9
9
|
const path = require('path');
|
|
10
10
|
|
|
11
|
+
/* kaldırma modu: uygulamayı kaldırır ama KİŞİSEL VERİLERİ korur
|
|
12
|
+
(%APPDATA%\beast: config.yaml, .env, oturumlar, hafıza, WhatsApp eşlemesi, yedekler) */
|
|
13
|
+
if (process.argv[2] === 'uninstall') {
|
|
14
|
+
const isWin = process.platform === 'win32';
|
|
15
|
+
console.log('Beast Agent kald\u0131r\u0131l\u0131yor\u2026');
|
|
16
|
+
if (isWin) {
|
|
17
|
+
/* çalışan örnekleri kapat */
|
|
18
|
+
try {
|
|
19
|
+
spawnSync('powershell.exe', ['-NoProfile', '-Command',
|
|
20
|
+
"Get-Process electron -ErrorAction SilentlyContinue | Where-Object { $_.Path -like '*node_modules*beast-agent*' } | Stop-Process -Force"],
|
|
21
|
+
{ stdio: 'ignore' });
|
|
22
|
+
console.log('\u2022 \u00E7al\u0131\u015Fan Beast kapat\u0131ld\u0131 (varsa)');
|
|
23
|
+
} catch {}
|
|
24
|
+
/* startup kaydını sil — yalnız verisi beast-agent'a işaret ediyorsa */
|
|
25
|
+
try {
|
|
26
|
+
spawnSync('powershell.exe', ['-NoProfile', '-Command',
|
|
27
|
+
"$k='HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run';" +
|
|
28
|
+
"foreach($n in (Get-Item $k -ErrorAction SilentlyContinue).GetValueNames()){" +
|
|
29
|
+
"$v=(Get-ItemProperty $k).$n; if($v -like '*node_modules*beast-agent*'){ Remove-ItemProperty -Path $k -Name $n; Write-Host '• startup kayd\u0131 silindi' } }"],
|
|
30
|
+
{ stdio: 'inherit' });
|
|
31
|
+
} catch {}
|
|
32
|
+
/* masaüstü kısayolunu sil (gerçek Masaüstü yolu: OneDrive olabilir) */
|
|
33
|
+
try {
|
|
34
|
+
spawnSync('powershell.exe', ['-NoProfile', '-Command',
|
|
35
|
+
"$d=[Environment]::GetFolderPath('Desktop'); if(Test-Path \"$d\\Beast Agent.lnk\"){ Remove-Item \"$d\\Beast Agent.lnk\" -Force; Write-Host '\u2022 masa\u00FCst\u00FC k\u0131sayolu silindi' }"],
|
|
36
|
+
{ stdio: 'inherit' });
|
|
37
|
+
} catch {}
|
|
38
|
+
} else {
|
|
39
|
+
try { spawnSync('pkill', ['-f', 'node_modules/beast-agent'], { stdio: 'ignore' }); } catch {}
|
|
40
|
+
}
|
|
41
|
+
console.log('\u2022 npm paketi kald\u0131r\u0131l\u0131yor\u2026');
|
|
42
|
+
const ur = spawnSync('npm', ['uninstall', '-g', 'beast-agent'], { stdio: 'inherit', shell: isWin });
|
|
43
|
+
console.log('\n\u2713 Beast Agent kald\u0131r\u0131ld\u0131.');
|
|
44
|
+
console.log('\u2139 Ki\u015Fisel verilerin korundu \u2014 %APPDATA%\\beast');
|
|
45
|
+
console.log(' (config.yaml, .env, oturumlar, haf\u0131za, WhatsApp e\u015Flemesi, \u015Fifreli yedekler)');
|
|
46
|
+
console.log(' Tekrar kurmak i\u00E7in: npm install -g beast-agent');
|
|
47
|
+
process.exit(ur.status || 0);
|
|
48
|
+
}
|
|
49
|
+
|
|
11
50
|
/* güncelleme modu: çalışan Beast'i kapat (dosya kilidi EBUSY vermesin) → npm güncelle → yeniden başlat */
|
|
12
51
|
if (process.argv[2] === 'update') {
|
|
13
52
|
const isWin = process.platform === 'win32';
|
package/package.json
CHANGED
package/src/renderer/renderer.js
CHANGED
|
@@ -527,7 +527,7 @@ function switchTab(name) {
|
|
|
527
527
|
if (name === 'dash') renderDashboardPane();
|
|
528
528
|
if (name === 'limits') renderLimitsPane();
|
|
529
529
|
if (name === 'sec') renderSecurityPane();
|
|
530
|
-
if (name === 'update') renderUpdatePane();
|
|
530
|
+
if (name === 'update') renderUpdatePane(true);
|
|
531
531
|
if (name === 'agents') refreshAgentsPane();
|
|
532
532
|
if (name === 'websearch') renderWebSearchPane();
|
|
533
533
|
/* Fallout: her açılışta güncel provider zincirini çek */
|
|
@@ -1562,7 +1562,7 @@ function renderUpdateStateHtml(st) {
|
|
|
1562
1562
|
return `<div class="usage-stat" id="upStatusBox"><div class="us-label">${_t('up_status')}</div><div class="us-value" style="font-size:14px">${escapeHtml(status)}</div></div>`;
|
|
1563
1563
|
}
|
|
1564
1564
|
|
|
1565
|
-
async function renderUpdatePane() {
|
|
1565
|
+
async function renderUpdatePane(autoCheck) {
|
|
1566
1566
|
const pane = $('#tab-update');
|
|
1567
1567
|
if (!pane) return;
|
|
1568
1568
|
const st = await beast.updateStatus().catch(() => null);
|
|
@@ -1632,6 +1632,9 @@ async function renderUpdatePane() {
|
|
|
1632
1632
|
if (box) box.outerHTML = renderUpdateStateHtml(s);
|
|
1633
1633
|
}).catch(() => {});
|
|
1634
1634
|
}, 1000);
|
|
1635
|
+
|
|
1636
|
+
/* sekme açılırken otomatik sürüm kontrolü */
|
|
1637
|
+
if (autoCheck) beast.updateCheck().catch(() => {});
|
|
1635
1638
|
}
|
|
1636
1639
|
|
|
1637
1640
|
/* Sohbete onay kartı düşürür — Onayla / Her zaman / Reddet */function showApprovalCard(ev) {
|