0.1.3-rc.5.2.3

This commit is contained in:
wisdgod
2025-03-25 13:04:52 +08:00
parent 6c184cdba3
commit dbf7295a47
54 changed files with 4948 additions and 4466 deletions

View File

@@ -66,8 +66,8 @@
</div>
<div class="form-group">
<label>允许所有Claude模型:</label>
<select id="enable_all_claude">
<label>长上下文:</label>
<select id="enable_long_context">
<option value="">保持不变</option>
<option value="true">启用</option>
<option value="false">禁用</option>
@@ -137,7 +137,7 @@
},
vision_ability: document.getElementById('vision_ability').value,
enable_slow_pool: parseBooleanFromString(document.getElementById('enable_slow_pool').value),
enable_all_claude: parseBooleanFromString(document.getElementById('enable_all_claude').value),
enable_long_context: parseBooleanFromString(document.getElementById('enable_long_context').value),
usage_check_models: {
type: document.getElementById('usage_check_models_type').value,
content: document.getElementById('usage_check_models_list').value
@@ -180,7 +180,7 @@
}
// 对于布尔值,需要特殊处理
if (key === 'enable_slow_pool' || key === 'enable_all_claude' ||
if (key === 'enable_slow_pool' || key === 'enable_long_context' ||
key === 'enable_dynamic_key' || key === 'include_web_references') {
// 只有当值不为null且与缓存不同时才添加
if (value !== null && value !== configCache[key]) {
@@ -255,8 +255,8 @@
document.getElementById('vision_ability').value = visionValue;
document.getElementById('enable_slow_pool').value =
parseStringFromBoolean(data.data.enable_slow_pool, '');
document.getElementById('enable_all_claude').value =
parseStringFromBoolean(data.data.enable_all_claude, '');
document.getElementById('enable_long_context').value =
parseStringFromBoolean(data.data.enable_long_context, '');
// 处理使用量检查模型
const usageCheckModelsType = data.data.usage_check_models?.type || '';
@@ -279,7 +279,7 @@
content: pageContent || { type: 'default' },
vision_ability: visionValue,
enable_slow_pool: data.data.enable_slow_pool,
enable_all_claude: data.data.enable_all_claude,
enable_long_context: data.data.enable_long_context,
usage_check_models: {
type: usageCheckModelsType,
content: usageCheckModelsList.value

View File

@@ -1066,7 +1066,7 @@
<td>${new Date(log.timestamp).toLocaleString()}</td>
<td>${log.model}</td>
<td><div class="token-info-tooltip"><button class="info-button" onclick='showTokenModal(${JSON.stringify(log.token_info)})'>查看详情<div class="tooltip-content">${formatSimpleTokenInfo(log.token_info)}</div></button></div></td>
<td>${log.chain ? `<div class="token-info-tooltip prompt-preview"><button class="info-button view-conversation" data-prompt="${encodeURIComponent(log.chain.prompt)}" data-delays='${delaysData}'>查看对话<div class="tooltip-content">${formatDialogPreview(log.chain.prompt)}</div></button></div>` : '-'}</td>
<td>${log.chain ? `<div class="token-info-tooltip prompt-preview"><button class="info-button view-conversation" data-prompt="${encodeURIComponent(JSON.stringify(log.chain.prompt))}" data-delays='${delaysData}'>查看对话<div class="tooltip-content">${formatDialogPreview(JSON.stringify(log.chain.prompt))}</div></button></div>` : '-'}</td>
<td>${formatTiming(log.timing.total)}</td>
<td>${log.stream ? '是' : '否'}</td>
<td>${log.status}</td>
@@ -1309,6 +1309,21 @@
function parsePrompt(promptStr) {
if (!promptStr) return [];
// 尝试解析JSON格式的prompt
try {
const parsed = JSON.parse(promptStr);
// 如果是已解析的格式
if (Array.isArray(parsed)) {
return parsed.map(msg => ({
role: msg.role,
content: msg.content
}));
}
} catch (e) {
// 如果解析JSON失败说明是原始字符串格式使用原来的解析逻辑
}
const messages = [];
const lines = promptStr.split('\n');
let currentRole = '';
@@ -1383,13 +1398,12 @@
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#039;');
// 将HTML标签文本用引号包裹使其更易读
// return escaped.replace(/&lt;(\/?[^>]+)&gt;/g, '"<$1>"');
return escaped;
}
return `<table class="message-table"><thead><tr><th>角色</th><th>内容</th></tr></thead><tbody>${messages.map(msg => `<tr><td>${roleLabels[msg.role] || msg.role}</td><td>${escapeHtml(msg.content).replace(/\n/g, '<br>')}</td></tr>`).join('')}</tbody></table>`;
return `<table class="message-table"><thead><tr><th>角色</th><th>内容</th></tr></thead><tbody>${messages.map(msg =>
`<tr><td>${roleLabels[msg.role] || msg.role}</td><td>${escapeHtml(msg.content).replace(/\n/g, '<br>')}</td></tr>`
).join('')}</tbody></table>`;
}
/**