Source files (src/) and rendered bundle (www/) extracted on 2026-04-29T01:35:47+02:00. Adds nginx:alpine Dockerfile + docker-compose.yml (Caddy-labels) so the bot runs stand-alone or as a per-customer template clone. Parent monorepo commit: d2c816f3edbc9760802a11b29ff4151c7aad4b46 Bot version: 2026-04-25
102 lines
4.5 KiB
HTML
102 lines
4.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Kai Cockpit · KI-Governance, Reifegrad, EU AI Act</title>
|
|
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
|
|
<meta name="theme-color" content="#0a0a0f">
|
|
<meta name="description" content="Kai Cockpit — Reifegrad-Assessment, EU AI Act Risk-Classifier, KPI-Dashboard und integrierter Coach-Chat. Sovereign AI aus dem deutschen Bunker.">
|
|
<link rel="stylesheet" href="cockpit.css">
|
|
<script>window.__KAI_KEY__ = 'qb_qj0ahcfv6coz';</script>
|
|
</head>
|
|
<body>
|
|
<div class="cockpit" role="application" aria-label="Kai Cockpit">
|
|
|
|
<header class="topbar">
|
|
<div class="brand">
|
|
<span class="brand-icon" aria-hidden="true">K</span>
|
|
<div class="brand-text">
|
|
<span class="brand-title">Kai <small>Cockpit</small></span>
|
|
<span class="brand-sub">KI-Governance · Reifegrad · AI Act</span>
|
|
</div>
|
|
</div>
|
|
<div class="spacer"></div>
|
|
<div class="xp-wrap" title="Deine Erfahrung — geteilt mit dem Kai-Widget">
|
|
<div class="xp-row">
|
|
<span id="xp-level" class="xp-level">Lvl 1 · AI-Trainee</span>
|
|
<span id="xp-score" class="xp-score">0 XP</span>
|
|
</div>
|
|
<div class="xp-bar"><div id="xp-bar-fill" class="xp-bar-fill"></div></div>
|
|
</div>
|
|
<a class="back-link" href="/" title="Zurück zum Kai-Widget">Widget ›</a>
|
|
</header>
|
|
|
|
<nav class="nav" role="tablist" aria-label="Cockpit-Module">
|
|
<button class="nav-item" role="tab" aria-selected="true" data-module="reifegrad">
|
|
<span class="nav-num">01</span>
|
|
<span class="nav-label">Reifegrad</span>
|
|
<span class="nav-kbd">⌃1</span>
|
|
</button>
|
|
<button class="nav-item" role="tab" aria-selected="false" data-module="aiact">
|
|
<span class="nav-num">02</span>
|
|
<span class="nav-label">AI-Act-Classifier</span>
|
|
<span class="nav-kbd">⌃2</span>
|
|
</button>
|
|
<button class="nav-item" role="tab" aria-selected="false" data-module="dashboard">
|
|
<span class="nav-num">03</span>
|
|
<span class="nav-label">KPI-Dashboard</span>
|
|
<span class="nav-kbd">⌃3</span>
|
|
</button>
|
|
<button class="nav-item" role="tab" aria-selected="false" data-module="chat">
|
|
<span class="nav-num">04</span>
|
|
<span class="nav-label">Kai-Chat</span>
|
|
<span class="nav-kbd">⌃4</span>
|
|
</button>
|
|
</nav>
|
|
|
|
<main class="main">
|
|
<section id="mod-reifegrad" class="module" data-active="true" aria-labelledby="h-reifegrad">
|
|
<div id="reifegrad-host"></div>
|
|
</section>
|
|
<section id="mod-aiact" class="module" aria-labelledby="h-aiact">
|
|
<div id="aiact-host"></div>
|
|
</section>
|
|
<section id="mod-dashboard" class="module" aria-labelledby="h-dashboard">
|
|
<div id="dashboard-host"></div>
|
|
</section>
|
|
<section id="mod-chat" class="module" aria-labelledby="h-chatfull">
|
|
<div id="chat-full-host"></div>
|
|
</section>
|
|
</main>
|
|
|
|
<aside id="chat-dock" class="chat-dock" aria-label="Kai Chat-Dock">
|
|
<header class="dock-head">
|
|
<span class="dock-title">Kai</span>
|
|
<span class="dock-sub">dein Coach</span>
|
|
<button class="dock-reset" type="button" id="dock-reset" title="Chat zurücksetzen" aria-label="Chat zurücksetzen">↺</button>
|
|
<button class="dock-collapse" type="button" id="dock-collapse" title="Einklappen" aria-label="Einklappen">✕</button>
|
|
</header>
|
|
<div id="dock-box" class="dock-box" aria-live="polite"></div>
|
|
<form id="dock-form" class="dock-form" aria-label="Kai fragen">
|
|
<textarea id="dock-input" rows="1" placeholder="Frag Kai — Ctrl+K fokussiert" aria-label="Nachricht"></textarea>
|
|
<button type="submit" class="btn-send" id="dock-send" aria-label="Senden">→</button>
|
|
</form>
|
|
<a class="dock-footer-link" href="/">Zum vollen Widget →</a>
|
|
</aside>
|
|
|
|
<button id="dock-open" class="dock-open" type="button" aria-label="Kai-Chat öffnen" title="Kai-Chat öffnen">
|
|
<span class="dock-open-dot"></span>Kai fragen
|
|
</button>
|
|
|
|
<footer class="footer">
|
|
Sovereign AI · Deutscher Bunker · <a href="https://qognio.com">Qognio</a> · DSGVO-konform · Keine externen CDNs
|
|
</footer>
|
|
|
|
</div>
|
|
|
|
<div id="modal-root" class="modal-root" aria-hidden="true"></div>
|
|
<div id="toast-stack" class="toast-stack" aria-live="polite"></div>
|
|
|
|
<script src="cockpit.js"></script>
|
|
</body>
|
|
</html>
|