feat: show model label in response header via MODEL_LABELS map
This commit is contained in:
@@ -454,6 +454,8 @@ let skillsEnabled = true;
|
|||||||
let presets = [];
|
let presets = [];
|
||||||
let skillsRegistry = [];
|
let skillsRegistry = [];
|
||||||
let currentModel = '';
|
let currentModel = '';
|
||||||
|
const MODEL_LABELS = { 'qwen2.5-7b-instruct': 'qwen2.5:7B:i' };
|
||||||
|
function modelLabel() { return MODEL_LABELS[currentModel] || currentModel || 'assistant'; }
|
||||||
let modelContextSize = 8192;
|
let modelContextSize = 8192;
|
||||||
let cachedProfile = '';
|
let cachedProfile = '';
|
||||||
let conversationHistory = [];
|
let conversationHistory = [];
|
||||||
@@ -1448,7 +1450,7 @@ function appendMessage(role, content, animate, isSearch = false, afterEl = null)
|
|||||||
const timeStr = months[now.getMonth()] + ' ' + String(now.getDate()).padStart(2,'0') + ', ' + now.getFullYear() + ' ' + String(now.getHours()).padStart(2,'0') + ':' + String(now.getMinutes()).padStart(2,'0') + ':' + String(now.getSeconds()).padStart(2,'0') + '.' + String(Math.floor(ms / 10)).padStart(2,'0');
|
const timeStr = months[now.getMonth()] + ' ' + String(now.getDate()).padStart(2,'0') + ', ' + now.getFullYear() + ' ' + String(now.getHours()).padStart(2,'0') + ':' + String(now.getMinutes()).padStart(2,'0') + ':' + String(now.getSeconds()).padStart(2,'0') + '.' + String(Math.floor(ms / 10)).padStart(2,'0');
|
||||||
const textHtml = content ? renderMarkdown(content) : '';
|
const textHtml = content ? renderMarkdown(content) : '';
|
||||||
const copyIcon = role === 'user' && content ? `<span class="user-copy-btn" data-content="${escapeHtml(content).replace(/"/g,'"')}" onclick="var el=this;event.stopPropagation();var t=el.getAttribute('data-content');function d(){el.textContent='✓';setTimeout(function(){el.innerHTML='📋'},1500);showToast('Copied')}if(navigator.clipboard){navigator.clipboard.writeText(t).then(d).catch(function(){execCopy(t);d()})}else{execCopy(t);d()}">📋</span>` : '';
|
const copyIcon = role === 'user' && content ? `<span class="user-copy-btn" data-content="${escapeHtml(content).replace(/"/g,'"')}" onclick="var el=this;event.stopPropagation();var t=el.getAttribute('data-content');function d(){el.textContent='✓';setTimeout(function(){el.innerHTML='📋'},1500);showToast('Copied')}if(navigator.clipboard){navigator.clipboard.writeText(t).then(d).catch(function(){execCopy(t);d()})}else{execCopy(t);d()}">📋</span>` : '';
|
||||||
div.innerHTML = `<div class="avatar">${role === 'user' ? 'YOU' : 'AI'}</div><div class="content"><div class="role-label">${role}${role === 'user' ? ' <span class="msg-time">' + timeStr + '</span>' : ''}</div><div class="text">${textHtml}${copyIcon}</div>${role === 'assistant' ? '<div class="msg-toolbar"></div>' : ''}</div>`;
|
div.innerHTML = `<div class="avatar">${role === 'user' ? 'YOU' : 'AI'}</div><div class="content"><div class="role-label">${role === 'assistant' ? modelLabel() : role}${role === 'user' ? ' <span class="msg-time">' + timeStr + '</span>' : ''}</div><div class="text">${textHtml}${copyIcon}</div>${role === 'assistant' ? '<div class="msg-toolbar"></div>' : ''}</div>`;
|
||||||
if (role === 'user') {
|
if (role === 'user') {
|
||||||
const pair = document.createElement('div');
|
const pair = document.createElement('div');
|
||||||
pair.className = 'msg-pair' + (isSearch ? ' search-pair' : '');
|
pair.className = 'msg-pair' + (isSearch ? ' search-pair' : '');
|
||||||
|
|||||||
Reference in New Issue
Block a user