这是 Web 端(apps/kimi-web)的设计 token 与组件标准。所有数值与 src/style.css 的 :root token 保持一致——改 token 时同步改这里。
结论先行:颜色、圆角、字体、阴影都收敛成一套可复用的 token;圆角按 8 / 12 / 16 的规律分层(列表项 → 输入框/卡片 → 对话框)。
中性色撑起层级(墨→正文→次要→淡),蓝色是唯一强调色,语义色只在状态里出现。
这是这次重点统一的部分。Modern 用一套 8 / 12 / 16 的规律:越"大块"的容器圆角越大。Terminal 主题刻意保持 3–4px 的硬朗感,不走这套。
--r-sm 8px,输入框高一档 = --r-md 12px,对话框再高一档 = --r-lg 16px。圆形头像/点用 50%;气泡用专门的非对称圆角 18px 18px 6px 18px(表达"指向")。| Token | 值 | 用在哪 | 样例 |
|---|---|---|---|
--r-xs | 6px | workspace 头像方块、计数徽章 | xs |
--r-sm | 8px | session 行、workspace chip、tab、发送/附件键、状态控件 | sm |
--r-md | 12px | 输入框、工具调用卡 | md |
--r-lg | 16px | 对话框、引导卡、移动端底部 sheet | lg |
两套字族分工:chrome/代码/路径/时间戳用等宽 --mono;Modern 的正文用 --sans。这是 Modern 和 Terminal 观感差异的关键。
--mono = SF Mono / ui-monospace;--sans = -apple-system / PingFang SC。Terminal 全程 mono;Modern 下 body 切到 sans,但路径/代码/时间戳仍按元素保留 mono。只在 Modern 用,把白色卡片/输入框从画布上"抬起"。两档:卡片轻投影 + 浮层重投影。
--shc 轻(卡片/气泡)--sh 重(输入框/弹层)下面都是用上面 token 拼出来的真实组件镜像(Modern 主题)。
同一套数据,两种外观。Modern 是默认。
| Terminal | Modern(默认) | |
|---|---|---|
| 字体 | 全程 mono | 正文 sans,chrome/代码 mono |
| 圆角 | 硬朗 3–4px | 8 / 12 / 16 规律 |
| 聊天 | 行式 user@kimi $ | 气泡(用户右侧软蓝,助手左侧纯文本) |
| 聊天底色 | 白 | 白(正文区),侧栏浅灰 |
| 阴影/动画 | 无 | 轻投影 + 入场微动画 |
html[data-theme="modern"] 挂在根节点。Modern 的逐组件覆盖必须写在全局 src/style.css——组件内 scoped 的 :global(html[data-theme=modern]) .x 赢不过基础样式(踩过坑:输入框一直是方角、tab 没胶囊就是这原因)。