KI-Tracking vollständig, Cloud-Limit 20/Woche, Statusmail täglich 06:00 — SW by-v434, APP_VER 413
- ki.complete() zählt sich selbst (user_id-Parameter, _track_usage) - CLOUD_WEEKLY_LIMIT=20, geprüft vor jedem Cloud-Call - user_id durchgereicht in health, diary, knigge, notes, ki-route - Admin-Panel: 7-Tage-Ansicht, Limit-Info, Top-Cloud-User-Tabelle - Statusmail täglich 06:00 CEST statt alle 2h
This commit is contained in:
parent
85836e4e6e
commit
570dcd4e93
11 changed files with 135 additions and 78 deletions
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '412'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '413'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
|
||||
const App = (() => {
|
||||
|
||||
|
|
|
|||
|
|
@ -333,15 +333,13 @@ window.Page_admin = (() => {
|
|||
<p style="font-size:var(--text-sm);font-weight:600;margin:0 0 var(--space-3)">KI-Nutzung</p>
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2)">
|
||||
${[
|
||||
['☁️ Claude heute', s.ki_cloud_today, 'var(--c-primary)'],
|
||||
['🖥️ LM Studio heute', s.ki_local_today, 'var(--c-success)'],
|
||||
['🌙 Luna heute', s.ki_luna_today, 'var(--c-warning)'],
|
||||
['Gesamt heute', s.ki_today, 'var(--c-text-secondary)'],
|
||||
['☁️ Claude Monat', s.ki_cloud_month, 'var(--c-primary)'],
|
||||
['🖥️ LM Studio Monat', s.ki_local_month, 'var(--c-success)'],
|
||||
['🌙 Luna Monat', s.ki_luna_month, 'var(--c-warning)'],
|
||||
['Gesamt Monat', s.ki_month, 'var(--c-text-secondary)'],
|
||||
['Aktive User heute', s.ki_users_today, 'var(--c-text-secondary)'],
|
||||
['☁️ Claude (7 Tage)', s.ki_cloud_week, 'var(--c-primary)'],
|
||||
['🖥️ LM Studio (7 Tage)', s.ki_local_week, 'var(--c-success)'],
|
||||
['🌙 Luna (7 Tage)', s.ki_luna_week, 'var(--c-warning)'],
|
||||
['Gesamt heute', s.ki_today, 'var(--c-text-secondary)'],
|
||||
['Gesamt 7 Tage', s.ki_week, 'var(--c-text-secondary)'],
|
||||
['Gesamt Monat', s.ki_month, 'var(--c-text-secondary)'],
|
||||
['Aktive User heute', s.ki_users_today, 'var(--c-text-secondary)'],
|
||||
].map(([label, val, color]) => `
|
||||
<div style="display:flex;justify-content:space-between;font-size:var(--text-sm)">
|
||||
<span style="color:var(--c-text-secondary)">${label}</span>
|
||||
|
|
@ -349,6 +347,19 @@ window.Page_admin = (() => {
|
|||
</div>
|
||||
`).join('')}
|
||||
</div>
|
||||
<div style="margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--c-border)">
|
||||
<p style="font-size:var(--text-xs);color:var(--c-text-muted);margin:0 0 var(--space-2)">
|
||||
User-Limit: <strong>${s.ki_cloud_weekly_limit ?? 20} Cloud-Anfragen / Woche</strong>
|
||||
</p>
|
||||
${(s.ki_top_users || []).length ? `
|
||||
<p style="font-size:var(--text-xs);font-weight:600;color:var(--c-text-secondary);margin:var(--space-2) 0 var(--space-1)">Top Cloud-User (7 Tage)</p>
|
||||
${s.ki_top_users.map((u, i) => `
|
||||
<div style="display:flex;justify-content:space-between;font-size:var(--text-xs)">
|
||||
<span style="color:var(--c-text-secondary)">${i+1}. ${_esc(u.name)}</span>
|
||||
<span style="font-weight:600;color:${u.cloud_calls >= (s.ki_cloud_weekly_limit ?? 20) ? 'var(--c-danger)' : 'var(--c-primary)'}">${u.cloud_calls}</span>
|
||||
</div>
|
||||
`).join('')}` : ''}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card" style="padding:var(--space-4)">
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Offline-Cache + Push Notifications + Tile-Cache
|
||||
============================================================ */
|
||||
|
||||
const CACHE_VERSION = 'by-v433';
|
||||
const CACHE_VERSION = 'by-v434';
|
||||
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
||||
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue