# 固定设计系统 `assets/dashboard/` 是本项目的实际前端模板,不是截图参考。基于 React、TypeScript、Vite、Tailwind 与官方 shadcn/ui 组件;上游来源、授权和版本以模板内说明和 lockfile 为准。 ## 页面与布局 复用官方 sidebar block 的侧边导航、页头和内容容器,登录复用官方 login block 的表单与组件。维持六个独立路由: | 页面 | 主要问题 | 内容 | |---|---|---| | 总览 | 现在进展如何? | 少量状态统计、当前阶段/阻塞、重要汇报与决策摘要 | | 任务 | 谁在做什么? | 工作包、状态、阶段、目前进度一句话、ETA范围和业务更新时刻 | | 集群 | 资源和调度是否可用? | 节点内存/负载、NFS、Slurm、LSF与故障/采集时间 | | 沟通 | 我如何询问进度和讨论方案? | 固定人类入口的正常聊天、输入框、必要待办和简洁发送提示 | | 决策 | 哪些事项需要我决定? | 卡片展板、方案、影响、选择与提交记录 | | 日志 | 出过什么问题、恢复了吗? | 分级聚合事件、恢复状态、筛选与安全详情 | 总览不重现所有详情;页面不把数据全部挤在一个长列。窄屏折叠导航,沟通输入和消息列表保持可操作。 ## 颜色和组件 - 固定 zinc 中性基础与官方 blue 主色,使用模板 CSS 变量;状态色仅表达成功、注意、失败和未知。 - 不为每个任务生成另一套色板,不用渐变、发光或装饰插画取代信息层级。不在组件内散布临时 hex 色值。 - 复用 Sidebar、Card、Badge、Button、Input、Textarea、Table、Progress、ScrollArea 等现有组件。新增交互先找已安装组件;确需增加时使用官方 registry/CLI并保留授权。 - 区分运行状态、任务阶段与验证结论。颜色配文字,未知不使用健康颜色;预计时间有范围和依据。 - 不写模拟运行数值当作生产内容。空状态说明缺配置、待同步或没有数据,尽量就近给可执行入口。 ## AI 修改方式 先定位已有页面和数据适配层,复用组件完成需求;只在设计系统确需变化时修改集中 token。业务数据来自当前 API,不能为了套模板保留示例收入、销售图、假用户或无效按钮。 提交前运行锁定依赖构建,并验证六页切换、刷新/返回、沟通会话目标、登录退出、过期/离线状态和窄屏布局。截图和生产数据仅留在私有验收产物,不自动加入公开库。 ## 沟通页的低噪声规则 只显示用户实际输入、面向用户的最终回复及需要行动的简洁提醒。隐藏角色/安全提示封装、JSON事实快照、内部跨会话原始汇报、工具日志和合成验收整轮内容;原始消息、回执、来源和审计不删除。用户自己输入或引用的正文不能因包含“日志/测试/JSON”等关键词而过滤。 页面固定连接人类入口,不显示会话选择、绑定状态说明、原会话跳转或新建会话表单。页头只提供“刷新”,重新读取聊天和必要状态,保留登录、草稿、目标与幂等发送记录,不做浏览器整页重载。正常聊天不堆时间、来源、投递徽标;只在等待或失败时用自然语言提示。 聊天读取独立GET /api/conversation投影视图;原始GET /api/messages继续用于后台审计、桥接和对账。投影通过保存的turn/phase/reply关系隐藏内部或验收轮次;网页封装只有与已保存原输入完整匹配才折叠为原文。重大真实故障显示人类可读摘要,不透出原始事件载荷。首次打开显示最近对话,阅读旧消息时不强制滚到底部。 ## 决策展板 需要用户决定的事项使用卡片展板,不做长日志列表。卡片只展示问题、影响、优先级及状态,点击打开详情抽屉。详情包括背景、问题、推荐与依据、方案说明和真实有依据的期限。可枚举方案使用可点击单选项,默认不选,推荐不视为批准。备注可补充;显式“提交选择”按钮与选择动作分开,失败保留草稿,同一草稿重试复用幂等键。 提交后显示实际选择快照及“待主控检查”,接受后显示“待落实”,完成与归档分别展示,不显示“已授权”。采用#/decisions?decision=打开具体卡片;沟通只做一句提醒并链接卡片,不复制全部方案。空状态不加入合成演示决策。既有tasks.decision文本保留只读兼容,不伪造选项。 任务卡的“目前进度”只展示current_progress,不能替换旧标签后仍显示eta_basis。进度实际变化后自动刷新,保留业务更新时间;活跃任务过期显示待更新需核查,完成剩余为0。新增改进单独登记,不沿用旧完成记录遮盖正在进行的工作。 沟通布局将“项目沟通”和简短介绍移入页面标题栏,刷新位于对话右上角。标题栏下聊天占满可用内容区域,消息独立滚动、输入区固定底部,保留必要导航;不触发浏览器全屏模式。桌面与窄屏都需保证输入、发送、刷新可见且不被外层滚动挤走。 ## 日志与通知 日志等级与恢复状态独立:信息蓝色、警告琥珀色、错误浅红、严重实红;处理中中性色、已恢复绿色,都配中文文字。按source/event_id聚合为一条,repeat_count是累计firing上报,界面重复次数显示max(0,count-1)。详情仅安全摘要、影响、处理、下一步、证据和时间,不展示原JSON/工具/推理或私有凭据。支持等级/状态筛选及#/logs?incident=直达详情。 沟通不显示自动短暂故障/恢复轮次;只有持续重大影响或需用户行动时显示一句简报并链接日志/决策。用户主动问故障时的解释保留。计划内或可恢复的短时断连先有界重试,不立即对用户发严重告警。 ## 关注红点 导航红点是“仍值得关注”而非未读或变化计数,颜色同时配可访问的原因说明。按当前页所有有效attention.items聚合,点击页面不清除;服务器撤销后随既有同步取消。页面顶部只放简短原因和具体事项链接(任务支持?task=、决策?decision=、日志?incident=),聊天不再塞内部载荷。多事项分别定位,不用一个全局清零操作。普通心跳或自动恢复不标,恢复/选择完成时清关联项;刷新和重启不得复活已撤销项。 ## 任务三视图与详情 同一任务数据可切换展板、列表、分支,view参数保留选择。展板用于概要,列表便于比较当前进度、阶段、ETA与负责人,分支以版本交付主线和任务支线展示前置依赖与已验收集成;明确标注不是Git提交历史。关系没有登记时如实显示,不补假箭头。多依赖不等于全程串行或全程并行,详情说明可先做部分及等待同步点。 点击任务打开详情,展示目标、范围、负责人/真实会话、当前进度、版本、前置条件、并行部分、同步点、验收条件和集成状态。URL view=board/list/branches、task=可定位,关闭详情只移除task。空/单任务/已完成/多依赖保持一致,过期状态与ETA规则不因切换消失。任务关系与Git分支不混用。 ## 交付主线与任务支线交互 分支视图采用Git Graph形态表达任务交付关系,不表示真实Git提交。主线由kind=delivery任务按有效created_at的登记顺序组成,标签使用name/version;旧无时间项稳定按ID并标“时间未登记/顺序未登记”,不以updated代替,不暗示版本因果;任务按delivery_id分支,无归属单独展示。节点仅显示已有真实关键里程碑,不根据进度编造历史。实际merged_into_id或merge_sources关系只有在目标为delivery且源、目标integration_status均verified时显示汇合;真实depends_on用虚线,图例明确区分归属、依赖与验收汇合。 默认包含全部未结束状态(包括waiting、blocked和验证/集成阶段)及递归必要前置;显式“显示全部”显示历史。交付容器可为布局保留,但不应借容器显示无关历史工作任务。无版本或无归属明确显示未归属,不猜测版本。 悬停节点高亮递归上游、下游及对应边,无关节点与边淡化但文字仍可读;mouseleave恢复。键盘focus提供等效交互,触屏通过选中节点提供同效高亮和明确的详情按钮;退出选择恢复。高亮不改变事实、筛选开关或自动切换全部。详情仍保留任务定位链接、目标、负责人、依赖、验收与集成状态。 复用固定token和既有组件,以纯SVG与HTML实现,不引入新依赖。遍历使用visited与迭代队列/栈防循环和长链调用栈溢出。真实浏览器验收默认/全部、hover/focus/触屏、详情及窄屏;纯逻辑测试覆盖长链、多依赖、无依赖、筛选和汇合验收门禁。 ## 决策详情与独立咨询 卡片展示关联任务标签、状态与summary简介。宽详情展示背景、完整候选方案、自由填写、主控检查结论及版本历史;有候选方案仍允许只填写意见,推荐不预选,显式提交。提交携当前revision,失败保留草稿和幂等键;版本冲突刷新并要求重新确认,不能偷偷提交到新版本。需要重新考虑时保留旧快照供对照。 详情内独立咨询按decision_id隔离轮询、消息、草稿及client_key,发送显示pending并防重;未绑定显示待接通,不模拟回复。完成归档后只读历史。组件不修改普通沟通页,用户选择仍在卡片;事实核实回复、接受结论与实际授权分别呈现。键盘/窄屏可访问,不新增依赖。隔离验收覆盖切换决策不串消息、失败草稿、版本冲突、只填意见、历史及只读状态;真实会话未接通不显示已验证。 ## 草稿保存与恢复反馈 沟通、决策提交和独立咨询分别保存草稿,按实例与对应目标隔离;切页、刷新、重新登录后恢复。草稿状态与发送状态分开,失败或结果未知保留输入,不自动重发;明确成功后才清对应内容。存储不可用明确提示尚未持久保存,不显示虚假的已保存状态。 决策版本改变显示旧稿与重确认提示,重新阅读后才允许使用新版本提交,不静默把旧选项视为批准。已完成决策只读历史与草稿处理不得触发提交。页面升级提示不得自动重载丢失正在编辑内容;无本地数据的旧丢稿不声称可恢复。草稿只在网页本地,不上传,不包含token。 存储失败时允许继续保留当前输入和重试保存,禁止发送并提示刷新/退出可能丢失。成功但发现新编辑时保留新稿,不增加成功提示。恢复旧版本内容必须保留版本提示与显式重确认;本地保存提示不代表已发送、模型已回复或决策已完成。 保持简洁:功能修复不擅自增加按钮和解释性文案。三类草稿均后台保存/恢复,不显示清草稿按钮、常驻本地保存说明或冗余成功提示。只在阻止操作的错误与版本冲突时提供最短必要提示,普通状态不占界面。移除控件不调用清除逻辑。