diff --git a/ui/src/components/COMPONENT_README.md b/ui/src/components/COMPONENT_README.md
index 009bf2161eb..6a2ae00e7ac 100644
--- a/ui/src/components/COMPONENT_README.md
+++ b/ui/src/components/COMPONENT_README.md
@@ -929,6 +929,14 @@ Workspace API 内部使用 `getWorkspaceId()`,System 共享 API 不接收工
## 对话模块组件
+### RenameConversation(对话模块)
+
+位于 `conversation-panel/components/rename/index.vue`,显式导入并传入
+`conversation`。入口维护重命名菜单项,同目录 `RenameDialog.vue` 维护弹窗、标题校验及保存调用,
+点击菜单时才挂载弹窗,`closed` 后卸载;放入 Dropdown 菜单时,
+调用方开启 `persistent`,确保菜单收起后保留弹窗实例。门户调用方额外传入 `applicationId`,
+按所属智能体保存并同步分组及当前会话列表;`renamed(title)` 事件供历史抽屉同步标题。
+
### ReverseInfiniteScroll(对话模块)
位于 `conversation-panel/core/reverse-infinite-scroll/index.vue`,由对话模块显式导入,
diff --git a/ui/src/conversation-panel/components/header/simple-debug/index.vue b/ui/src/conversation-panel/components/header/simple-debug/index.vue
index 75464387c94..4dd98dbb544 100644
--- a/ui/src/conversation-panel/components/header/simple-debug/index.vue
+++ b/ui/src/conversation-panel/components/header/simple-debug/index.vue
@@ -14,7 +14,7 @@ const { appInfo, leftSideOpen, toggleLeftSide, newConversation } = useConversati
-
+
{{ appInfo?.name }}
@@ -23,6 +23,9 @@ const { appInfo, leftSideOpen, toggleLeftSide, newConversation } = useConversati
-
+
+
+
+
diff --git a/ui/src/conversation-panel/components/history-popover/index.vue b/ui/src/conversation-panel/components/history-popover/index.vue
index 568f2ab3b1c..75673b337a6 100644
--- a/ui/src/conversation-panel/components/history-popover/index.vue
+++ b/ui/src/conversation-panel/components/history-popover/index.vue
@@ -1,8 +1,9 @@
-
+
@@ -109,17 +105,21 @@ function handleClearConversations() {
{{ conversationTime(conversation) }}
-
-
-
-
- 重命名
-
-
-
-
- 删除
-
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
diff --git a/ui/src/conversation-panel/components/rename/RenameDialog.vue b/ui/src/conversation-panel/components/rename/RenameDialog.vue
new file mode 100644
index 00000000000..c7c7b3f51c3
--- /dev/null
+++ b/ui/src/conversation-panel/components/rename/RenameDialog.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+ 保存
+
+
+
diff --git a/ui/src/conversation-panel/components/rename/index.vue b/ui/src/conversation-panel/components/rename/index.vue
new file mode 100644
index 00000000000..28ac0e45a27
--- /dev/null
+++ b/ui/src/conversation-panel/components/rename/index.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ 重命名
+
+
+
diff --git a/ui/src/conversation-panel/left-sidebar/portal-conversation-list/HistoryConversationDrawer.vue b/ui/src/conversation-panel/left-sidebar/portal-conversation-list/HistoryConversationDrawer.vue
index 8533c64a27d..0dcce137dd0 100644
--- a/ui/src/conversation-panel/left-sidebar/portal-conversation-list/HistoryConversationDrawer.vue
+++ b/ui/src/conversation-panel/left-sidebar/portal-conversation-list/HistoryConversationDrawer.vue
@@ -5,6 +5,7 @@ import type { PortalConversationSummary } from '@/api/types'
import { relativeTimeFormat } from '@/utils/time'
import { useConversationListStore } from '../conversation-list/index'
import { usePortalConversationListStore } from './index'
+import RenameConversation from '../../components/rename/index.vue'
defineOptions({ name: 'HistoryConversationDrawer' })
const props = defineProps<{ applicationId: string }>()
@@ -82,12 +83,25 @@ const handleDeleteConversation = (conversation: PortalConversationSummary) => {
{{ relativeTimeFormat(conversation.update_time || conversation.create_time) }}
-
-
-
-
- 删除
-
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
diff --git a/ui/src/conversation-panel/left-sidebar/portal-conversation-list/index.vue b/ui/src/conversation-panel/left-sidebar/portal-conversation-list/index.vue
index e89edffe265..525e1ff4cb5 100644
--- a/ui/src/conversation-panel/left-sidebar/portal-conversation-list/index.vue
+++ b/ui/src/conversation-panel/left-sidebar/portal-conversation-list/index.vue
@@ -6,6 +6,7 @@ import { useConversationListStore } from '../conversation-list/index'
import HistoryConversationDrawer from './HistoryConversationDrawer.vue'
import AccountMenu from '../account-menu/index.vue'
import { usePortalConversationListStore, type PortalApplicationGroup } from './index'
+import RenameConversation from '../../components/rename/index.vue'
defineOptions({ name: 'PortalConversationList' })
@@ -122,6 +123,11 @@ const handleDeleteConversation = (group: PortalApplicationGroup, conversation: C
+
+
+
+ 新建对话
+
@@ -154,12 +160,21 @@ const handleDeleteConversation = (group: PortalApplicationGroup, conversation: C
{{ conversationTime(conversation) }}
-
-
-
-
- 删除
-
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
diff --git a/ui/src/conversation-panel/view/simple-debug/index.vue b/ui/src/conversation-panel/view/simple-debug/index.vue
index 848671009f0..1c831b4dbcb 100644
--- a/ui/src/conversation-panel/view/simple-debug/index.vue
+++ b/ui/src/conversation-panel/view/simple-debug/index.vue
@@ -146,7 +146,7 @@ defineExpose({ openSetting: () => (bundle.list.leftSideOpen.value = true) })
/* 设置表单使用白底;两侧抽屉沿用挤压宽度并限制占比,避免把对话区完全覆盖。 */
.mk-simple-debug .mk-conversation-side-panel {
&.left {
- background: var(--color-white);
+ background: white;
}
&.drawer {