162 lines
8.8 KiB
HTML
162 lines
8.8 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
|
||
<title>Neural Knowledge Brain</title>
|
||
<link rel="stylesheet" href="/app.css">
|
||
</head>
|
||
<body>
|
||
<canvas id="brain" aria-label="Animierter Wissensgraph in 3D-Gehirnform"></canvas>
|
||
<div class="vignette"></div>
|
||
|
||
<header class="topbar glass">
|
||
<div class="brand">
|
||
<span class="mark"><i></i><i></i><i></i></span>
|
||
<div>
|
||
<strong>NEURAL KNOWLEDGE BRAIN</strong>
|
||
<small>Autonome Hirnaktivität · Agent · Knowledgebase · AI-THINK</small>
|
||
</div>
|
||
</div>
|
||
<div class="mode-status living" id="visualMode" aria-live="polite">
|
||
<i></i>
|
||
<div><b>LIVING</b><small>ruhige Eigenaktivität</small></div>
|
||
</div>
|
||
<div class="metrics">
|
||
<span><b id="nodeCount">0</b> Nodes</span>
|
||
<span><b id="edgeCount">0</b> Edges</span>
|
||
<span title="Aktuell gerenderte Knoten"><b id="renderCount">0</b> Render</span>
|
||
<span title="Gemessene Renderfrequenz"><b id="fpsCount">0</b> FPS</span>
|
||
<span><b id="pulseCount">0</b> Impulse</span>
|
||
<span class="state" id="systemState"><i></i> verbindet</span>
|
||
</div>
|
||
</header>
|
||
|
||
<aside class="activity glass">
|
||
<div class="panel-title">
|
||
<span>AKTIVITÄTSFEED</span>
|
||
<div class="panel-actions">
|
||
<span class="chip">wichtig</span>
|
||
<button id="clearLog" title="Aktivitätsprotokoll leeren">×</button>
|
||
</div>
|
||
</div>
|
||
<div class="panel-subtitle">Zeigt relevante Hirnaktivität, Anreicherungen, Recherchen und Suchläufe.</div>
|
||
<div id="autonomyStatus" class="autonomy-status" aria-live="polite"><i></i><span>AI-THINK-Status wird geladen …</span></div>
|
||
<div id="activityLog" class="activity-log"></div>
|
||
</aside>
|
||
|
||
<nav class="dock glass" aria-label="Ansichtssteuerung">
|
||
<button id="viewNeural" class="active" title="Semantischer Wissensgraph mit Edges">NEURAL</button>
|
||
<button id="viewHoneycomb" title="Gleichmäßig verteilte 3D-Wabenansicht ohne Edges">HONEYCOMB</button>
|
||
<button id="viewConstellation" title="Semantische Themen-Sternbilder mit leichten Clusterpfaden">CONSTELLATION</button>
|
||
<span class="dock-separator"></span>
|
||
<button id="toggleLearning" class="active" title="Lernen, Reindex und Embeddings aktivieren oder pausieren">LEARNING</button>
|
||
<button id="toggleThinking" class="active" title="Autonomes AI-THINK aktivieren oder pausieren">THINKING</button>
|
||
<span class="dock-separator"></span>
|
||
<button id="toggleLabels" class="active">Labels</button>
|
||
<button id="toggleEdges" class="active">Synapsen</button>
|
||
<button id="toggleRotate" class="active">Autopilot</button>
|
||
<button id="toggleCortex" class="active">Cortex</button>
|
||
<button id="toggleLOD" class="active" title="Hierarchische dynamische Verdichtung">LOD</button>
|
||
<button id="toggleEco" title="Optimierter Renderpfad für schwächere Systeme">ECO</button>
|
||
<button id="resetView">Zentrieren</button>
|
||
<button id="openSettings" title="Exakte KB-source-Filter und Laufzeitsteuerung">FILTER</button>
|
||
<button id="enrichNow" class="think-action" title="Einen autonomen AI-THINK-Zyklus sofort starten"><span>AI-THINK</span><small>STARTEN</small></button>
|
||
</nav>
|
||
|
||
<div class="legend glass" aria-label="Legende">
|
||
<span class="legend-title">STATUS</span>
|
||
<span><i class="prod"></i>Produktiv</span>
|
||
<span><i class="think"></i>AI-THINK</span>
|
||
<span><i class="stage"></i>Staging</span>
|
||
<span><i class="external"></i>Recherche</span>
|
||
</div>
|
||
|
||
<div id="settingsBackdrop" class="settings-backdrop hidden"></div>
|
||
<aside id="settingsPanel" class="settings-panel glass hidden" aria-label="Brain-Einstellungen">
|
||
<div class="settings-header">
|
||
<div><strong>BRAIN CONTROL</strong><small>Laufzeitmodi und exakte KB-source-Filter</small></div>
|
||
<button id="closeSettings" title="Schließen">×</button>
|
||
</div>
|
||
|
||
<section class="settings-section">
|
||
<h2>Betriebsmodi</h2>
|
||
<label class="switch-row" for="settingsLearning">
|
||
<span><b>Learning</b><small>Ingest, Reindex, GLPI-Sync und Embeddings</small></span>
|
||
<input id="settingsLearning" type="checkbox" checked>
|
||
</label>
|
||
<label class="switch-row" for="settingsThinking">
|
||
<span><b>Thinking</b><small>AI-THINK, Verknüpfungsanalyse und Recherche</small></span>
|
||
<input id="settingsThinking" type="checkbox" checked>
|
||
</label>
|
||
<div class="view-selector" aria-label="Standardansicht">
|
||
<button id="settingsViewNeural" class="active" type="button">Neural</button>
|
||
<button id="settingsViewHoneycomb" type="button">Honeycomb</button>
|
||
<button id="settingsViewConstellation" type="button">Constellation</button>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="settings-section performance-settings">
|
||
<div class="settings-section-title"><h2>Performance</h2><span>Browser-Rendering</span></div>
|
||
<label class="switch-row eco-switch" for="settingsLowPower">
|
||
<span><b>Eco-Modus</b><small>30 FPS, geringere Pixeldichte und günstigere Glow-Effekte. Aktivität, Rechercheanimationen und Fades bleiben sichtbar.</small></span>
|
||
<input id="settingsLowPower" type="checkbox">
|
||
</label>
|
||
<div class="settings-section-title performance-subtitle"><h2>GPU-Limit</h2><span>0 = unbegrenzt</span></div>
|
||
<label class="number-setting" for="settingsMaxDisplayNodes">
|
||
<span><b>Maximal angezeigte Nodes</b><small>Begrenzt Neural- und Honeycomb-Ansicht. Aktive Notes werden bei Bedarf temporär eingeblendet und ersetzen inaktive Nodes.</small></span>
|
||
<input id="settingsMaxDisplayNodes" type="number" min="0" max="500000" step="100" inputmode="numeric" value="0">
|
||
</label>
|
||
<div class="node-limit-presets" aria-label="Voreinstellungen für das Node-Limit">
|
||
<button type="button" data-node-limit="1000">1.000</button>
|
||
<button type="button" data-node-limit="5000">5.000</button>
|
||
<button type="button" data-node-limit="10000">10.000</button>
|
||
<button type="button" data-node-limit="25000">25.000</button>
|
||
<button type="button" data-node-limit="0">Unbegrenzt</button>
|
||
</div>
|
||
<p id="displayLimitHint" class="setting-hint">Unbegrenzt · Quellenfilter und LOD bestimmen die Renderlast.</p>
|
||
</section>
|
||
|
||
<section class="settings-section research-settings">
|
||
<div class="settings-section-title"><h2>SearXNG-Diagnose</h2><span id="researchStatusBadge">nicht geprüft</span></div>
|
||
<div id="researchStatus" class="research-status">Konfiguration wird geladen …</div>
|
||
<label class="research-test-query" for="researchTestQuery">
|
||
<span>Direkte Testanfrage</span>
|
||
<input id="researchTestQuery" type="text" value="Btrfs Snapshots und ZFS History Unterschiede Timeline" autocomplete="off">
|
||
</label>
|
||
<div class="research-test-actions">
|
||
<button id="testResearch" type="button">SEARXNG TESTEN</button>
|
||
<span id="researchTestFeedback" aria-live="polite"></span>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="settings-section source-settings">
|
||
<div class="settings-section-title"><h2>KB-source-Filter</h2><span>exakter Treffer auf dem source-Feld</span></div>
|
||
<p id="filterScopeSummary" class="setting-hint filter-scope-summary">Quellen werden geladen …</p>
|
||
<label class="filter-search"><span>source-Werte durchsuchen</span><input id="sourceSearch" type="search" placeholder="z. B. internal-category oder GLPI Knowledge Base"></label>
|
||
|
||
<div class="filter-block">
|
||
<div class="filter-heading"><div><b>Lernen</b><small>Nur KB-Dokumente mit exakt diesem source-Wert werden eingebettet und bei Abfragen verwendet.</small></div><button type="button" data-clear-source-filter="learning">Alle</button></div>
|
||
<div id="learningSourceList" class="source-list"></div>
|
||
</div>
|
||
<div class="filter-block">
|
||
<div class="filter-heading"><div><b>Anzeige</b><small>Nur Dokumente mit exakt passendem source-Wert werden gerendert; direkte Taxonomie bleibt sichtbar.</small></div><button type="button" data-clear-source-filter="display">Alle</button></div>
|
||
<div id="displaySourceList" class="source-list"></div>
|
||
</div>
|
||
<div class="filter-block">
|
||
<div class="filter-heading"><div><b>Thinking</b><small>Nur Dokumente und Webbelege mit exakt passendem source-Wert speisen neue Relationen und Artikel.</small></div><button type="button" data-clear-source-filter="thinking">Alle</button></div>
|
||
<div id="thinkingSourceList" class="source-list"></div>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="settings-footer">
|
||
<span id="settingsFeedback" aria-live="polite"></span>
|
||
<button id="saveSettings" type="button">ÜBERNEHMEN</button>
|
||
</div>
|
||
</aside>
|
||
|
||
<div id="tooltip" class="tooltip hidden"></div>
|
||
<script src="/app.js" defer></script>
|
||
</body>
|
||
</html>
|