10 KiB
10 KiB
04. 设计系统规范(MacOS AI Workspace 基准)
1. 设计目标
这套设计系统以当前 XWorkmate macOS APP UI 为主基准,并吸收 Notion 与 Linear 的两类优点:
- Notion 的平静、中性、低打扰信息组织
- Linear 的紧凑、精准、状态清晰、专业工具感
但本系统不直接复制两者,而是服务于“MacOS 风格 AI 工作台”:
- 更强调线程、Agent、连接、结果渲染等工作流对象
- 更强调长时间停留的低疲劳阅读体验
- 更强调分栏、底部 dock、快捷面板、系统设置等桌面工作台语义
因此,这套视觉语言应满足三个目标:
- Calm:低噪音、可持续停留
- Compact:适合高密度工作区
- Tactile:按钮、面板、sheet 都要有轻微但明确的可操作反馈
2. 视觉基调
A. 总体风格
建议定义为:
- calm compact workspace
- border-first 但不过度描边
- 系统字体优先
- 低饱和中性色 + 单一品牌蓝强调
- 光感和层级主要依靠 tonal layering,而不是高对比色块
B. 气质关键词
- 安静
- 精准
- 专业
- 编辑式
- 工具化
- 长时工作友好
C. 使用规则
- 主色只用于主 CTA、选中态、关键状态,不大面积铺底
- 层级优先靠 spacing、字号、权重、surface tone 建立
- 大部分卡片使用 ghost border + soft shadow,而不是强边框
- Web 与 macOS 使用同一套语言,只调整密度,不切换视觉流派
3. 颜色体系
Light Theme
A. Background
- App Background:
#F8F9FA - Workspace Chrome Background:
#F4F7FA - Sidebar Background:
#F1F4F8 - Inset Background:
#EFF3F7
B. Surface
- Primary Surface:
#FFFFFF - Secondary Surface:
#F2F5F8 - Tertiary Surface:
#E9EEF4 - Pressed Surface:
#F1F5F9 - Highlight Surface:
#FFFFFF
C. Text
- Text Primary:
#1C1B1F - Text Secondary:
#667085 - Text Muted:
#98A1B2 - Text Inverse:
#FFFFFF
D. Accent
- Accent Primary:
#0058BD - Accent Hover:
#1A6CCE - Accent Soft:
#E8F0FB - Accent Strong Fill:
#0058BD
E. Semantic
- Success:
#34A853 - Warning:
#8F4A00 - Danger:
#C3655C - Idle:
#98A1B2 - Info Banner Tint:
#EEF4FB - Warning Banner Tint:
#FFF3CD - Error Banner Tint:
#FBEDEC
F. Border
- Default Border:
rgba(166, 180, 200, 0.20) - Soft Border:
rgba(166, 180, 200, 0.15) - Strong Border:
rgba(166, 180, 200, 0.32)
Dark Theme
A. Background
- App Background:
#141422 - Workspace Chrome Background:
#161A26 - Sidebar Background:
#1A1D2A - Inset Background:
#1A1F2C
B. Surface
- Primary Surface:
#171C28 - Secondary Surface:
#1E2433 - Tertiary Surface:
#262D3F - Pressed Surface:
#23293A - Highlight Surface:
#2A3145
C. Text
- Text Primary:
#E6E1E5 - Text Secondary:
#B0B8C8 - Text Muted:
#8B95A8 - Text Inverse:
#0F1117
D. Accent
- Accent Primary:
#4B8FE8 - Accent Hover:
#78AFFF - Accent Soft:
#1C3355 - Accent Strong Fill:
#4B8FE8
E. Semantic
- Success:
#5CB978 - Warning:
#E0AE5A - Danger:
#EF9A9A - Idle:
#8B95A8 - Info Banner Tint:
#1B2940 - Warning Banner Tint:
#3A3118 - Error Banner Tint:
#3A2527
F. Border
- Default Border:
rgba(202, 196, 208, 0.22) - Soft Border:
rgba(202, 196, 208, 0.15) - Strong Border:
rgba(202, 196, 208, 0.30)
4. Spacing / Radius / Shadow
A. Spacing
建议继续沿用当前家族的紧凑节奏:
- 4: micro gap
- 6: compact gap
- 8: standard gap
- 12: section inner gap
- 16: card inner padding / block gap
- 20: pane padding
- 24: page section gap
- 32: large layout gap
使用规则:
- 控件之间优先
6或8 - 卡片内部优先
12或16 - 大模块之间优先
24 - 页面级横向 padding 建议
20到24
B. Radius
基于 MacOS 工作台语义,保持柔和但不臃肿:
- Card Radius:
16 - Panel Radius:
18 - Sidebar Radius:
20 - Button Radius:
12 - Icon Button Radius:
12 - Input Radius:
14 - Chip Radius:
12 - Bottom Sheet Radius:
18 - Badge Radius:
999
Web 紧凑版本可收紧,但不建议低于:
- card
12 - input
10 - button
10
C. Shadow
阴影必须是“柔和、带轻微蓝灰偏色”的工作台阴影,而不是通用黑灰阴影。
Light
- Ambient Shadow:
0 12 40 -14 rgba(0, 88, 189, 0.08) - Lift Shadow:
0 10 24 -12 rgba(0, 88, 189, 0.10)
Dark
- Ambient Shadow:
0 12 36 -14 rgba(0, 8, 20, 0.30) - Lift Shadow:
0 8 22 -12 rgba(0, 88, 189, 0.28)
使用规则:
- 卡片默认只用 ambient
- 可点击卡片 hover 时追加 lift
- sidebar 与 sheet 使用更柔和、更大范围的阴影,不用锐利投影
5. Typography
A. 字体策略
优先使用系统字体:
- macOS / iOS: SF Pro
- Web:
system-ui,-apple-system, sans-serif - Monospace: 系统等宽字体,仅用于 token、ID、日志、endpoint
不引入自定义 UI 字体。
B. 字号体系
Workspace Display
- 28 / 32 / 700
- 用于少量登录、欢迎、全屏态标题
Dialog Title
- 20 / 24 / 600
- 用于弹窗与设置大卡标题
Section Title
- 13 / 14 / 600
- 用于工作区 section、侧栏分组、卡片标题
Body
- 13 / 15 / 400
- 默认正文
Emphasized Body
- 13 / 14 / 600
- 重要标签、按钮文字、关键值
Caption
- 12 / 16 / 400
- 辅助文字、meta、时间、helper text
Caption Strong
- 12 / 16 / 600
- 状态标签、breadcrumb、chip 文案
C. 字体使用规则
- 不在工作区内使用大而营销化的 hero heading
- 大部分文字应保持在 12 到 13 范围
- 主要层级靠字重与间距,而不是大字号跳跃
- 线程标题、卡片标题、section 标题允许 600,不建议更重
- 技术值、endpoint、token key 才使用 monospace
6. 核心组件规范
A. Card
适用:摘要卡、设置卡、Focus 卡、任务卡。
规则:
- 默认使用 primary 或 secondary surface
- 带 soft border
- 16 圆角
- 内边距 16
- hover 只抬升一点,不做明显放大
- 选中态优先用 accent soft 背景 + 轻描边,不直接大面积纯蓝铺底
B. Panel
适用:线程栏、Focus pane、设置大面板、详情面板。
规则:
- 比 card 更强调容器感
- panel 内允许嵌套 card,但 panel 自身应更克制
- 通常使用 chrome background 或 secondary surface
- 应具备清晰的 header / content / footer 区域
- 在桌面大屏中应优先承担结构层级,而非视觉重点
C. Sidebar
适用:主导航、Focus 左侧面板、线程导航区域。
规则:
- 使用 sidebar background
- 分组信息采用 caption strong
- 导航项高度建议 32 到 36
- 选中项使用 accent soft + subtle border
- 收藏/星标属于辅助交互,不要抢主导航焦点
- collapse 后仍要保留清晰的 icon-only 语义
D. Button
Primary Button
- 用于主行动作,如发送、应用、创建
- 使用 accent fill
- 白字
- hover 稍微变亮
- active 稍微压暗并减小阴影
Secondary Button
- 用于次级动作,如保存、测试、打开详情
- 使用 secondary surface 或 ghost border
- 文字保持 primary text
Tertiary / Ghost Button
- 用于工具栏、icon action、内嵌操作
- 背景默认透明
- hover 出现 secondary surface
尺寸建议
- Desktop utility button height:
30 - Toolbar / input-affiliated button:
30到32 - 大型单独 CTA 不建议超过
36
E. Input
适用:搜索、配置输入、endpoint 输入、composer 之外的表单输入。
规则:
- 高度默认 40
- 圆角 14
- 背景用 primary surface
- 边框默认 soft border
- focus 使用 accent border + very soft glow
- placeholder 使用 muted text
- helper / error text 使用 caption
Search Input
- 左侧 icon 固定
- hover 只提升表面亮度,不改变布局
- 不做过重投影
Composer Input
- 作为特殊输入容器,不完全套用普通 input
- 更像 bottom dock panel
- 应支持更大高度、附件、模式切换、发送动作
7. 交互状态规范
A. Hover
目标:给出触感,而不是制造噪音。
规则:
- surface 稍微提亮或切到 pressed surface
- 阴影轻微增强
- icon 与文字颜色不剧烈变化
- 不使用明显 scale 动画
B. Active / Pressed
规则:
- 背景比 hover 更实一点
- 阴影减弱,模拟按下
- 主按钮允许稍微压暗
- 卡片点击态优先表现为“压下”,而不是“发光”
C. Selected
规则:
- 优先使用 accent soft background
- 边框轻微增强
- 文字使用 emphasized body 或 accent text
- 不建议用纯色大面积填充,除非是 primary CTA
D. Disabled
规则:
- 背景不应完全消失,应保留轮廓
- 文字降到 muted
- border 保持 soft
- 对可用区域和不可用区域保持几何一致,避免跳版
E. Focus
规则:
- 键盘 focus 必须有清晰 focus ring
- focus ring 使用 accent,并保持较低扩散半径
- sidebar item、button、input、chip 都要支持 focus state
8. 组件状态矩阵建议
以下组件必须具备完整状态:
- button: default / hover / active / disabled / focus
- input: default / hover / focus / error / disabled
- card: default / hover / selected / disabled
- sidebar item: default / hover / selected / focus
- chip: default / hover / selected / disabled
- panel: default / pinned / collapsed / active
9. 与当前产品的对应关系
这套设计系统应直接映射到当前 XWorkmate 家族 token:
- 颜色基于现有
AppPalette.light/AppPalette.dark - spacing / radius / typography 基于现有
SimpleSpacing、SimpleRadius、SimpleTypography - Web 版本采用同一家族语言,但在高密度区域可轻微收紧几何
因此,后续实现建议遵循:
- 不重新发明一套 Web token
- 先让 Web 继承 macOS 家族 token,再在 shell、sidebar、input、tabs、sheet 上做 Web 密度微调
- 任何 Notion / Linear 风格借鉴,都应服务于现有产品家族,而不是覆盖现有品牌语言
10. 一句话结论
这套设计系统的最终目标,不是把 XWorkmate 做成“像某个 SaaS 后台”,而是把它做成:
- 具有 MacOS 原生工作台气质
- 适合长时间停留
- 适合高密度 AI 任务调度
- 视觉克制但交互明确
- Web 与 macOS 同源而不割裂