diff --git a/dashboard/src/router/index.js b/dashboard/src/router/index.js index 7ea70c5..9e41d99 100644 --- a/dashboard/src/router/index.js +++ b/dashboard/src/router/index.js @@ -23,13 +23,7 @@ const routes = [ { path: '/conversations', name: 'Conversations', - component: () => import('../views/ConversationsView.vue'), - meta: { requiresAuth: true } - }, - { - path: '/conversations/:id', - name: 'ConversationDetail', - component: () => import('../views/ConversationDetailView.vue'), + component: () => import('../views/ConversationView.vue'), meta: { requiresAuth: true } }, { diff --git a/dashboard/src/views/ConversationDetailView.vue b/dashboard/src/views/ConversationDetailView.vue deleted file mode 100644 index 696c399..0000000 --- a/dashboard/src/views/ConversationDetailView.vue +++ /dev/null @@ -1,526 +0,0 @@ - - - - - diff --git a/dashboard/src/views/ConversationsView.vue b/dashboard/src/views/ConversationView.vue similarity index 97% rename from dashboard/src/views/ConversationsView.vue rename to dashboard/src/views/ConversationView.vue index ffdb8db..cfbb5de 100644 --- a/dashboard/src/views/ConversationsView.vue +++ b/dashboard/src/views/ConversationView.vue @@ -425,6 +425,19 @@ const sendMessage = async () => { } convMessages.value.push(userMsg) + // 如果还没有标题或标题为默认标题,使用第一条消息作为标题 + const currentTitle = selectedConv.value?.title + const isDefaultTitle = !currentTitle || currentTitle === 'New Conversation' || currentTitle.trim() === '' + if (isDefaultTitle) { + const title = content.slice(0, 30) + (content.length > 30 ? '...' : '') + selectedConv.value.title = title + // 更新列表中的标题 + const conv = list.value.find(c => c.id === selectedConv.value.id) + if (conv) conv.title = title + // 调用 API 保存 + await conversationsAPI.update(selectedConv.value.id, { title }) + } + // 使用 StreamManager 发送流式请求 await streamManager.startStream( selectedConv.value.id,