Add files via upload

This commit is contained in:
公明
2026-07-14 16:53:58 +08:00
committed by GitHub
parent aa50f9dd05
commit 0f0801144a
6 changed files with 13 additions and 12 deletions
+5 -4
View File
@@ -21029,7 +21029,7 @@ tr.mcp-stats-tool-row[data-tool-name]:focus-visible {
margin-bottom: 8px;
}
.webshell-ai-process-block.process-details-container {
/* 让“渗透测试详情”视觉上跟随助手气泡宽度,而不是强行 100% 宽 */
/* 让“任务执行详情”视觉上跟随助手气泡宽度,而不是强行 100% 宽 */
width: auto;
max-width: 80%;
align-self: flex-start;
@@ -33492,10 +33492,11 @@ html[data-theme="dark"] .timeline-item-tool_call.tool-call-failed:hover {
html[data-theme="dark"] .timeline-item-tool_call .tool-args,
html[data-theme="dark"] .timeline-item-tool_call .tool-result,
html[data-theme="dark"] .timeline-item-tool_result .tool-result {
background: rgba(51, 65, 85, 0.52);
border-color: rgba(148, 163, 184, 0.28);
/* 工具参数与结果沿用外层卡片底色,不再额外铺一层色块。 */
background: transparent !important;
border-color: rgba(148, 163, 184, 0.2) !important;
color: #dbe4f0;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
html[data-theme="dark"] .timeline-item-tool_call:has(.tool-result-section.success) .tool-args,
+1 -1
View File
@@ -569,7 +569,7 @@
"searchInGroup": "Search in group...",
"loadingTools": "Loading tools...",
"noMatchTools": "No matching tools",
"penetrationTestDetail": "Penetration test details",
"penetrationTestDetail": "Task execution details",
"expandDetail": "Expand details",
"expandDetailLazyHint": "Expand details (loads iteration details on click)",
"viewToolDetail": "View details",
+1 -1
View File
@@ -557,7 +557,7 @@
"searchInGroup": "搜索分组中的对话...",
"loadingTools": "正在加载工具...",
"noMatchTools": "没有匹配的工具",
"penetrationTestDetail": "渗透测试详情",
"penetrationTestDetail": "任务执行详情",
"expandDetail": "展开详情",
"expandDetailLazyHint": "展开详情(点击后加载迭代详情)",
"viewToolDetail": "查看详情",
+2 -2
View File
@@ -3137,12 +3137,12 @@ function ensureMcpCallSectionChrome(messageElement, messageId) {
mcpSection.className = 'mcp-call-section';
const mcpLabel = document.createElement('div');
mcpLabel.className = 'mcp-call-label';
mcpLabel.textContent = '📋 ' + (typeof window.t === 'function' ? window.t('chat.penetrationTestDetail') : '渗透测试详情');
mcpLabel.textContent = '📋 ' + (typeof window.t === 'function' ? window.t('chat.penetrationTestDetail') : '任务执行详情');
mcpSection.appendChild(mcpLabel);
contentWrapper.appendChild(mcpSection);
} else {
const mcpLabel = mcpSection.querySelector('.mcp-call-label');
const labelText = '📋 ' + (typeof window.t === 'function' ? window.t('chat.penetrationTestDetail') : '渗透测试详情');
const labelText = '📋 ' + (typeof window.t === 'function' ? window.t('chat.penetrationTestDetail') : '任务执行详情');
if (mcpLabel && mcpLabel.textContent !== labelText) {
mcpLabel.textContent = labelText;
}
+2 -2
View File
@@ -1379,7 +1379,7 @@ const PROCESS_DETAILS_PAGE_SIZE = 50;
function getProcessDetailsLoadMoreLabel(hasMore) {
if (!hasMore) return '';
return (typeof window.t === 'function' ? window.t('common.loadMore') : '加载更多') + ' · ' +
(typeof window.t === 'function' ? window.t('chat.penetrationTestDetail') : '过程详情');
(typeof window.t === 'function' ? window.t('chat.penetrationTestDetail') : '任务执行详情');
}
function updateProcessDetailsLoadMoreButton(assistantMessageId, backendMessageId, hasMore) {
@@ -6535,7 +6535,7 @@ function refreshProgressAndTimelineI18n() {
titleEl.textContent = '\uD83D\uDD0D ' + translateProgressMessage(raw, pdata);
}
});
// 转换后的详情区顶栏「渗透测试详情」:仅刷新不在 .progress-message 内的 progress 标题
// 转换后的详情区顶栏「任务执行详情」:仅刷新不在 .progress-message 内的 progress 标题
document.querySelectorAll('.progress-container .progress-header .progress-title').forEach(function (titleEl) {
if (titleEl.closest('.progress-message')) return;
titleEl.textContent = '\uD83D\uDCCB ' + _t('chat.penetrationTestDetail');
+2 -2
View File
@@ -2003,7 +2003,7 @@ function renderWebshellProcessDetailsBlock(processDetails, defaultCollapsed) {
}
var expandLabel = (typeof window.t === 'function') ? window.t('chat.expandDetail') : '展开详情';
var collapseLabel = (typeof window.t === 'function') ? window.t('tasks.collapseDetail') : '收起详情';
var headerLabel = (typeof window.t === 'function') ? (window.t('chat.penetrationTestDetail') || '执行过程及调用工具') : '执行过程及调用工具';
var headerLabel = (typeof window.t === 'function') ? (window.t('chat.penetrationTestDetail') || '任务执行详情') : '任务执行详情';
var wrapper = document.createElement('div');
wrapper.className = 'process-details-container webshell-ai-process-block';
var collapsed = defaultCollapsed !== false;
@@ -3533,7 +3533,7 @@ function runWebshellAiSend(conn, inputEl, sendBtn, messagesContainer) {
}
// 生成结果后:将执行过程折叠并保留,供后续查看;统一放在「助手回复下方」(与刷新后加载历史一致,最佳实践)
if (timelineContainer && timelineContainer.classList.contains('has-items') && !timelineContainer.closest('.webshell-ai-process-block')) {
var headerLabel = (typeof window.t === 'function') ? (window.t('chat.penetrationTestDetail') || '执行过程及调用工具') : '执行过程及调用工具';
var headerLabel = (typeof window.t === 'function') ? (window.t('chat.penetrationTestDetail') || '任务执行详情') : '任务执行详情';
var wrap = document.createElement('div');
wrap.className = 'process-details-container webshell-ai-process-block';
wrap.innerHTML = '<button type="button" class="webshell-ai-process-toggle" aria-expanded="false">' + escapeHtml(headerLabel) + ' <span class="ws-toggle-icon">▶</span></button><div class="process-details-content"></div>';