This commit is contained in:
2026-08-07 17:05:03 +02:00
parent 246241fcda
commit f8bf8c944e
1172 changed files with 38091 additions and 924 deletions
+14 -1
View File
@@ -170,7 +170,20 @@
$('summaryOllama').textContent = `${healthy}/${nodes.length || 0} gesund`;
const shared = pool.shared_queue || {};
const dedupe = system.research_dedupe || {};
$('summaryOllamaSub').textContent = `${num(shared.active)} aktiv · ${num(shared.waiting)} gemeinsam wartend · Dedupe ${num(dedupe.inflight)} laufend/${num(dedupe.cached)} Cache`;
const articleModels = system.article_model_status || {};
const author = articleModels.synthesis || {};
const reviewer = articleModels.review || {};
const modelText = author.model || reviewer.model ? ` · Artikel ${esc(author.model || '?')}→${esc(reviewer.model || '?')} (${num(author.healthy_nodes_with_model)}/${num(reviewer.healthy_nodes_with_model)} Nodes)` : '';
const workKinds = shared.kinds || {};
const kindCount = prefix => {
let active = 0, waiting = 0;
Object.entries(workKinds).forEach(([name, item]) => {
if (name === prefix || name.startsWith(prefix + '.')) { active += Number(item?.active || 0); waiting += Number(item?.waiting || 0); }
});
return `${num(active)}/${num(waiting)}`;
};
const queueKindsText = Object.keys(workKinds).length ? ` · Search ${kindCount('searxng')} · Fetch ${kindCount('web.fetch')} · Chat ${kindCount('ollama.chat')} · Embed ${kindCount('ollama.embedding')}` : '';
$('summaryOllamaSub').innerHTML = `${num(shared.active)} aktiv · ${num(shared.waiting)} gemeinsam wartend${queueKindsText} · Dedupe ${num(dedupe.inflight)} laufend/${num(dedupe.cached)} Cache${modelText}`;
const storage = system.graph_storage || {};
const persistence = system.persistence || {};
const audit = state.payload.history?.audit || {};
+4
View File
@@ -778,6 +778,10 @@
const persistence = status.persistence || {};
const glpi = status.glpi_kb || {};
const diagnostics = [`Ollama ${pool.healthy_nodes ?? 0}/${pool.node_count ?? 0}`, `Diskqueue ${persistence.pending_files ?? 0}`];
const articleModels = status.article_model_status || {};
if (articleModels.synthesis?.model || articleModels.review?.model) {
diagnostics.push(`Artikel ${articleModels.synthesis?.model || '?'} → ${articleModels.review?.model || '?'}`);
}
if (glpi.enabled) diagnostics.push(`GLPI-KB ${glpi.documents ?? 0}`);
panel.title = diagnostics.join(' · ');
const span = panel.querySelector('span');