From c71c0adf9eeb78f37f7fa239cec6046011e8325b Mon Sep 17 00:00:00 2001 From: mesalogo Date: Wed, 23 Sep 2026 23:11:33 +0800 Subject: [PATCH] fix: place supervision feedback below project overview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Order the task center as project overview, supervision feedback, then project tasks. Update the sidebar layout documentation to match. Release note: 任务中心的监督反馈现位于项目概览下方、项目任务上方。 --- .../conversation-supervision/ui-design.md | 2 ++ src/renderer/src/RightAssistantSidebar.tsx | 30 +++++++++---------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/docs/features/conversation-supervision/ui-design.md b/docs/features/conversation-supervision/ui-design.md index b003bc9e..b5566df7 100644 --- a/docs/features/conversation-supervision/ui-design.md +++ b/docs/features/conversation-supervision/ui-design.md @@ -36,6 +36,8 @@ 仅在应用已启用时挂载监督面板及固定目标控件;关闭或设置尚未加载时不挂载,也不发起面板查询。任务列表仍按原规则显示。 +任务中心从上到下依次显示项目概览(含当前会话统计)、监督反馈、项目任务。 + 右侧通用助手工作栏中的监督卡片展示“监督反馈”,沿用现有[工作栏设计](../assistant-workbar/prd.md)的布局和执行边界。当前支持 Conversation/Task:有选中任务时跟随任务,否则跟随会话;“固定监督目标”保存当前目标,切换聊天后保持,取消固定恢复跟随。卡片显示目标、结果真实范围、回顾区间和摘要,可刷新并查看匹配来源;无目标或无匹配结果显示空态。Experiment 尚未接入。 有匹配结果时提供“在图谱中查看”,打开现有监督者页面的图谱页签并读取该结果;无匹配结果不显示入口。按钮保留原生键盘操作,进入后焦点落在图谱页签,继续使用共享 PageTabs 的方向键导航。固定目标不因跳转改变;再次点击相同或不同结果均重新定位,包括页面缓存后再次进入。结果不可用时显示错误并重试原 ID,不展示默认最新结果。 diff --git a/src/renderer/src/RightAssistantSidebar.tsx b/src/renderer/src/RightAssistantSidebar.tsx index f84c89e9..7f072ca5 100644 --- a/src/renderer/src/RightAssistantSidebar.tsx +++ b/src/renderer/src/RightAssistantSidebar.tsx @@ -2082,6 +2082,21 @@ export function RightAssistantSidebar({ ) : null} {instance.appId === 'tasks' && (
+
+

{currentProject + ? t('sidebar.tasks.projectScope', { project: currentProject.name }) + : t('sidebar.tasks.scope.currentProject')}

+ {t('sidebar.tasks.stats.currentConversation')} +

{activeConversationId + ? currentStats?.title ?? conversationTitles.get(activeConversationId) ?? t('sidebar.tasks.stats.currentConversation') + : t('sidebar.tasks.stats.noConversation')}

+
+
{t('sidebar.tasks.stats.replyDuration')}
{currentStats ? formatDuration(currentStats.replyDurationMs) : t('sidebar.tasks.stats.unavailable')}
+
{t('sidebar.tasks.stats.messages')}
{currentStats ? currentStats.messageCount.toLocaleString(locale) : t('sidebar.tasks.stats.unavailable')}
+
+ {currentStats?.incomplete &&

{t('sidebar.tasks.stats.incomplete')}

} +
{t('sidebar.tasks.stats.timeHelp')}

{t('sidebar.tasks.stats.timeDescription')}

+
{supervisionEnabled && <> } -
-

{currentProject - ? t('sidebar.tasks.projectScope', { project: currentProject.name }) - : t('sidebar.tasks.scope.currentProject')}

- {t('sidebar.tasks.stats.currentConversation')} -

{activeConversationId - ? currentStats?.title ?? conversationTitles.get(activeConversationId) ?? t('sidebar.tasks.stats.currentConversation') - : t('sidebar.tasks.stats.noConversation')}

-
-
{t('sidebar.tasks.stats.replyDuration')}
{currentStats ? formatDuration(currentStats.replyDurationMs) : t('sidebar.tasks.stats.unavailable')}
-
{t('sidebar.tasks.stats.messages')}
{currentStats ? currentStats.messageCount.toLocaleString(locale) : t('sidebar.tasks.stats.unavailable')}
-
- {currentStats?.incomplete &&

{t('sidebar.tasks.stats.incomplete')}

} -
{t('sidebar.tasks.stats.timeHelp')}

{t('sidebar.tasks.stats.timeDescription')}

-
{!currentProject ? (

{t('sidebar.tasks.scope.noCurrentProject')}