Initial commit: Claude Live Dashboard
Always-on-Top Electron-Widget für die Claude-Plan-Auslastung unter Windows. Liest Transkripte lokal, fragt optional den /usage-Endpunkt ab, bietet einen Einstellungsdialog und lässt sich als NSIS-Installer oder portable Fassung bauen.
This commit is contained in:
@@ -0,0 +1,157 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'self'; script-src 'self';" />
|
||||
<title>Einstellungen</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header class="titlebar">
|
||||
<span class="title">Einstellungen</span>
|
||||
<span class="spacer"></span>
|
||||
<button class="icon-btn" id="btn-close" title="Schließen" aria-label="Schließen">✕</button>
|
||||
</header>
|
||||
|
||||
<main class="content">
|
||||
<p class="path" id="config-path">—</p>
|
||||
|
||||
<section class="group">
|
||||
<h2>Anzeige</h2>
|
||||
|
||||
<div class="row">
|
||||
<label for="opacity">Deckkraft</label>
|
||||
<div class="control">
|
||||
<input type="range" id="opacity" min="30" max="100" step="5" />
|
||||
<output id="opacity-out">100 %</output>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="clickThrough">Klicks durchlassen</label>
|
||||
<div class="control">
|
||||
<input type="checkbox" id="clickThrough" />
|
||||
<span class="hint">Das Widget fängt keine Mausklicks mehr ab.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="autostart">Mit Windows starten</label>
|
||||
<div class="control">
|
||||
<input type="checkbox" id="autostart" />
|
||||
<span class="hint">Wird sofort übernommen, unabhängig vom Speichern.</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="group">
|
||||
<h2>Datenquelle</h2>
|
||||
|
||||
<div class="row">
|
||||
<label for="oauthEnabled">Serverabfrage</label>
|
||||
<div class="control">
|
||||
<input type="checkbox" id="oauthEnabled" />
|
||||
<span class="hint">
|
||||
Liefert exakte Prozentwerte und Reset-Zeiten. Abgeschaltet rechnet
|
||||
das Dashboard nur lokal — dann sind alle Werte Näherungen.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="oauthEndpoint">Endpunkt</label>
|
||||
<div class="control">
|
||||
<input type="text" id="oauthEndpoint" placeholder="Standard verwenden" spellcheck="false" />
|
||||
<span class="hint">Nur ausfüllen, um den Standard zu überschreiben.</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="group">
|
||||
<h2>Bezugsgrößen <span class="tag">Rückfallebene</span></h2>
|
||||
<p class="note">
|
||||
Werden nur benutzt, wenn die Serverabfrage ausfällt. Ermitteln mit
|
||||
<code>npm run calibrate</code>. Leer lassen für Auto-Kalibrierung.
|
||||
</p>
|
||||
|
||||
<div class="row">
|
||||
<label for="limitWeek">Woche</label>
|
||||
<div class="control">
|
||||
<input type="number" id="limitWeek" min="0" step="1000000" placeholder="automatisch" />
|
||||
<span class="hint">gewichtete Tokens für 100 %</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="limitBlock">5-Stunden-Fenster</label>
|
||||
<div class="control">
|
||||
<input type="number" id="limitBlock" min="0" step="1000000" placeholder="automatisch" />
|
||||
<span class="hint">gewichtete Tokens für 100 %</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="group">
|
||||
<h2>Gewichtung</h2>
|
||||
<p class="note">
|
||||
Wie stark Token-Arten und Modelle ins Kontingent zählen. Beeinflusst
|
||||
die lokale Rechnung und die Hochrechnung „reicht noch …“, nicht die
|
||||
Serverwerte.
|
||||
</p>
|
||||
|
||||
<div class="grid" id="weights">
|
||||
<label for="wInput">Eingabe</label><input type="number" id="wInput" min="0" step="0.05" />
|
||||
<label for="wOutput">Ausgabe</label><input type="number" id="wOutput" min="0" step="0.05" />
|
||||
<label for="wCacheCreate">Cache anlegen</label><input type="number" id="wCacheCreate" min="0" step="0.05" />
|
||||
<label for="wCacheRead">Cache lesen</label><input type="number" id="wCacheRead" min="0" step="0.05" />
|
||||
<label for="mOpus">Opus</label><input type="number" id="mOpus" min="0" step="0.1" />
|
||||
<label for="mSonnet">Sonnet</label><input type="number" id="mSonnet" min="0" step="0.1" />
|
||||
<label for="mHaiku">Haiku</label><input type="number" id="mHaiku" min="0" step="0.1" />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="group">
|
||||
<h2>Wochenfenster <span class="tag">Rückfallebene</span></h2>
|
||||
<p class="note">
|
||||
Bei aktiver Serverabfrage wird der echte Reset-Zeitpunkt verwendet und
|
||||
diese Angaben bleiben ungenutzt.
|
||||
</p>
|
||||
|
||||
<div class="row">
|
||||
<label for="weekday">Reset-Tag</label>
|
||||
<div class="control">
|
||||
<select id="weekday">
|
||||
<option value="">rollierende 7 Tage</option>
|
||||
<option value="0">Sonntag</option>
|
||||
<option value="1">Montag</option>
|
||||
<option value="2">Dienstag</option>
|
||||
<option value="3">Mittwoch</option>
|
||||
<option value="4">Donnerstag</option>
|
||||
<option value="5">Freitag</option>
|
||||
<option value="6">Samstag</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="resetHour">Uhrzeit</label>
|
||||
<div class="control inline">
|
||||
<input type="number" id="resetHour" min="0" max="23" step="1" />
|
||||
<span class="colon">:</span>
|
||||
<input type="number" id="resetMinute" min="0" max="59" step="1" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="actions">
|
||||
<button class="btn ghost" id="btn-open-file">Datei öffnen</button>
|
||||
<span class="spacer"></span>
|
||||
<span class="feedback" id="feedback" hidden></span>
|
||||
<button class="btn ghost" id="btn-revert">Verwerfen</button>
|
||||
<button class="btn primary" id="btn-save">Speichern</button>
|
||||
</footer>
|
||||
|
||||
<script src="app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user