Files
sub2api/docs/superpowers/specs/2026-04-19-puro-ai-landing-auth-design.md
puro design 332d46cde7
Some checks failed
CI / test (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
Security Scan / backend-security (push) Has been cancelled
Security Scan / frontend-security (push) Has been cancelled
docs: PURO AI landing+auth redesign spec [CI SKIP]
Stage 1 brainstorm 产出:
- 风格方向:暗黑科技(cyan/purple on slate-950)
- Landing 6 sections + 完整中文文案
- Auth 左右分栏 + "5→1" 数字对比叙事
- 给 claude.ai/design 的 brief(可直接复制)
- Stage 3 实施约束(Vue 3 + Tailwind + i18n 对齐)

下一步:user 拿 brief 到 claude.ai/design 出视觉稿(Stage 2)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 16:23:20 +08:00

14 KiB
Raw Blame History

PURO AI · Landing + Auth 重设计

2026-04-19 · 分支 feat/design-landing-auth

本文档是「PURO AI 公开页面重设计」的设计 spec

  • Stage 1已完成 brainstorm:信息架构 + 中文文案 + 风格方向 + 布局选型
  • Stage 2待执行 user:拿本文档去 https://claude.ai/design 产出高保真视觉稿
  • Stage 3待执行 Claude Code:把视觉稿翻译成 Vue 3 组件,对齐 Tailwind / router / i18n
  • Stage 4待执行 CImerge → Drone CI → ai.puro.im 实机验证

1. 项目背景

公开品牌名 PURO AI
内部代码名 sub2apiWei-Shaw/sub2api fork不改
域名 https://ai.puro.im
现状 登录后是 Vue 3 + Tailwind 后台;无公开首页;登录页用浅色 AuthLayout
目标受众 个人开发者 / 小团队 — 已有 ChatGPT Plus / Claude Pro / Codex / Gemini 订阅,想程序化调用而不付 API 费率
核心叙事 "你的 AI 订阅,已经付过钱了"——把已付订阅复用为 API

2. 风格方向

暗黑科技Dark Tech—— 对标 Linear / Vercel / Railway / Supabase / Cloudflare Workers。

配色(建议)

角色 色值 用途
主底 #0a0e1a ~ #0f172a 页面背景slate-950 区间
卡片底 #0f172a 表单卡片、特性卡
边框 #334155 次要边框
主文 #f8fafc 标题
副文 #94a3b8 ~ #cbd5e1 描述、菜单
主品牌色 #22d3eecyan-400 Logo、CTA、链接
辅品牌色 #a855f7purple-500 渐变叠加、装饰光晕
警示 #fbbf24amber-400 "💡"标签、数字对比

视觉语汇

  • 暗底上圆形 radial gradient 光晕(青/紫双色)
  • 等宽字体ui-monospace / SF Mono用于 code demo
  • 主体字体sans-serifInter / SF Pro / 系统默认)
  • 边框 1px 实线 / 关键分割用 dashed
  • CTA 圆角 8px卡片圆角 12px
  • 不要拟物、不要软阴影、不要 Bootstrap 4 那种 gradient 按钮

排版氛围

  • 大量留白
  • 标题大、字距稍紧letter-spacing -0.02em
  • 内容居中收敛max-width ~1100px

3. Landing 页(路由 /,未登录态)

3.1 信息架构

NAV     · ⬢ PURO AI · 产品 · 文档 · [登录][免费试用]
① HERO  · 主标 + 副标 + CTA×2 + 微文案
② 模型墙 · 4 个支持的 AI 平台Claude / ChatGPT / Codex / Gemini
③ 三特性 · ⚡ 一个 key 多模型 · 🔄 账号池高可用 · 📊 用量看板
④ Code Demo · codex config 片段 + curl 示例
⑤ Dashboard · 真实截图 + 文案
⑥ Footer · 4 列(品牌 / 产品 / 资源 / 联系)

3.2 完整中文文案

NAV

  • Logo: ⬢ PURO AI
  • 菜单: 产品 · 文档 · 定价(暂隐)
  • 右侧: [登录] [免费试用 →]

① HERO

  • 主标: 你的 AI 订阅,已经付过钱了。
  • 副标: Claude Pro · ChatGPT Plus · Codex · Gemini 订阅
    聚合成统一 API零改动接入 OpenAI / Anthropic SDK
  • CTA: 立即开始 → 查看文档
  • 微文案: 无需信用卡 · 用你已有的订阅 · 5 分钟跑通

② 模型墙

  • 小标题: 支持的 AI 平台
  • 副标: 通过 OAuth 直接复用你的订阅,无需申请官方 API key
  • Logos:
    • Claude Pro / Max
    • 🟢 ChatGPT Plus / Pro
    • 🟡 Codex CLI
    • 🔵 Gemini Code Assist
    • 更多(规划中,灰显)

③ 三大特性

图标 标题 描述
一个 key 接所有模型 不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini按 model 自动路由到对应账号池。
🔄 账号池高可用 多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。
📊 用量看板 每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。

④ Code Demo

  • 标题: 把 base_url 一改,就能用
  • : 兼容 OpenAI / Anthropic / Gemini SDK零代码改动
  • 代码块:
    # Codex CLI
    # ~/.codex/config.toml
    [model_providers.OpenAI]
    base_url = "https://ai.puro.im"
    wire_api = "responses"
    
    # 或直接 curl
    $ curl https://ai.puro.im/responses \
        -H "Authorization: Bearer sk-xxx" \
        -d '{"model":"gpt-5.4","input":"hello"}'
    
  • 底注: 支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket

⑤ Dashboard

  • 标题: 每条请求都看得见
  • : 不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。
  • : 截图占位 → 实施时取 ai.puro.im 实拍(模型分布饼图 + Token 趋势 + Top 模型 + 性能指标)
内容
品牌 ⬢ PURO AI
Self-hosted on puro.im
© 2026 puro.im · MIT License
fork of Wei-Shaw/sub2api
产品 文档 · 套餐(暂隐)· 更新日志
资源 GitHub · API 状态 · Codex 配置示例
联系 admin@puro.im · git.puro.im

4. Auth 页(登录 / 注册)

4.1 布局选型:左右分栏

┌─────────────────────────┬─────────────────────┐
│  左:品牌叙事区          │  右:表单区          │
│  - Logo                 │  - 标题(登录/注册)  │
│  - 主标语5→1 对比)    │  - 副标               │
│  - 副文(双卖点排比)     │  - email / password  │
│  - 装饰光晕 cyan/purple │  - CTA                │
│  - 底栏小字(支持平台)   │  - 切换链接           │
└─────────────────────────┴─────────────────────┘

移动端:左侧叙事降级为顶部小 banner 或完全隐藏,单列表单。

4.2 左侧叙事文案

  • Logo: ⬢ PURO AI

  • 主标语:

    5 个订阅
    1 个 key

    数字 5 用 amber/orange 强调;1 用主品牌色 cyan 强调。

  • 副文(三句排比):

    省去切换账号的繁琐,
    省去为多个高昂订阅重复买单。
    PURO纯粹—— 让 AI 调用回归本质。

  • 底栏小字: Claude · ChatGPT · Codex · Gemini

4.3 右侧表单

登录页(/login

  • 标题: 登录
  • 副: 用你的 PURO AI 账户继续
  • 字段:
    • 📧 邮箱input, type=email, required
    • 🔒 密码input, type=password, required, 带眼睛切换显示)
  • 选项:
    • 忘记密码router-link
    • Turnstile captcha条件显示
  • CTA: 登录 →
  • 分隔:
  • OAuth 按钮(条件显示):
    • 使用 LinuxDO 登录
    • 使用 OIDC 登录
  • 底部链接: 没有账户?注册

注册页(/register

  • 标题: 创建账户
  • 副: 5 分钟开始用 PURO AI
  • 字段:
    • 📧 邮箱
    • 🔒 密码
    • 🔒 确认密码
    • (可选)邮箱验证码(条件显示,配置 email_verify_required 时)
  • Turnstile captcha条件
  • CTA: 创建账户 →
  • 底部链接: 已有账户?登录

其他保留页(不重设计本期)

  • /forgot-password
  • /reset-password
  • /verify-email
  • OAuth 回调页

5. 给 claude.ai/design 的 briefStage 2 输入)

复制下方文字到 https://claude.ai/design

我要做两个网页设计,请帮我生成高保真 HTML/React 视觉稿。

## 品牌
名字PURO AI拉丁语「纯粹」
Logo六边形 ⬢ + 文字
域名ai.puro.im
定位:把多个 AI 订阅Claude Pro / ChatGPT Plus / Codex / Gemini聚合成统一 API
核心叙事:你的 AI 订阅,已经付过钱了

## 风格
暗黑科技风,对标 Linear / Vercel / Railway。
配色:
- 主底 #0a0e1a / #0f172aslate-950 区间)
- 主品牌色 #22d3eecyan-400
- 辅品牌色 #a855f7purple-500
- 强调色 #fbbf24amber-400仅用于数字对比
- 主文 #f8fafc副文 #94a3b8 ~ #cbd5e1
- 卡片/表单底 #0f172a边框 #334155

视觉元素:
- 暗底上 radial gradient 光晕(青/紫双色60% 透明度blur
- 大量留白max-width 1100px
- 圆角CTA 8px卡片 12px
- 字体Inter 或 SF Prosans-serif代码用 ui-monospace
- 不要拟物、不要软阴影、不要 gradient 按钮

## 页面 1Landing路由 /,未登录)
6 个 section + 顶部 nav全部中文。

NAV
- 左:⬢ PURO AI
- 中:产品、文档(定价灰显)
- 右:[登录](边框)[免费试用 →]cyan 实底)

① HERO居中垂直 padding 大)
主标:你的 AI 订阅,**已经付过钱了。**
"已经付过钱了" 用 cyan 高亮)
副标Claude Pro · ChatGPT Plus · Codex · Gemini 订阅
聚合成统一 API零改动接入 OpenAI / Anthropic SDK
CTA[立即开始 →][查看文档]
微文案(小灰字):无需信用卡 · 用你已有的订阅 · 5 分钟跑通

② 模型墙
小标题:支持的 AI 平台
副:通过 OAuth 直接复用你的订阅,无需申请官方 API key
横排 5 个 logo 卡片Claude Pro/Max · ChatGPT Plus/Pro · Codex CLI · Gemini Code Assist · 更多(灰显)

③ 三特性3 列卡片)
卡片 1⚡ 一个 key 接所有模型 / 不再为每个 provider 申请 API key、配置 base_url。统一 sk- 走 Claude / GPT / Gemini按 model 自动路由到对应账号池。
卡片 2🔄 账号池高可用 / 多账号自动调度。某个 ChatGPT Plus 触发限流,自动 failover 到下一个。重启、刷新 token 全自动。
卡片 3📊 用量看板 / 每条请求的 tokens、费用、上游账号、延迟全可视化。模型分布饼图 + 趋势曲线 + Top 排行。

④ Code Demo
标题:把 base_url 一改,就能用
副:兼容 OpenAI / Anthropic / Gemini SDK零代码改动
代码块(深色 terminal 配色syntax highlight
- 上方一段 tomlcodex config
- 下方一段 bashcurl 示例)
底注小字:支持 OpenAI Responses API · Anthropic Messages API · Gemini generateContent · 流式 SSE & WebSocket

⑤ Dashboard
标题:每条请求都看得见
副:不像第三方 API 池子那种"扣了多少不告诉你"。你能看到每次调用:扣了哪个账号、跑了哪个模型、用了多少 tokens、花了多少钱、上游响应几秒。
图dashboard 截图占位(深色饼图 + 折线图 + 表格)

⑥ Footer
4 列:
- 品牌列:⬢ PURO AI / Self-hosted on puro.im / © 2026 puro.im · MIT / fork of Wei-Shaw/sub2api
- 产品列:文档 · 套餐(暂隐)· 更新日志
- 资源列GitHub · API 状态 · Codex 配置示例
- 联系列admin@puro.im · git.puro.im

## 页面 2登录页路由 /login
左右分栏,桌面端 50/50 分。

左侧(叙事区):
- 顶部 Logo⬢ PURO AI
- 中部主标5 个订阅 → 1 个 key
  5 用 amber #fbbf24 强调1 用 cyan #22d3ee 强调,字号 36-48pxweight 800
- 主标下副文(三句排比):
  省去切换账号的繁琐,
  省去为多个高昂订阅重复买单。
  PURO纯粹—— 让 AI 调用回归本质。
- 底部小字Claude · ChatGPT · Codex · Gemini
- 背景linear-gradient(135deg, #0a0e1a, #1e1b4b) + 角落 radial gradient 光晕cyan + purple

右侧(表单区):
- 标题:登录
- 副:用你的 PURO AI 账户继续
- 邮箱输入(带 📧 icon
- 密码输入(带 🔒 icon + 眼睛切换显示)
- 行:忘记密码?(右对齐链接)
- 主 CTA登录 →cyan 实底)
- 分隔:—— 或 ——
- OAuth 按钮:使用 LinuxDO 登录(边框样式)
- 底部:没有账户?注册(链接)

移动端:左侧叙事区收为顶部小 banner只保留 Logo + 短主标),表单全宽。

## 页面 3注册页路由 /register
和登录页同布局,右侧表单字段:
- 标题:创建账户 / 副5 分钟开始用 PURO AI
- 邮箱、密码、确认密码
- 主 CTA创建账户 →
- 底部:已有账户?登录

请生成完整可预览的 HTML含 inline CSS或 React 组件。

6. Stage 3 实施约束(给未来的我看)

技术栈(不改动):

  • Vue 3.4+ Composition API + TypeScript
  • Tailwind CSS已配 dark mode、primary-* 色板)
  • Vite 5
  • Vue Router 4 / Pinia / vue-i18n
  • 现有组件库(@/components/common@/components/layout/AuthLayout

实施要点:

  1. Landing 页是新页:新建 frontend/src/views/landing/HomeView.vue;改 router/index.ts,未登录访问 / 显示 landing已登录跳 /dashboard
  2. Auth 页改造:改 frontend/src/components/layout/AuthLayout.vue 为左右分栏;改 LoginView.vue / RegisterView.vue 适配新 layout保留所有现有逻辑OAuth、Turnstile、2FA、表单校验
  3. i18n:新文案进 frontend/src/i18n/locales/zh.ts;本期只补中文(默认语言),英文 key 留空 / 复用现有
  4. Tailwind 配色:如果新色值不在 tailwind.config 里,按需扩展 colors.brand / colors.accent
  5. Dashboard 截图:实施时手动截 ai.puro.im 后台 → 放 frontend/public/landing/dashboard.png
  6. 不动的Setup Wizard / 后台所有页面 / API 层 / store

7. 验收标准

  • 未登录访问 https://ai.puro.im/ → 看到 PURO AI Landing 页
  • 已登录访问 https://ai.puro.im/ → 跳到 /dashboard保持现有行为
  • Landing 6 个 section 内容全部呈现,移动端可堆叠
  • /login 是左右分栏布局,文案与 spec 一致
  • /register 同上
  • 所有现有 auth 功能OAuth、Turnstile、2FA、密码重置仍可用
  • 后台所有页面dashboard、账号管理、API key 等)外观不变
  • CI 构建通过,部署后 ai.puro.im 加载正常