agim-cli 1.2.0 → 1.2.2
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/CHANGELOG.md +81 -0
- package/dist/cli-ui/entry-menu.d.ts +2 -0
- package/dist/cli-ui/entry-menu.d.ts.map +1 -1
- package/dist/cli-ui/entry-menu.js +1 -0
- package/dist/cli-ui/entry-menu.js.map +1 -1
- package/dist/cli-ui/i18n.d.ts +5 -0
- package/dist/cli-ui/i18n.d.ts.map +1 -1
- package/dist/cli-ui/i18n.js +10 -0
- package/dist/cli-ui/i18n.js.map +1 -1
- package/dist/cli.js +75 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/admin-bootstrap.d.ts +14 -0
- package/dist/core/admin-bootstrap.d.ts.map +1 -1
- package/dist/core/admin-bootstrap.js +21 -0
- package/dist/core/admin-bootstrap.js.map +1 -1
- package/dist/core/memory-vector.d.ts +3 -0
- package/dist/core/memory-vector.d.ts.map +1 -1
- package/dist/core/memory-vector.js +28 -2
- package/dist/core/memory-vector.js.map +1 -1
- package/dist/web/public/tasks.html +75 -6
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +54 -0
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,20 @@ export declare const BOOTSTRAP_TOKEN_FILE: string;
|
|
|
10
10
|
* boxes.
|
|
11
11
|
*/
|
|
12
12
|
export declare function ensureBootstrapTokenIfNeeded(): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* v1.2.2 — generate an admin INVITE token unconditionally (even when an
|
|
15
|
+
* admin already exists). Reuses the same bootstrap-token file + the same
|
|
16
|
+
* `/setup admin <token>` IM flow. Overwrites any existing unconsumed
|
|
17
|
+
* token so only the latest invite is valid at any time.
|
|
18
|
+
*
|
|
19
|
+
* Intended for an existing admin to onboard additional admins without
|
|
20
|
+
* SSH'ing into the server to look up the autogen bootstrap token.
|
|
21
|
+
* Triggered by `agim admin invite` CLI / the entry-menu option.
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateAdminInviteToken(): {
|
|
24
|
+
token: string;
|
|
25
|
+
file: string;
|
|
26
|
+
};
|
|
13
27
|
/**
|
|
14
28
|
* Verify a candidate token + promote the caller to admin on success.
|
|
15
29
|
* Returns the outcome so the slash-command handler can craft the right
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/admin-bootstrap.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,oBAAoB,QAA2C,CAAA;AAgB5E;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAgC5D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CACN;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,KAAK,CAAA;CAAE,GACjC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,iBAAiB,CAAA;CAAE,CAC1E,CA+BA"}
|
|
1
|
+
{"version":3,"file":"admin-bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/admin-bootstrap.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,oBAAoB,QAA2C,CAAA;AAgB5E;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAgC5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU1E;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CACN;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,KAAK,CAAA;CAAE,GACjC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,iBAAiB,CAAA;CAAE,CAC1E,CA+BA"}
|
|
@@ -91,6 +91,27 @@ export function ensureBootstrapTokenIfNeeded() {
|
|
|
91
91
|
console.log();
|
|
92
92
|
return token;
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* v1.2.2 — generate an admin INVITE token unconditionally (even when an
|
|
96
|
+
* admin already exists). Reuses the same bootstrap-token file + the same
|
|
97
|
+
* `/setup admin <token>` IM flow. Overwrites any existing unconsumed
|
|
98
|
+
* token so only the latest invite is valid at any time.
|
|
99
|
+
*
|
|
100
|
+
* Intended for an existing admin to onboard additional admins without
|
|
101
|
+
* SSH'ing into the server to look up the autogen bootstrap token.
|
|
102
|
+
* Triggered by `agim admin invite` CLI / the entry-menu option.
|
|
103
|
+
*/
|
|
104
|
+
export function generateAdminInviteToken() {
|
|
105
|
+
const token = generateToken();
|
|
106
|
+
mkdirSync(dirname(BOOTSTRAP_TOKEN_FILE), { recursive: true });
|
|
107
|
+
writeFileSync(BOOTSTRAP_TOKEN_FILE, token + '\n');
|
|
108
|
+
chmodSync(BOOTSTRAP_TOKEN_FILE, 0o600);
|
|
109
|
+
log.info({
|
|
110
|
+
event: 'admin-bootstrap.invite_generated',
|
|
111
|
+
file: BOOTSTRAP_TOKEN_FILE,
|
|
112
|
+
}, 'admin invite token generated (existing admin invoked invite flow)');
|
|
113
|
+
return { token, file: BOOTSTRAP_TOKEN_FILE };
|
|
114
|
+
}
|
|
94
115
|
/**
|
|
95
116
|
* Verify a candidate token + promote the caller to admin on success.
|
|
96
117
|
* Returns the outcome so the slash-command handler can craft the right
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-bootstrap.js","sourceRoot":"","sources":["../../src/core/admin-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-bootstrap.js","sourceRoot":"","sources":["../../src/core/admin-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,9 @@ export interface BackendStatus {
|
|
|
15
15
|
dims: number;
|
|
16
16
|
modelId: string;
|
|
17
17
|
lastError: string | null;
|
|
18
|
+
/** Local-only: model files present on disk. ready may still be false if
|
|
19
|
+
* the in-process pipeline hasn't loaded them yet (post-restart warmup). */
|
|
20
|
+
downloaded?: boolean;
|
|
18
21
|
/** Backend-specific extra info (model file size, baseUrl, etc.) */
|
|
19
22
|
detail: Record<string, unknown>;
|
|
20
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-vector.d.ts","sourceRoot":"","sources":["../../src/core/memory-vector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory-vector.d.ts","sourceRoot":"","sources":["../../src/core/memory-vector.ts"],"names":[],"mappings":"AA8BA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,2EAA2E;IAC3E,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/C,sDAAsD;IACtD,QAAQ,IAAI,aAAa,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;gFAC4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAgSD,wBAAgB,gBAAgB,IAAI,gBAAgB,CAqBnD;AAED,mFAAmF;AACnF,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD;AAED,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAID,+DAA+D;AAC/D,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CASrF;AAED,wDAAwD;AACxD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAerH;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAEzD;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAOzD;AAED;yEACyE;AACzE,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAKlE"}
|
|
@@ -17,7 +17,10 @@
|
|
|
17
17
|
// The active backend is selected by IMHUB_MEMORY_VECTOR_BACKEND
|
|
18
18
|
// (off | local | openai). Status / download / test endpoints in
|
|
19
19
|
// web/server.ts read from `getActiveBackend()` to drive the UI.
|
|
20
|
+
import { existsSync } from 'node:fs';
|
|
21
|
+
import { join } from 'node:path';
|
|
20
22
|
import { logger as rootLogger } from './logger.js';
|
|
23
|
+
import { AGIM_HOME } from './agim-paths.js';
|
|
21
24
|
const log = rootLogger.child({ component: 'memory-vector' });
|
|
22
25
|
const HTTP_TIMEOUT_MS = 10_000;
|
|
23
26
|
const BATCH_TIMEOUT_MS = 30_000;
|
|
@@ -51,6 +54,30 @@ class LocalBgeBackend {
|
|
|
51
54
|
};
|
|
52
55
|
constructor(modelId) {
|
|
53
56
|
this.modelId = modelId;
|
|
57
|
+
// Auto-warm: if the model is already on disk from a previous run,
|
|
58
|
+
// load it in the background so `ready` flips to true within seconds.
|
|
59
|
+
// Without this, the backend stays "not ready" after every restart
|
|
60
|
+
// until the user clicks 📥 download / 🧪 test, AND saveFact silently
|
|
61
|
+
// skips embedding writes in the meantime.
|
|
62
|
+
if (this.isDownloaded()) {
|
|
63
|
+
void this.ensureReady().catch((err) => {
|
|
64
|
+
log.warn({
|
|
65
|
+
event: 'vector.local.autowarm_failed', modelId: this.modelId,
|
|
66
|
+
err: err instanceof Error ? err.message : String(err),
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Cheap check: are model files on disk? Used to flip the UI's
|
|
72
|
+
* "downloaded but loading" hint and to gate auto-warm. */
|
|
73
|
+
isDownloaded() {
|
|
74
|
+
try {
|
|
75
|
+
const onnx = join(AGIM_HOME, 'cache', 'transformers', this.modelId, 'onnx', 'model_quantized.onnx');
|
|
76
|
+
return existsSync(onnx);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
54
81
|
}
|
|
55
82
|
get ready() {
|
|
56
83
|
return this.extractor !== null && this.dims > 0;
|
|
@@ -92,8 +119,6 @@ class LocalBgeBackend {
|
|
|
92
119
|
// over $HOME. allowLocalModels stays default (true) — cached models
|
|
93
120
|
// load offline after first download.
|
|
94
121
|
try {
|
|
95
|
-
const { join } = await import('node:path');
|
|
96
|
-
const { AGIM_HOME } = await import('./agim-paths.js');
|
|
97
122
|
tf.env.cacheDir = join(AGIM_HOME, 'cache', 'transformers');
|
|
98
123
|
}
|
|
99
124
|
catch (e) {
|
|
@@ -150,6 +175,7 @@ class LocalBgeBackend {
|
|
|
150
175
|
backend: 'local', ready: this.ready, dims: this.dims,
|
|
151
176
|
modelId: this.modelId,
|
|
152
177
|
lastError: this.lastError,
|
|
178
|
+
downloaded: this.isDownloaded(),
|
|
153
179
|
detail: { progress: this.getProgress() },
|
|
154
180
|
};
|
|
155
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-vector.js","sourceRoot":"","sources":["../../src/core/memory-vector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-vector.js","sourceRoot":"","sources":["../../src/core/memory-vector.ts"],"names":[],"mappings":"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"}
|
|
@@ -231,6 +231,8 @@
|
|
|
231
231
|
},
|
|
232
232
|
},
|
|
233
233
|
// ── v1.2 Cost & Health tab ──
|
|
234
|
+
tabsCost: '💰 Cost & Health',
|
|
235
|
+
tabsMemory: '🧠 Memory',
|
|
234
236
|
costH2: '💰 Cost & Health',
|
|
235
237
|
costWindow: 'Window',
|
|
236
238
|
costDays1: '1 day',
|
|
@@ -257,6 +259,7 @@
|
|
|
257
259
|
memoryPersonaPlaceholder: '(No persona for this user yet — will be auto-generated at next consolidation, or write one manually.)',
|
|
258
260
|
memoryPersonaSave: 'Save persona',
|
|
259
261
|
memoryPersonaDelete: 'Delete persona',
|
|
262
|
+
memoryPersonaConsolidate: '🔁 Rebuild persona now',
|
|
260
263
|
memoryFactsCard: 'Facts',
|
|
261
264
|
memoryFactsSearch: 'Search (FTS5)',
|
|
262
265
|
memoryFactsCatAll: 'All types',
|
|
@@ -502,6 +505,8 @@
|
|
|
502
505
|
},
|
|
503
506
|
},
|
|
504
507
|
// ── v1.2 Cost & Health tab ──
|
|
508
|
+
tabsCost: '💰 成本与健康',
|
|
509
|
+
tabsMemory: '🧠 记忆',
|
|
505
510
|
costH2: '💰 成本与健康',
|
|
506
511
|
costWindow: '窗口',
|
|
507
512
|
costDays1: '1 天',
|
|
@@ -528,6 +533,7 @@
|
|
|
528
533
|
memoryPersonaPlaceholder: '(此用户暂无记忆画像 — 等下次 consolidation 自动生成,或手动写入)',
|
|
529
534
|
memoryPersonaSave: '保存记忆画像',
|
|
530
535
|
memoryPersonaDelete: '删除记忆画像',
|
|
536
|
+
memoryPersonaConsolidate: '🔁 立刻重建画像',
|
|
531
537
|
memoryFactsCard: 'Facts',
|
|
532
538
|
memoryFactsSearch: '搜索(FTS5)',
|
|
533
539
|
memoryFactsCatAll: '所有类型',
|
|
@@ -1240,9 +1246,10 @@
|
|
|
1240
1246
|
<span class="muted" id="mem-persona-meta" style="font-size:12px"></span>
|
|
1241
1247
|
</div>
|
|
1242
1248
|
<textarea id="mem-persona-text" rows="6" style="width:100%;font-family:ui-monospace,monospace;font-size:13px;box-sizing:border-box" data-i18n-attr="placeholder:memoryPersonaPlaceholder" placeholder="(此用户暂无记忆画像 — 等下次 consolidation 自动生成,或手动写入)"></textarea>
|
|
1243
|
-
<div class="actions" style="margin-top:8px;display:flex;gap:8px">
|
|
1249
|
+
<div class="actions" style="margin-top:8px;display:flex;gap:8px;flex-wrap:wrap">
|
|
1244
1250
|
<button type="button" id="btn-mem-persona-save" class="btn btn-primary" data-i18n="memoryPersonaSave">保存记忆画像</button>
|
|
1245
1251
|
<button type="button" id="btn-mem-persona-delete" class="btn" data-i18n="memoryPersonaDelete">删除记忆画像</button>
|
|
1252
|
+
<button type="button" id="btn-mem-persona-consolidate" class="btn" title="立刻跑一次 consolidation 重建画像,不等 24h 周期" data-i18n="memoryPersonaConsolidate">🔁 立刻重建画像</button>
|
|
1246
1253
|
</div>
|
|
1247
1254
|
<p class="muted" id="mem-persona-status" style="margin-top:6px;font-size:12px"></p>
|
|
1248
1255
|
</div>
|
|
@@ -1310,6 +1317,8 @@
|
|
|
1310
1317
|
document.getElementById('tab-files').textContent = T.tabsFiles;
|
|
1311
1318
|
document.getElementById('tab-outbox').textContent = T.tabsOutbox;
|
|
1312
1319
|
document.getElementById('tab-a2a').textContent = T.tabsA2A;
|
|
1320
|
+
if (T.tabsCost) document.getElementById('tab-cost').textContent = T.tabsCost;
|
|
1321
|
+
if (T.tabsMemory) document.getElementById('tab-memory').textContent = T.tabsMemory;
|
|
1313
1322
|
document.getElementById('hdr-outbox').textContent = T.tabsOutbox;
|
|
1314
1323
|
document.getElementById('hdr-a2a').textContent = T.tabsA2A;
|
|
1315
1324
|
|
|
@@ -2892,10 +2901,18 @@
|
|
|
2892
2901
|
const cov = data.coverage || { total: 0, withEmbedding: 0 };
|
|
2893
2902
|
const badge = document.getElementById('mem-vec-status-badge');
|
|
2894
2903
|
if (badge) {
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2904
|
+
if (s.ready) {
|
|
2905
|
+
badge.textContent = `✓ ${s.backend} · dim ${s.dims} · 索引 ${cov.withEmbedding}/${cov.total}`;
|
|
2906
|
+
badge.style.color = '#16a34a';
|
|
2907
|
+
} else if (s.downloaded) {
|
|
2908
|
+
// Model files on disk but pipeline not loaded yet — happens
|
|
2909
|
+
// after a service restart while the auto-warm finishes.
|
|
2910
|
+
badge.textContent = `↻ ${s.backend} · 模型已下载,加载中…`;
|
|
2911
|
+
badge.style.color = '#d97706';
|
|
2912
|
+
} else {
|
|
2913
|
+
badge.textContent = `○ ${s.backend} · 未就绪${s.lastError ? ' (' + s.lastError.slice(0, 60) + ')' : ''}`;
|
|
2914
|
+
badge.style.color = 'var(--muted, #656d76)';
|
|
2915
|
+
}
|
|
2899
2916
|
}
|
|
2900
2917
|
const detail = document.getElementById('mem-vec-status-detail');
|
|
2901
2918
|
if (detail) {
|
|
@@ -2926,8 +2943,9 @@
|
|
|
2926
2943
|
const dlBtn = document.getElementById('btn-mem-vec-download');
|
|
2927
2944
|
if (dlBtn) {
|
|
2928
2945
|
const hasDownloading = (data.jobs || []).some(j => j.kind === 'download' && j.phase === 'running');
|
|
2929
|
-
dlBtn.disabled = hasDownloading || s.ready;
|
|
2946
|
+
dlBtn.disabled = hasDownloading || s.ready || s.downloaded;
|
|
2930
2947
|
if (s.ready) dlBtn.textContent = '✓ 已就绪';
|
|
2948
|
+
else if (s.downloaded) dlBtn.textContent = '✓ 已下载(加载中)';
|
|
2931
2949
|
else if (hasDownloading) dlBtn.textContent = '⏳ 下载中…';
|
|
2932
2950
|
else dlBtn.textContent = '📥 下载模型(首次 5-10 min,建议 WiFi)';
|
|
2933
2951
|
}
|
|
@@ -3314,6 +3332,57 @@
|
|
|
3314
3332
|
if (status) status.textContent = '删除失败: ' + (err.message || err);
|
|
3315
3333
|
}
|
|
3316
3334
|
});
|
|
3335
|
+
document.getElementById('btn-mem-persona-consolidate')?.addEventListener('click', async () => {
|
|
3336
|
+
const status = document.getElementById('mem-persona-status');
|
|
3337
|
+
const btn = document.getElementById('btn-mem-persona-consolidate');
|
|
3338
|
+
if (btn) btn.disabled = true;
|
|
3339
|
+
if (status) status.textContent = '⏳ 已提交后台任务(每用户 1 次 LLM 调用,10–60 秒)…';
|
|
3340
|
+
let pollTimer = null;
|
|
3341
|
+
const stopPoll = () => { if (pollTimer) { clearInterval(pollTimer); pollTimer = null; } };
|
|
3342
|
+
try {
|
|
3343
|
+
// Async kickoff: server returns 202 + jobId immediately, then the
|
|
3344
|
+
// LLM call runs in the background. Polling avoids cloudflare /
|
|
3345
|
+
// nginx / browser fetch timeouts on long-held POSTs.
|
|
3346
|
+
const r = await api('/api/memory/consolidate', { method: 'POST' });
|
|
3347
|
+
const targetJobId = r.jobId;
|
|
3348
|
+
if (!targetJobId) throw new Error('server did not return jobId');
|
|
3349
|
+
const startedAt = Date.now();
|
|
3350
|
+
pollTimer = setInterval(async () => {
|
|
3351
|
+
try {
|
|
3352
|
+
const s = await api('/api/memory/consolidate/status');
|
|
3353
|
+
const job = (s.jobs || []).find(j => j.id === targetJobId);
|
|
3354
|
+
if (!job) return;
|
|
3355
|
+
const elapsed = ((Date.now() - startedAt) / 1000).toFixed(0);
|
|
3356
|
+
if (job.phase === 'running') {
|
|
3357
|
+
if (status) status.textContent = `⏳ 重建中 (${elapsed}s)…`;
|
|
3358
|
+
return;
|
|
3359
|
+
}
|
|
3360
|
+
stopPoll();
|
|
3361
|
+
if (btn) btn.disabled = false;
|
|
3362
|
+
if (job.phase === 'done') {
|
|
3363
|
+
const u = (job.result && job.result.updated) || 0;
|
|
3364
|
+
const n = (job.result && job.result.users) || 0;
|
|
3365
|
+
if (status) status.textContent = `✓ 完成 (${elapsed}s) · 处理 ${n} 个用户、更新 ${u} 个画像`;
|
|
3366
|
+
await loadMemoryUserDetail();
|
|
3367
|
+
} else {
|
|
3368
|
+
const e = (job.result && job.result.error) || 'unknown error';
|
|
3369
|
+
if (status) status.textContent = '失败: ' + e;
|
|
3370
|
+
}
|
|
3371
|
+
} catch (pollErr) {
|
|
3372
|
+
// Poll failures are non-fatal; UI keeps trying. Stop after 5 min.
|
|
3373
|
+
if (Date.now() - startedAt > 300_000) {
|
|
3374
|
+
stopPoll();
|
|
3375
|
+
if (btn) btn.disabled = false;
|
|
3376
|
+
if (status) status.textContent = '轮询超时(>5min),请刷新查看实际结果';
|
|
3377
|
+
}
|
|
3378
|
+
}
|
|
3379
|
+
}, 2000);
|
|
3380
|
+
} catch (err) {
|
|
3381
|
+
if (status) status.textContent = '失败: ' + (err.message || err);
|
|
3382
|
+
if (btn) btn.disabled = false;
|
|
3383
|
+
stopPoll();
|
|
3384
|
+
}
|
|
3385
|
+
});
|
|
3317
3386
|
document.getElementById('btn-mem-facts-clear-lowconf')?.addEventListener('click', async () => {
|
|
3318
3387
|
if (!memCurrentUser) return;
|
|
3319
3388
|
if (!confirm('删除 confidence ≤ 40% 的所有事实?')) return;
|
package/dist/web/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AA+JA,wBAAgB,iBAAiB,IAAI,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAOrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AA+JA,wBAAgB,iBAAiB,IAAI,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAOrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwxB/C"}
|
package/dist/web/server.js
CHANGED
|
@@ -615,6 +615,14 @@ export async function startWebServer(options) {
|
|
|
615
615
|
if (url.pathname === '/api/memory/vector/clear' && req.method === 'POST') {
|
|
616
616
|
return handleVectorClear(req, res, url);
|
|
617
617
|
}
|
|
618
|
+
// v1.2.2 — manual trigger for the daily consolidation. Useful when the
|
|
619
|
+
// user just wants a persona summary now without waiting 24h.
|
|
620
|
+
if (url.pathname === '/api/memory/consolidate' && req.method === 'POST') {
|
|
621
|
+
return handleMemoryConsolidate(req, res);
|
|
622
|
+
}
|
|
623
|
+
if (url.pathname === '/api/memory/consolidate/status' && req.method === 'GET') {
|
|
624
|
+
return handleMemoryConsolidateStatus(req, res);
|
|
625
|
+
}
|
|
618
626
|
// PR-B: HITL approvals — global pending list + per-reqId resolve.
|
|
619
627
|
if (url.pathname === '/api/approvals' && req.method === 'GET') {
|
|
620
628
|
return handleListApprovals(req, res);
|
|
@@ -2370,6 +2378,52 @@ async function handleVectorBackfill(req, res, url) {
|
|
|
2370
2378
|
sendJson(res, 500, { error: err instanceof Error ? err.message : String(err) });
|
|
2371
2379
|
}
|
|
2372
2380
|
}
|
|
2381
|
+
const consolidateJobs = new Map();
|
|
2382
|
+
function pickRecentConsolidate() {
|
|
2383
|
+
return Array.from(consolidateJobs.values())
|
|
2384
|
+
.sort((a, b) => b.startedAt - a.startedAt)
|
|
2385
|
+
.slice(0, 5);
|
|
2386
|
+
}
|
|
2387
|
+
async function handleMemoryConsolidate(_req, res) {
|
|
2388
|
+
try {
|
|
2389
|
+
// Dedupe: if a consolidate is already running, return that jobId.
|
|
2390
|
+
for (const j of consolidateJobs.values()) {
|
|
2391
|
+
if (j.phase === 'running') {
|
|
2392
|
+
sendJson(res, 202, { ok: true, jobId: j.id, alreadyRunning: true });
|
|
2393
|
+
return;
|
|
2394
|
+
}
|
|
2395
|
+
}
|
|
2396
|
+
const id = `consolidate-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
|
|
2397
|
+
const job = { id, startedAt: Date.now(), finishedAt: null, phase: 'running', result: {} };
|
|
2398
|
+
consolidateJobs.set(id, job);
|
|
2399
|
+
if (consolidateJobs.size > 50) {
|
|
2400
|
+
const oldest = Array.from(consolidateJobs.values()).sort((a, b) => a.startedAt - b.startedAt)[0];
|
|
2401
|
+
if (oldest)
|
|
2402
|
+
consolidateJobs.delete(oldest.id);
|
|
2403
|
+
}
|
|
2404
|
+
void (async () => {
|
|
2405
|
+
try {
|
|
2406
|
+
const { runConsolidationOnce } = await import('../core/memory-consolidate.js');
|
|
2407
|
+
const r = await runConsolidationOnce();
|
|
2408
|
+
job.finishedAt = Date.now();
|
|
2409
|
+
job.phase = 'done';
|
|
2410
|
+
job.result = r;
|
|
2411
|
+
}
|
|
2412
|
+
catch (err) {
|
|
2413
|
+
job.finishedAt = Date.now();
|
|
2414
|
+
job.phase = 'failed';
|
|
2415
|
+
job.result = { error: err instanceof Error ? err.message : String(err) };
|
|
2416
|
+
}
|
|
2417
|
+
})();
|
|
2418
|
+
sendJson(res, 202, { ok: true, jobId: id, hint: 'poll /api/memory/consolidate/status for progress' });
|
|
2419
|
+
}
|
|
2420
|
+
catch (err) {
|
|
2421
|
+
sendJson(res, 500, { error: err instanceof Error ? err.message : String(err) });
|
|
2422
|
+
}
|
|
2423
|
+
}
|
|
2424
|
+
async function handleMemoryConsolidateStatus(_req, res) {
|
|
2425
|
+
sendJson(res, 200, { jobs: pickRecentConsolidate() });
|
|
2426
|
+
}
|
|
2373
2427
|
async function handleVectorClear(_req, res, url) {
|
|
2374
2428
|
try {
|
|
2375
2429
|
const { clearEmbeddings } = await import('../core/memory.js');
|