Files
goodbuddy/docs/features/conversation-supervision/ui-design.md
T
mesalogo c71c0adf9e fix: place supervision feedback below project overview
Order the task center as project overview, supervision feedback, then project tasks. Update the sidebar layout documentation to match.

Release note: 任务中心的监督反馈现位于项目概览下方、项目任务上方。
2026-09-23 23:11:33 +08:00

8.3 KiB

监督者 UI 设计

日期:2026-09-16。状态:目标设计,遵循根目录 UI-DESIGN.md。需求对应监督者应用产品设计 FR-S1 至 FR-S9。

应用入口

应用中心中的智能心跳入口升级为“监督者”,沿用既有启用、常驻与排序能力。未来应用市场使用同一应用身份。应用已启用时,停用单条自动心跳计划仍可手动回顾;关闭应用后,已打开页面显示关闭状态并禁用工作区操作。默认值及运行边界见应用启停与执行。

当前应用页使用共享 PageTabs 展示“工作回顾 / 故事线图谱 / 活动 / 设置”。打开设置直接显示“自动监督”配置;同级次要页签为“运行概览 / 待处理建议 / 报告与记录”。整个页面只有一个一级标题;监督者 bridge 不可用时显示明确错误,设置仍可访问,不回退到旧心跳概览。

活动

对应 FR-S10、US-S26。活动按开始时间倒序,每页 50 条,提供较新/更早记录和刷新。列表保留触发方式、执行范围、开始/结束时间、实际状态、阶段状态、错误及已保存摘要。没有结果时不显示结果按钮;有监督结果时可分别进入该结果的工作回顾和故事线图谱,焦点移到目标页签。超过最近 20 条的结果仍按 ID 读取,不能回退最新结果。

加载、空记录和读取失败分开显示;读取失败保留已显示记录并提供就地重试。活动页面激活时,存在运行中记录则在上次读取结束 2 秒后刷新,否则 10 秒后刷新;每次最多一个请求。切换顶层页签、离开监督者或关闭应用后停止定时器,迟到响应不更新界面。错误后等待用户重试,不持续重发失败查询。

列表使用共享表面、边框、状态颜色和按钮。元数据按可用宽度换行,窄窗口保留字段标签、范围、时间和结果操作;长错误换行。状态同时使用文字。无变化显示“无变化(未调用模型)”,没有新结果跳转;阶段分别显示,旧回顾仍可从历史打开。修改审计缺失常显,不提供取消操作。

自动监督设置

对应 US-S22 至 US-S24。表单直接展示名称、项目范围、每日或每周频率、指定时间、回顾窗口(1 至 720 小时)和历史保留(1 至 365 天);每周显示星期选择。时区常显,新建使用本机时区,编辑保留计划原时区。当前调度不支持分钟间隔,限制在表单上方常显。

无计划时显示“尚未配置自动监督,目前仅支持手动回顾”;全部暂停时另行说明。加载或首次读取失败不显示未配置状态。打开设置、填写字段、启用应用均不创建计划,只有点击“保存并启用计划”才提交创建。已有计划显示范围、周期、时区、回顾窗口、保留期限和启停状态,保留编辑、暂停、恢复、立即运行和确认删除;暂停时不显示待执行的下次时间。

界面及可访问名称统一使用“自动监督 / 回顾”,保留内部 heartbeat 标识及已有计划名称、报告正文。表单继续使用共享控件和容器响应式布局,建议及审计无需先进入即可配置计划。

工作回顾

当前页面提供全局或单项目范围,以及 1、7、30 天时间区间选择。没有自动计划也能手动回顾;成功结果显示自身冻结的范围、时间和未解决事项,可选择历史结果或进入图谱。来源筛选由本次回顾范围和时间限制;图谱详情只列出所选事件的关联来源,实体或关系列出相关事件的来源。独立的来源类型选择器尚未实现。

选择历史结果后,图谱读取该结果的成员和内容,标题显示其回顾区间和生成时间。切换时清空旧图谱和详情并显示加载状态,迟到请求不得替换新选择。确认、修订和移除反馈更新当前所选结果,后续自动回顾不改写旧结果。

手动“回顾当前进展”是主要操作,生成中禁用重复提交并显示进行中文案。范围说明明确此操作会重新整理所选区间内已回顾的来源,自动监督只处理新增或修改片段;删除报告不会重置自动进度或重建图谱。失败保留上次结果与本次请求范围,提供重试。取消和部分来源遗漏的专门状态仍属于目标设计。

会话侧栏

仅在应用已启用时挂载监督面板及固定目标控件;关闭或设置尚未加载时不挂载,也不发起面板查询。任务列表仍按原规则显示。

任务中心从上到下依次显示项目概览(含当前会话统计)、监督反馈、项目任务。

右侧通用助手工作栏中的监督卡片展示“监督反馈”,沿用现有工作栏设计的布局和执行边界。当前支持 Conversation/Task:有选中任务时跟随任务,否则跟随会话;“固定监督目标”保存当前目标,切换聊天后保持,取消固定恢复跟随。卡片显示目标、结果真实范围、回顾区间和摘要,可刷新并查看匹配来源;无目标或无匹配结果显示空态。Experiment 尚未接入。

有匹配结果时提供“在图谱中查看”,打开现有监督者页面的图谱页签并读取该结果;无匹配结果不显示入口。按钮保留原生键盘操作,进入后焦点落在图谱页签,继续使用共享 PageTabs 的方向键导航。固定目标不因跳转改变;再次点击相同或不同结果均重新定位,包括页面缓存后再次进入。结果不可用时显示错误并重试原 ID,不展示默认最新结果。

当前“继续讨论”预览实际发送会话名称、ID 和上下文,确认后发送到该会话;固定任务使用其关联会话,无法确定发送会话时禁用。切换目标使旧来源请求和预览失效。编辑预览中的引用仍属后续工作。

故事线图谱

使用 supervisor 页面壳层,最大内容宽度为 1440px。当前生产图谱左侧为紧凑的事件、实体和关系列表,中间为 SVG 画布,右侧为详情与来源。桌面列宽为 216px minmax(0, 1fr) 280px,画布获得主要空间。外圈事件按发生时间排序后等距逆时针排列,不表示实际时间间隔;起止之间保留缺口和方向箭头。内部显示真实实体名称,实线仅连接实际事件与实体,虚线仅连接实际实体关系。

实体及其影响连线复用现有 --graph-node-*-border 令牌;颜色用于辅助辨认实体,不代表故事分类或确认状态。选中项加粗并突出连线,其余节点降低图形强调度但保留可读文字。详情分为名称与说明、图谱关联、确认操作和来源,来源正文按需读取。图例常显,读图说明可展开。

画布每批最多显示 8 个事件、6 个实体;同时间事件分开排布。列表保留全部返回记录和完整名称,选择实体会定位到真实关联事件所在批次,选择关系会优先显示两端实体。滑块明确命名“事件浏览”,只切换当前事件,不还原实体历史状态,也不宣称完整历史回放。当前接口返回单条故事线,不复制 Demo 中的三条模拟故事。后续视图规划见图谱设计。

按实际内容容器宽度响应:不超过 1190px 时变为 184px 列表加画布,详情移到下方;不超过 860px 时变为单列,画布优先,列表限制高度并独立滚动。SVG 最小宽度为 660px,窄屏只在画布内部横向滚动,页面本身不横向溢出。范围、时间和操作可换行。节点、关系与事件均可从列表选择,画布节点支持 Enter、Space 和可见焦点。加载、无数据、读取失败和服务不可用各自呈现,错误提供可行的恢复说明或重试入口。

隔离视觉验证使用 tests/support/supervisor-layout-regression.tsx 渲染生产 React 组件;所有输入标为模拟 fixture,不读取用户数据库或调用模型。tests/supervisor-layout.electron.test.ts 启动 Vite 与 Electron,通过 executeJavaScript 测量布局、capturePage 截图,覆盖 1440、1024、390px、浅深主题、长名称、密集事件和异常状态。可通过 GOODBUDDY_SUPERVISOR_ARTIFACTS 保留截图;交互预览入口为 node tests/support/supervisor-preview.mjs。