From 8741edec18be2c3614fe507dff7c850356632e23 Mon Sep 17 00:00:00 2001 From: JOJO <1498581755@qq.com> Date: Mon, 27 Jul 2026 20:07:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(chat):=20=E5=BF=AB=E6=8D=B7=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E4=B8=89=E6=80=81=E8=87=AA=E9=80=82=E5=BA=94=E5=B8=83?= =?UTF-8?q?=E5=B1=80=E4=B8=8E=E5=BF=AB=E6=8D=B7=E7=AA=97=E5=8F=A3=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E6=94=B6=E8=B5=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 左侧输入跳转导航支持钉死/居中/隐藏三态:随轨宽空白自适应, 波浪宽度按可用空白比例压缩避免遮挡消息;滚动位置同步高亮当前阅读轮次 - QuickDock 新增悬浮展开/收起按钮,userCollapsed 与无内容自动收起相互独立 - 轨宽/空白经 ResizeObserver 实测校准,兼容 macOS 经典滚动条宽度差异 --- static/src/App.vue | 22 +++ static/src/app/computed.ts | 8 + static/src/components/chat/ChatArea.vue | 142 +++++++++++++++++- .../components/chat/quickdock/QuickDock.vue | 31 ++-- .../components/chat/quickdock/quickdock.css | 49 +++++- static/src/stores/quickDock.ts | 27 +++- .../styles/components/chat/_chat-area.scss | 32 +++- 7 files changed, 287 insertions(+), 24 deletions(-) diff --git a/static/src/App.vue b/static/src/App.vue index 3e1d8757..04721855 100644 --- a/static/src/App.vue +++ b/static/src/App.vue @@ -356,6 +356,28 @@ v-if="!isMobileViewport" :host-mode="versioningHostMode" /> + +
+ +
diff --git a/static/src/app/computed.ts b/static/src/app/computed.ts index d612253a..4cfb9885 100644 --- a/static/src/app/computed.ts +++ b/static/src/app/computed.ts @@ -16,6 +16,7 @@ import { usePolicyStore } from '../stores/policy'; import { useSubAgentStore } from '../stores/subAgent'; import { useBackgroundCommandStore } from '../stores/backgroundCommand'; import { usePersonalizationStore } from '../stores/personalization'; +import { useQuickDockStore } from '../stores/quickDock'; import { getToolStatusText, getToolDescription } from '../utils/chatDisplay'; import { toolFaceKey } from '../utils/avatarFace'; @@ -65,6 +66,13 @@ export const computed = { 'reasoningEffort' ]), ...mapState(useFileStore, ['contextMenu', 'fileTree', 'expandedFolders', 'todoList']), + ...mapState(useQuickDockStore, { + qdHasContent: 'hasContent', + qdExpanded: 'expanded' + }), + ...mapWritableState(useQuickDockStore, { + qdUserCollapsed: 'userCollapsed' + }), ...mapWritableState(useUiStore, [ 'sidebarCollapsed', 'chatDisplayMode', diff --git a/static/src/components/chat/ChatArea.vue b/static/src/components/chat/ChatArea.vue index 15af7650..f62554b9 100644 --- a/static/src/components/chat/ChatArea.vue +++ b/static/src/components/chat/ChatArea.vue @@ -681,9 +681,10 @@