# 七虎AI · DESIGN.md > **用途**:这是七虎 AI PaaS 平台的**唯一设计事实源(single source of truth)**。任何 AI 编码代理在新增/修改前端页面或组件时,必须读取本文件并严格遵守其中的设计 token、组件规范与 Do/Don't。 > **风格方向**:温暖科技感 + 极简主义(Warm Tech Minimalism)。浅色为主(护眼雾白底),靛蓝 `#5B5FED` 为唯一品牌色;允许克制的「淡蓝紫→淡青蓝」渐变与轻量玻璃拟态(Glassmorphism);前台必须符合 SEO/GEO 语义规范。 > **生成方式**:基于平台现有 `frontend/src/styles/global.css` 的真实 token 固化升华,并经由 `ui-ux-pro-max` 技能的数据驱动生成器校验风格一致性。 > 关联文件:`design-system/MASTER.md`(Master+Overrides 模式,含组件 CSS 样板)、`.impeccable.md`(impeccable 技能入口)。 --- ## 1. Visual Theme & Atmosphere 七虎 AI 是一个面向企业与开发者的 AI PaaS 平台(智能体编排、技能市场、模型库、工作流、IM Bot)。界面需要传达**专业、可信、精密**,同时带有**温度**(不冰冷)。 - **Mood**:沉着、秩序、精密、可信任;用留白与柔和表面营造呼吸感。 - **Density**:中高密度(开发者控制台),信息密集但不拥挤;关键操作常驻(header + sidebar)。 - **Design philosophy**: - 单一品牌色(靛蓝)贯穿全站,语义色只用于状态(成功/警告/错误/信息)。 - 表面层级用极浅灰阶 + 柔和阴影区分,而非重边框。 - 动效克制:150–300ms 缓动,仅做"提示"不抢戏。 - 全站浅色主题;深色模式暂不在范围内。 ## 2. Color Palette & Roles 所有色值以 CSS 变量定义在 `global.css` 的 `:root`。**新增颜色必须先定义为 token,禁止散落硬编码 hex。** ### 中性 / 表面 | 语义名 | Hex | 角色 | |---|---|---| | `--color-bg-primary` | `#F8F9FB` | 页面主背景(最浅) | | `--color-bg-secondary` | `#FFFFFF` | 卡片 / 浮层表面 | | `--color-bg-tertiary` | `#F1F3F7` | 输入框底 / 次级表面 | | `--color-bg-hover` | `#EBEEF3` | hover 表面 | | `--color-bg-active` | `#E3E7F0` | 选中 / 激活表面 | ### 文本 | 语义名 | Hex | 角色 | |---|---|---| | `--color-text-primary` | `#101214` | 主文本 / 标题 | | `--color-text-secondary` | `#545A65` | 次要文本 | | `--color-text-tertiary` | `#8B919E` | 提示 / 占位 | | `--color-text-disabled` | `#BFC4CE` | 禁用 | | `--color-text-inverse` | `#FFFFFF` | 深色表面上的文本 | ### 品牌 / 语义 | 语义名 | Hex | 角色 | |---|---|---| | `--color-accent` | `#5B5FED` | **唯一品牌色**(主按钮、激活态、链接、焦点环) | | `--color-accent-hover` | `#4A4ECC` | 品牌色 hover | | `--color-accent-light` | `#EEEDFF` | 品牌色浅底(tag / 选中背景) | | `--color-accent-subtle` | `#F6F5FF` | 品牌色极浅底 | | `--color-success` | `#219B5E` | 成功 / 在线 | | `--color-warning` | `#E8922C` | 警告 | | `--color-error` | `#D9383A` | 错误 / 危险 | | `--color-info` | `#3B82F6` | 信息 | | (各语义的 `-light` 变体) | `#E6F7EE` / `#FEF4E8` / `#FDEBEB` / `#EBF2FE` | 浅底色块 | ### 边框 / 侧栏 | 语义名 | Hex | 角色 | |---|---|---| | `--color-border` | `#E3E6EB` | 默认边框 | | `--color-border-light` | `#EEF0F4` | 极浅分隔线 | | `--color-border-hover` | `#CDD2DA` | 边框 hover | | `--color-sidebar-bg` | `#F5F6F9` | 侧栏背景 | | `--color-sidebar-hover` | `#EAECF2` | 侧栏项 hover | | `--color-sidebar-active` | `#E1E3F0` | 侧栏项激活 | ### 渐变 / Gradients(新增,源自"护眼科技感 + 渐变"需求) 平台允许**克制**的渐变,用于背景 / 装饰 / 主行动点,绝非赛博朋克式高饱和。所有渐变必须先定义为 token: | 语义名 | 值 | 角色 | |---|---|---| | `--gradient-brand` | `linear-gradient(135deg, #EEEDFF 0%, #E3F0FF 100%)` | Hero / 区块浅底(淡蓝紫 → 淡青蓝) | | `--gradient-brand-strong` | `linear-gradient(135deg, #5B5FED 0%, #4F8DF9 100%)` | 主 CTA / Banner 强调(品牌色渐变,不刺眼) | | `--gradient-aurora` | `radial-gradient(60% 60% at 30% 20%, rgba(91,95,237,.10), transparent 70%)` | 仅 Hero 装饰光斑,绝不直接衬文字 | **渐变铁律**: - 渐变只作背景 / 装饰 / CTA;**承载正文文字的表面必须纯色**(`#FFFFFF` / `#F8F9FB`),确保 ≥4.5:1。 - 拒绝全屏流动 / 循环渐变动画(aurora 8–12s loop)作用于文字区;装饰光斑在 `prefers-reduced-motion` 下静止。 - 不引入品牌色之外的第三色相做渐变(仅「靛蓝 → 青蓝」的同系过渡)。 **对比度约束**:文本在浅色表面上至少 4.5:1(WCAG AA)。`--color-text-tertiary` 仅用于非关键提示,不用于正文。 ## 3. Typography Rules - **字体**:`Inter`(正文/标题)+ `JetBrains Mono`(代码、模型 ID、token、技术参数)。中文回退系统字体。 - CSS import:`@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');` - **字阶(scale)**: | Token | 尺寸 | 用途 | |---|---|---| | `--text-xs` | 11px | 角标 / 极次要 | | `--text-sm` | 13px | 辅助文本 / 列表项 | | `--text-base` | 14px | 正文默认 | | `--text-md` | 15px | 稍强调正文 | | `--text-lg` | 18px | 小标题 | | `--text-xl` | 22px | 区块标题 | | `--text-2xl` | 28px | 页面标题 | | `--text-3xl` | 36px | Hero / 大标题 | - **字重**:正文 400,标题/强调 500–600,数字/统计可 700–800。避免过度加粗(≤600 为主)。 - **行高**:正文 `line-height: 1.6`;标题 1.3–1.4。 - **中文**:优先 Inter 的拉丁字形 + 系统中文回退;避免中文用 mono。 ## 4. Component Stylings (完整 CSS 样板见 `design-system/MASTER.md`;此处为快速参考。所有组件需 `cursor: pointer`、hover 过渡 150–300ms、可见 focus 环。) ### Buttons - **Primary**:`background: var(--color-accent); color:#fff; border-radius: var(--radius-md); padding: 10px 18px; font-weight:500;` hover → `--color-accent-hover` + `translateY(-1px)`。 - **Secondary**:透明底 + `1px solid var(--color-accent)` + 品牌色文字;hover 浅底 `--color-accent-subtle`。 - **Ghost**:无边框无底,hover 仅 `--color-bg-hover`;用于工具栏图标按钮。 - **Danger**:`var(--color-error)` 文本/边框,确认类操作用。 ### Cards / Panels - `background: var(--color-bg-secondary); border:1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-2xl);` - hover(可点击卡片):`box-shadow: var(--shadow-lg); translateY(-2px)`。 - 数据卡(KPI):上方 label(tertiary)+ 大数字(text-2xl, weight 700)+ 趋势小标。 ### Inputs / Textarea / Select - `padding:10px 14px; border:1px solid var(--color-border); border-radius: var(--radius-md); font-size: var(--text-base); background: var(--color-bg-secondary);` - focus:`border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-light); outline:none;` - placeholder:`var(--color-text-tertiary)`。 ### Navigation / Sidebar - 宽 `--sidebar-width: 240px`(折叠 64px);项高 ~40px,圆角 `--radius-md`,hover/active 用 `--color-sidebar-hover` / `--color-sidebar-active`;激活项左或文字用品牌色。 - 顶部 header 高 `--header-height: 56px`,承载主操作与全局搜索。 ### Tags / Badges / Chips - 用 `--color-accent-light` 浅底 + 品牌色文字表示"能力/标签";语义状态用对应 `-light` 底(success/warning/error/info)。 - 图标统一用 **Lucide**(见 §7),禁止 emoji 当图标。 ### Modals / Drawers - overlay:`rgba(0,0,0,0.5)` + `backdrop-filter: blur(4px)`。 - 弹窗:`background:#fff; border-radius: var(--radius-xl); padding: var(--space-3xl); box-shadow: var(--shadow-xl);` 右侧抽屉(detail drawer)用于 Agent/技能详情。 ### Glassmorphism(轻量玻璃拟态变体) 用于浮层 / 导航 / Hero 叠加 / 横幅,营造通透科技感(技能库 Glassmorphism 条目:backdrop blur 10–20px、半透明白 15–30%、细边框)。 ```css .glass { background: rgba(255,255,255,0.65); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); border: 1px solid rgba(255,255,255,0.7); box-shadow: var(--shadow-md); } ``` - 浮层导航 / 横幅 / Hero 卡片用 `.glass`;**正文内容卡保持纯白 `#FFFFFF`**(对比与清晰度优先)。 - 文字在玻璃面上必须 ≥4.5:1(玻璃面下若为渐变底,需加深文字或加底纹)。 ### Neumorphism(默认禁用) 用户原话提到"轻拟态(Neumorphism)或玻璃拟态的轻量化变体"。技能库明确标注 Neumorphism **对比度低(⚠ Low contrast)**,不利护眼。 **决策:默认禁用完整新拟态**;若需"轻量"立体感,仅允许在**无文字的装饰表面**用极淡 inset 阴影,且不得影响可读性。优先采用 Glassmorphism 轻量变体。 ## 5. Layout Principles - **间距阶梯**(必须用语义 token,禁止随意像素):`xs4 / sm8 / md12 / lg16 / xl20 / 2xl24 / 3xl32 / 4xl40 / 5xl48`。 - **栅格**:内容最大宽度 1440px 居中;主工作区用 12 列弹性栅格;卡片间距 `--space-lg`。 - **留白哲学**:区块间 `--space-3xl`~`--space-5xl`;卡片内 `--space-2xl`;避免贴边,页面左右留 `--space-2xl`+。 - **圆角**:小组件 `sm6/md8`,卡片/面板 `lg12`,弹窗 `xl16`,全圆 `--radius-full`(头像/徽标/药丸按钮)。 - **App Shell**:左侧 sidebar(工作区导航)+ 顶 header(全局操作)+ 主内容区;IM Bot / 技能详情用右侧 drawer 不离开上下文。 ## 6. Depth & Elevation 阴影层级(柔和、低透明,营造"浮起"而非"描边"): | Token | 值 | 用途 | |---|---|---| | `--shadow-xs` | `0 1px 2px rgba(0,0,0,.04)` | 内部分隔 | | `--shadow-sm` | `0 1px 3px rgba(0,0,0,.06)` | 静态卡 | | `--shadow-md` | `0 4px 12px rgba(0,0,0,.06)` | 卡片 / 按钮 | | `--shadow-lg` | `0 12px 32px rgba(0,0,0,.08)` | hover 卡 / 下拉 | | `--shadow-xl` | `0 20px 48px rgba(0,0,0,.10)` | 弹窗 / 浮层 | 规则:表面层级靠"背景明度 + 阴影"双信号区分;禁用重投影与硬黑边。 ## 7. Do's and Don'ts **Do** - 所有可点击元素加 `cursor: pointer` 与可见 hover/focus 态。 - 用 Lucide SVG 图标;技术参数用 JetBrains Mono。 - 状态用语义色;品牌表达只用 `--color-accent`。 - 动效克制(150–300ms ease),尊重 `prefers-reduced-motion`。 - 加载态用 skeleton shimmer,避免生硬 spinner。 **Don't** - ❌ 用 emoji 当图标。 - ❌ 引入除靛蓝外的第二个"品牌色"(除非语义状态)。 - ❌ 低对比文本(<4.5:1)。 - ❌ hover 用 `scale` 导致布局位移。 - ❌ 瞬时状态切换(无过渡)。 - ❌ 焦点态不可见(键盘可达性)。 - ❌ 在 `global.css` 之外散落硬编码 hex。 ## 8. Responsive Behavior 断点:`375px`(手机)/ `768px`(折叠 sidebar 为 64px 或抽屉)/ `1024px`(平板)/ `1440px`(桌面最大宽)。 - 移动端:sidebar 转**底部 tab 栏**(前台门户)或**左侧抽屉**(后台,因菜单项多);主内容单列;触摸目标 ≥44px。 - 平板:sidebar 折叠 64px,悬停展开。 - 栅格在窄屏降列数(12→6→1)。 - 禁止横向滚动;表格在窄屏转卡片或横向滚动容器(包 `overflow-x-auto`)。 - 必须 ``;固定导航需 `padding-top` 补偿高度,避免遮挡首屏内容。 ## 10. SEO & GEO 规范(前台必须) 平台需"不推广也能被搜索引擎与各大模型联网搜索(GEO)发现"。 ### 结构(语义化 HTML5) - 每页一个 `

`;区块用 `
` / `
`;技能卡用 `
` 包裹(标题 `

`/`

`)。 - 必须 ``、``、`<meta name="description">`、Open Graph 标签。 - 前台用 `<header><nav><main><footer>` 语义骨架;后台为应用壳,SEO 权重低。 ### 富媒体摘要(Rich Snippets / JSON-LD) - 技能页 / 技能卡:`SoftwareApplication` schema,含 `aggregateRating`、`offers`(`price:0` / 订阅)、`downloadCount`。 - 技能市场:`BreadcrumbList`;痛点 / FAQ 区:`FAQPage`。 - 预留展示槽:评分星、价格、下载量在卡片右上角(Lucide 图标 + 数字,非 emoji)。 ### 关键词突出(GEO 友好) - 核心词「无限Token」「AI变现」「办公提效」「低成本养龙虾(= 低成本微调 / 托管模型)」用 `.kw` 样式(品牌色 + 600 字重)在首页价值区高亮。 - `.kw { color: var(--color-accent); font-weight:600; }` ### 技术 - `sitemap.xml` + `robots.txt`;技能详情独立可索引 URL;所有图片 `alt`。 ## 11. 页面级布局总览(前台 + 后台) > 详细页级 override 将在实际开发时落入 `design-system/pages/*.md`(Master + Overrides)。此处为总览与验收基准。 ### 前台首页(Home) 1. 浮层玻璃顶栏(logo + 主导航 + 登录 / 注册) 2. Hero:轮播 Banner(技能广告位)+ 平台定位一句话 + 主 CTA 3. 平台定位区:图标 + 短文网格(痛点:API 贵 / Prompt 难调试 / 数据孤岛 / 无变现渠道) 4. 平台价值区:可视化数据点(低价订阅 / 无限 Token / 垂直办公模板 / 交易市场 / 低成本养龙虾) 5. 热门技能榜 Top5(排行榜 / 徽章) 6. Footer(SEO 链接 + 富媒体摘要) ### 技能市场(Skill Market) - 顶部广告位 → 左侧筛选(分类 / 场景标签)→ 右侧卡片流(每排 5,图标 / 名称 / 简介 / 下载量) - 分页:每页 100,上下翻页;每个技能 = `<article>` + JSON-LD ### 应用服务(Apps) - 网格布局;每应用独立卡片(名称 / 介绍 / 「进入应用」按钮) ### 用户工作台(Workspace,登录后) - 左侧固定导航:AI 聊天 / IM Bot(子:微信 / 企微 / 飞书 / QQ / 悟空 IM)/ 知识库 / 技能市场 / 应用服务 / Token 驾驶舱 / 会员订阅 / 进化看板 / 个人设置 - 右侧内容区留白;移动端导航转抽屉 ### 后台数据驾驶舱(Admin Dashboard) - 6 张 KPI 卡:总用户 / 7日活跃、模型统计(启用 / 全部)、对话统计(有效 / 活跃窗口)、知识库文档数、今日订阅(成功)、Token 消耗(今日 / 本周) - 大模型消耗趋势(近 30 天 面积图) - 操作日志 + 审计日志 双栏(每 20 条 / 页,可下载) - 其余后台:AI 技能中心 / 平台运营 / 商业变现 / 系统管理(标准 B 端布局,侧栏分类清晰) ## 12. Agent Prompt Guide > 当被要求"做/改一个七虎AI 的页面或组件"时,代理必须: > 1. 先读本文件(DESIGN.md)与 `design-system/MASTER.md`; > 2. 颜色/间距/圆角/字体一律引用 `:root` token,禁止新硬编码; > 3. 品牌色固定 `#5B5FED`,语义色仅表状态; > 4. 图标用 Lucide;代码/ID 用 JetBrains Mono; > 5. 组件带 hover + focus + 150–300ms 过渡; > 6. 完成后 `npm run build` 并确认 `dist` 含改动,再请用户硬刷新验收。 **快捷色板(供 prompt 引用)** ``` brand #5B5FED hover #4A4ECC light #EEEDFF bg #F8F9FB surface #FFFFFF tertiary #F1F3F7 text #101214 secondary #545A65 tertiary #8B919E ok #219B5E warn #E8922C err #D9383A info #3B82F6 border #E3E6EB sidebar #F5F6F9 font Inter / JetBrains Mono grad --gradient-brand (淡紫→淡青) / --gradient-brand-strong (靛蓝→青蓝 CTA) glass .glass (rgba(255,255,255,.65) + blur(16px) + 1px 白边) kw .kw 高亮关键词(无限Token/AI变现/办公提效) ``` **推荐 prompt 模板** - "在七虎AI 中新增一个 [页面],遵循 DESIGN.md 的 Warm Tech Minimalism 风格,品牌色用 #5B5FED,图标用 Lucide,间距用 token。" - "把 [组件] 改成符合 DESIGN.md §4 的卡片规范,hover 用 --shadow-lg + translateY(-2px)。" - "新增前台 [页面] 时遵循 DESIGN.md §10 的 SEO/GEO 规范:语义化 HTML5 + JSON-LD 富媒体摘要 + `.kw` 高亮核心词;Hero/Banner 可用 `.glass` 与 `--gradient-brand`。"