feat: Web-Search Sources anzeigen (Streaming + History + Archive + Shared)

Backend:
- web_search_tool_result Sources extrahieren (url, title)
- Als 'web_search_result' Message-Typ in DB persistieren
- Sources im web_search_end SSE-Event mitsenden
- Alle 3 Chat-Pfade: StreamChat, RunAgentChat, ChatNonStreaming

Frontend:
- renderToolBoxContent: Sources-Sektion mit klickbaren Domain-Links
- finishToolBox/addToolBoxStatic: sources-Parameter durchgereicht
- History: web_search_result Message-Typ in allen 3 Render-Pfaden
- web_search immer sichtbar (auch bei 'modifications' Filter)

CSS:
- .web-search-sources: Flex-Wrap Container
- .web-search-source: Domain-Pill mit Hover-Effekt, Title-Ellipsis
This commit is contained in:
Meleki committed 2026-03-07 09:56:09 +01:00
1 parent 116f21105c
commit f64052caf4
5 files changed
+221 -7

No files matched your search

+49
View File
@@ -170,6 +170,55 @@
padding: var(--badge-padding);
}
/* Web Search Sources */
.web-search-sources {
display: flex;
flex-wrap: wrap;
gap: 0.4em;
padding: var(--box-padding);
padding-top: 0;
}
.web-search-source {
display: inline-flex;
align-items: center;
gap: 0.3em;
padding: 0.2em 0.6em;
background: var(--f2-bg);
border: var(--border-width) solid var(--f2-border);
border-radius: var(--border-radius);
color: var(--text) !important;
text-decoration: none !important;
font-size: 0.85em;
transition: background var(--transition-speed), border-color var(--transition-speed);
max-width: 20em;
overflow: hidden;
}
.web-search-source:hover {
background: var(--primary);
border-color: var(--primary);
color: var(--primary-text) !important;
}
.web-search-source .fa {
font-size: 0.75em;
opacity: 0.6;
}
.source-domain {
font-weight: 600;
white-space: nowrap;
}
.source-title {
opacity: 0.7;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Diff View */
.tool-diff {