Dashboard: Badges für Sessions (Kontext) und Agents (Features, Skills, Model-Name)
- prettyModelName() von chat.js nach ui.js als globale Funktion verschoben - Session-Cards: Kontext-Badge mit Tooltip wenn context vorhanden - Agent-Cards: Badges für ToolChoice:any, AutoCommit, Soul, Identity, UserInfo, Memory - Agent-Cards: Skill-Badges pro aktiviertem Skill (parallel geladen) - Agent-Cards: Model-Name via prettyModelName() statt roher Model-ID - Neue CSS-Klassen: badge-feature, badge-forced-feature, badge-skill - Theme: primary/dangerous Farben angepasst - Chat: Input overflow hidden→auto
This commit is contained in:
1 parent
754b2aa3e3
commit
56d4d1be0a
6 files changed
+73
-29
No files matched your search
+1
-18
@@ -1,25 +1,8 @@
|
||||
// ── Helpers ──
|
||||
|
||||
function _prettyModelName(model) {
|
||||
if (!model) return '?';
|
||||
// claude-sonnet-4-20250514 → Sonnet 4
|
||||
// claude-opus-4-6 → Opus 4.6
|
||||
// claude-haiku-3-5 → Haiku 3.5
|
||||
const m = model.match(/claude-(\w+)-(\d+)(?:-(\d+))?/);
|
||||
if (m) {
|
||||
const family = m[1].charAt(0).toUpperCase() + m[1].slice(1);
|
||||
const major = m[2];
|
||||
const minor = m[3];
|
||||
// minor > 20000000 ist ein Datums-Suffix, kein Minor-Version
|
||||
if (minor && minor.length <= 2) return family + ' ' + major + '.' + minor;
|
||||
return family + ' ' + major;
|
||||
}
|
||||
return 'Unbekannt';
|
||||
}
|
||||
|
||||
function buildMetaBadges(d) {
|
||||
const badges = [];
|
||||
badges.push(_prettyModelName(d.model));
|
||||
badges.push(prettyModelName(d.model));
|
||||
badges.push('Tokens: ' + (d.inputTokens || 0) + ' / ' + (d.outputTokens || 0));
|
||||
if (d.cacheCreationTokens > 0 || d.cacheReadTokens > 0) {
|
||||
badges.push('Cache: ' + (d.cacheReadTokens || 0) + ' / ' + (d.cacheCreationTokens || 0));
|
||||
|
||||
Reference in new issue
Block a user