Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d1431ac521 | |||
| 49e15130f1 | |||
| 9aaff7ee87 |
@@ -743,6 +743,7 @@ async def websocket_endpoint(websocket: WebSocket, user_id: str):
|
||||
"role": m.role,
|
||||
"content": m.content,
|
||||
"thinking_content": m.thinking_content,
|
||||
"extra_data": m.extra_data, # 包含搜索结果等
|
||||
"agent_id": m.agent_id, # 每条消息的Agent ID
|
||||
"source": m.source,
|
||||
"created_at": m.created_at.isoformat()
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
}
|
||||
|
||||
// 消息渲染
|
||||
function appendMessage(role, content, thinking = null, agentName = null) {
|
||||
function appendMessage(role, content, thinking = null, agentName = null, extraData = null) {
|
||||
const container = document.getElementById('messagesContainer');
|
||||
container.querySelector('.welcome')?.remove();
|
||||
|
||||
@@ -371,6 +371,23 @@
|
||||
|
||||
html += '</div>';
|
||||
div.innerHTML = html;
|
||||
|
||||
// 如果是用户消息且有搜索结果,在设置innerHTML后追加
|
||||
if (role === 'user' && extraData) {
|
||||
console.log('Processing extraData for user message:', extraData);
|
||||
console.log('search_results exists:', extraData.search_results);
|
||||
if (extraData.search_results && extraData.search_results.length > 0) {
|
||||
console.log('Building search results HTML for', extraData.search_results.length, 'results');
|
||||
const searchHtml = buildSearchResultsHtml(extraData.search_results, extraData.search_query || content);
|
||||
const bodyDiv = div.querySelector('.message-body');
|
||||
console.log('bodyDiv found:', bodyDiv != null);
|
||||
if (bodyDiv) {
|
||||
bodyDiv.insertAdjacentHTML('beforeend', searchHtml);
|
||||
console.log('Search results HTML inserted');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
container.appendChild(div);
|
||||
container.scrollTop = container.scrollHeight;
|
||||
}
|
||||
@@ -623,29 +640,11 @@
|
||||
const container = document.getElementById('messagesContainer');
|
||||
container.innerHTML = '';
|
||||
messages.forEach(m => {
|
||||
appendMessage(m.role, m.content, m.thinking_content);
|
||||
// 如果用户消息有搜索结果,追加显示
|
||||
if (m.role === 'user' && m.extra_data && m.extra_data.search_results) {
|
||||
displaySearchResultsForHistory(m.extra_data.search_results, m.extra_data.search_query || m.content);
|
||||
}
|
||||
console.log('displayHistory message:', m.role, 'extra_data:', m.extra_data);
|
||||
appendMessage(m.role, m.content, m.thinking_content, null, m.extra_data);
|
||||
});
|
||||
}
|
||||
|
||||
function displaySearchResultsForHistory(results, query) {
|
||||
if (!results || results.length === 0) return;
|
||||
|
||||
const container = document.getElementById('messagesContainer');
|
||||
const userMessages = container.querySelectorAll('.message.user');
|
||||
const lastUserMsg = userMessages[userMessages.length - 1];
|
||||
|
||||
if (lastUserMsg) {
|
||||
const msgBody = lastUserMsg.querySelector('.message-body');
|
||||
if (msgBody) {
|
||||
msgBody.innerHTML += buildSearchResultsHtml(results, query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function clearMessages() {
|
||||
document.getElementById('messagesContainer').innerHTML = '<div class="welcome"><h2>👋 开始对话</h2></div>';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user