Pin the chat timeline and move preview into its own pane
Why: The design system still described preview as a right-rail tab, while the implementation now keeps a timeline in the transcript and opens files in a closable pane beside the chat. Evidence: make test passed (core, backend, frontend 51, ui 71, agent-command). Impact: Dev pins core d437530, backend dab8f31, ui 8bfe8a8, frontend 0ed8ad3. DESIGN.md §6, §9.3, and §9.6 match that layout. Refs: feature/chat-timeline-preview Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -96,11 +96,15 @@ Agent-System-Dev 是桌面优先、Web 兼容的 AI 工作台。界面应**冷
|
||||
|
||||
## 6. 布局:面板化工作区
|
||||
|
||||
桌面工作区 = 浮在 `--bg-inset` 底座上的**独立圆角面板**(左栏 / 对话主区 / 右栏):
|
||||
桌面工作区 = 浮在 `--bg-inset` 底座上的**独立圆角面板**(左栏 / 对话主区 / 预览区 / 右栏):
|
||||
面板 `--radius-lg` 圆角 + `--border-soft` 发丝描边,面板之间 **4px 间隙**,应用四周 4px 内衬。
|
||||
拖拽分隔条:透明 4px 命中区,hover/拖拽时显示 2px `--border-strong` 指示线(两端留出面板圆角)。
|
||||
|
||||
层次规则:左栏与右栏用 `--bg-panel`,对话主区用 `--bg`;窄屏可退化为通栏。
|
||||
预览区插在对话与右栏之间,只在当前会话有打开的文件时出现。宽度可拖(420–1100),
|
||||
用 `--bg`,不受右栏 560 上限约束。打开第一张标签时收起右栏,关掉最后一张时恢复右栏原状。
|
||||
标签按会话记住,切回该会话时恢复。
|
||||
|
||||
层次规则:左栏与右栏用 `--bg-panel`,对话主区与预览区用 `--bg`;窄屏可退化为通栏。
|
||||
信息架构原则:**对话优先**——普通用户仅凭对话即可完成全部工作,右栏纯辅助、可完全收起;
|
||||
系统管理类视图独立成区(管理员专属入口),不混入用户设置。
|
||||
|
||||
@@ -153,8 +157,9 @@ Agent-System-Dev 是桌面优先、Web 兼容的 AI 工作台。界面应**冷
|
||||
|
||||
### 9.3 一个动作一个入口
|
||||
|
||||
同一对象只允许一个主要操作路径:一个工件 = 一个预览落位(右栏)+ 一个下载按钮;
|
||||
全屏 overlay 是唯一"大窗"形态。禁止弹窗套弹窗。
|
||||
同一对象只允许一个主要操作路径:一个工件 = 一个预览落位(对话右侧预览区)+ 预览区标题栏上的一个下载。
|
||||
对话里的文件卡片负责打开这个预览区;卡片菜单里的下载是同一下载动作的就近入口,不另开预览器。
|
||||
全屏 overlay 是预览区的放大,不是第二落位。禁止弹窗套弹窗。
|
||||
|
||||
### 9.4 按钮
|
||||
|
||||
@@ -166,6 +171,18 @@ Primary(`--primary` 反色)、Ghost(透明,hover 出表面)、Danger
|
||||
菜单壳 `--radius`(8) + `--shadow-md` + 紧凑行(`--radius-sm` 6 的行、`--fs-ui-base`);
|
||||
菜单是紧凑动作行,不是迷你按钮。交互浮层必须盖过被动 tooltip。
|
||||
|
||||
### 9.6 工作时间线与标签条
|
||||
|
||||
助手消息在运行中按时间线逐行展开,终轮结束后折成一行。
|
||||
|
||||
- 运行中始终展开:思考行显示「思考中」并带 `mk-sweep`;对用户的解说按正文样式直接显示;
|
||||
同类工具合并成一行(查阅、搜索、已运行命令、写入、卡片、委派、计划)。
|
||||
- 终轮(没有后续工具调用)结束后,过程段收进 Collapsible,触发行为「已工作 X 分 Y 秒」。
|
||||
最终回复留在折叠行下面。不在每一轮 `responding` 时来回折叠。
|
||||
- 文件卡片:图标、名称、「类型 · 大小」、右侧「预览」。正文里的 `art_` 编号若对得上工件,在正文后补一张卡片;
|
||||
对不上则显示「未找到该文件」,不伪装成可打开的文件。
|
||||
- 标签条用 `@ui` `TabStrip`:点击激活、× 关闭、中键关闭,溢出横向滚动。只消费令牌与 `mk-*`。
|
||||
|
||||
## 10. 信息架构与文案
|
||||
|
||||
- 普通用户界面只暴露任务与对话;插件/代理/治理类能力归系统管理区(管理员可见)。
|
||||
@@ -180,7 +197,7 @@ Primary(`--primary` 反色)、Ghost(透明,hover 出表面)、Danger
|
||||
3. TSX 行内 `font-size`——走字号标尺;
|
||||
4. 运行态用旋转 spinner——用 `mk-sweep`/`mk-breathe`;
|
||||
5. 弹窗套弹窗;
|
||||
6. 同一对象出现第二个下载/预览入口;
|
||||
6. 同一对象出现第二个预览落位(预览只在预览区,全屏是它的放大);
|
||||
7. `<details>` 折叠——用 Collapsible。
|
||||
|
||||
## 12. 演进规则
|
||||
|
||||
+1
-1
Submodule modules/backend updated: 42fe6196b1...dab8f31f15
+1
-1
Submodule modules/core updated: 1b04a34bbc...d4375300cd
+1
-1
Submodule modules/frontend updated: 59065fecb8...0ed8ad32f1
+1
-1
Submodule modules/ui updated: e082889200...8bfe8a89db
Reference in New Issue
Block a user