我用Gemini手搓了高颜MBTI人格测试网站!附全套提示词

哈喽,大家好

我是阿星!👋

最近SBTI网站火了然后又被封了,

然后好多人问我要之前发过的这个网站提示词。(一个 Vite + React 项目)已经上线了

mbti-coral-seven.vercel.app/

👇请看大屏幕(去年11月的我真胖)

主要是市面上的测试基本要付费,于是我做了个🆓的顺手上线了。

电脑端

手机端

都能用

和大家看到的SBTI是一样的其实

你用google ai studio

做出来的东西都是这样的好几个端都可以同步适应的。

如果你不知道怎么上线可以看之前写的这个👉

今天不仅分享成品,更要分享背后的 开发流程

跟我走一遍,即使你是0基础,你也可以code出第一个高颜值网站!

第一步:打开Google AI studio

第二步:把提示词发过去

首先,我们是在google studio里做不假,

但是大家不要找错地方了。

我们是在build里点进去做,不是直接在playground里做。build就是专门用来做在线编程的,相当于你的云上编辑器,会比在playground里好一点。

我平常只要是想正经做的东西我都不会在playground里搞。

这段提示词直接发过去,

其实是把他当成一个精通 React、CSS 和 Google API 的前端视觉工程师来规定角色,

(什么是api?api就像是资源水龙头,在哪里打开模型的能力就会流向哪里,当然了,是要氪金的)

makefile 复制代码
📋 项目总提示词 (Project Master Prompt)
角色设定 (Role):
你是一位精通 React、Tailwind CSS 和 Google Gemini API 的高级前端工程师,擅长开发视觉精美、交互流畅且支持多语言的 Web 应用。

项目概况 (Project Overview):
开发一个双语(中文/英文)的 MBTI 16型人格测试 Web 应用。该应用包含精美的 UI 设计、基于 Web Speech API 的语音交互、基于 Google Gemini 的 AI 智能分析以及雷达图数据可视化。

技术栈 (Tech Stack):
Framework: React 19 (ES Modules via CDN, 无需构建步骤).
Styling: Tailwind CSS (via CDN).
Icons/Charts: Recharts (雷达图), SVG icons.
AI: @google/genai SDK (Gemini 2.5 Flash).
State Management: React Hooks (useState, useEffect).
核心功能需求 (Core Requirements):
多语言支持 (Bilingual):
全站必须支持中英文对照。
主要标题和内容以中文为主,英文为辅(通常作为小标题或注释)。

首页 (Home Page):
品牌标识: 标题或 Logo 处需展示 "阿星AI工作室" (Axing AI Studio)。强调 "永久免费" (100% Free)。
角色展示: 展示 16 种 MBTI 人格卡片。
分类颜色: NT(紫), NF(绿), SJ(蓝), SP(黄)。
卡片内容: 官方全身立绘 (不裁剪)、中文俗称/昵称 (如 "快乐小狗", "紫老头")、学名、名言。
交互细节:
点击卡片打开详细 Modal (模态框)。
点击卡片或 Modal 时,自动调用浏览器 TTS (Web Speech API) 朗读角色的中文名言。
Modal 内展示大图、双语描述、名言,并提供 "去测试这个性格" 的按钮。
测试页 (Quiz Page):
题目: 包含 12 道核心测试题,涵盖 EI, SN, TF, JP 四个维度。
UI: 顶部进度条,大字中文题目,小字英文题目。
选项: 4个选项 (非常反对 - 非常同意),带有明确的视觉反馈。
功能: 必须包含 "上一题" (Previous) 按钮,允许用户回退修改答案。

结果页 (Result Page):
数据处理: 根据用户评分计算 MBTI 类型 (如 INTJ)。
AI 分析 (Gemini): 调用 Gemini API 生成详细的 JSON 格式分析报告,包含:
总结 (Summary)
优势 (Strengths) & 劣势 (Weaknesses)
职业建议 (Career Path)
情感关系 (Relationships)
人生格言 (Motto)
可视化: 使用 Recharts 绘制雷达图,展示 8 个维度的得分倾向。
引流: 底部展示二维码 (QR Code) 引导关注 "阿星AI工作室"。
数据与素材规范 (Data & Assets):
头像: 使用官方风格的 16 Personalities SVG 全身立绘 (URL 格式: https://static.neris-assets.com/images/personality-types/avatars/{slug}.svg)。
昵称字段: 数据结构中需包含 aliasCn 字段用于存储趣味昵称 (例如: ENTJ - "大姐头", ENFP - "快乐小狗")。
视觉设计规范 (Design Guidelines):
字体: Inter (正文), Merriweather (衬线体用于引用/名言)。
风格: 现代、极简、圆润 (rounded-3xl)、柔和阴影 (shadow-xl)。
动画: 页面加载淡入 (fade-in),卡片悬停浮动效果。
代码结构 (Code Structure):
单文件组件结构 (在 src/ 目录下平铺,不嵌套文件夹)。
types.ts: 定义所有接口。
constants.ts: 存储所有静态数据(角色、题目、昵称)。
services/geminiService.ts: 封装 AI 调用逻辑。

有几个关键规定也说一下:

页面是双语的,你也可以直接跟他说根据用户浏览器适配对应的语言。那么中文的人打开后会适配中文,英文作为浏览器语言的人会适配英文。

技术栈要做一个总述规定,页面结构要强调标题 Logo 放哪、正文放哪。

把这些发过去点 Build 之后,效果就出来了。

第三步:验收产出物

提示词发过去代码大概5分钟就出来了。

标题层级非常清晰,第一行色号、第二行字号都很规范。

在两行标题中间------也就是视觉最集中的地方------安放了"开始免费测试"的按钮。

它对布局有自己的思考,大标题下的衬线字体也起到了装饰作用。

往下看那些会发音的卡片,

发音用的是浏览器自带的 Speech API,这里不需要你自己去接什么AI语音api。

而且每个人物配的那句话是 AI 自己生成的,

不是我们规定的。

比如"效率是最高形式的美",说明它对人物口头禅有自己的理解。

做题体验上也做了简化

答题时用红色🔴和绿色🟢的 UX 做直观处理,

因为很多人做测试最大的痛点就是脑子里想着上一题、眼睛看着选项,手眼不协调,

题目一多脑力负担就大。现在用红绿色块,余光一扫就明白意思。

整个流程一共 12 题,轻负担,不到两分钟就能出 Report。

Report 页面的内容全部是 AI 生成的,这么设计是为了避免"千人一面"------比如你是 J 人但 P 的得分也高,它就会在报告里说明:"虽然你是 J 人,但你的 P 方面是怎样怎样的"。

(不是infp,我是高贵的intj,下面这个是乱点的)

比如同样是 INFJ,如果你 T 值偏高,Gemini 会分析出你比普通 INFJ 更理性;

职业建议、情感分析全部是 AI 实时生成。

这才是真正的定制化报告,每个人看到的建议都是独一无二的!

SVG 有三个特点

结果页上方有 icon,用的是 SVG。

1️⃣ 文件体量小,网页负担低

2️⃣ 通过 CDN 加载,来源是国外的 16Personalities 网站,加载速度很快

3️⃣ 矢量高清,怎么放大都不模糊,而且是透明底的,能和页面底色自然适配,不会出现背景冲突

为什么 Gemini3 会把人物 icon 放在这里?

因为测完结果后需要快速和用户建立视觉链接,这个 icon 就起到了视觉锚定作用。下面那行衬线字是对人物特性的核心概括,相当于一个 Summary。

再下面的 Tag 则让你快速掌握自己的特色,下面的社群banner也起到汇聚作用------测出是 ENTJ 后,就能和同类相聚。

为什么用雷达图?

数据分析部分用的是 Recharts 这个技术栈,它专门服务于图表。现在看到的雷达图只是其中一种。

这和 MBTI 的原理有关:

MBTI 是基于四个基准、八个方向做的心理测评,所以雷达图正好能从八个维度展示你哪里强、哪里弱。这个主意是 Gemini3 自己选的,我完全没提醒它要用哪种图表。

右边就是常见的"你的缺点"(又怕又想看)、职业建议和情感关系部分。如果对测试结果不信,点"重新测试"就能直接回到题目页面再来一次。

如果你想要更多

如果你想进一步优化,右上角直接搞到本地去改。(就是弹出来的zip解压后拖入codex、trae等编程额软件即可)。

为啥要搞到本地?

1、因为你在google ai studio上用的是人家的api,你弄到本地好换成自己的DeepSeek或者kimi之类的国产模型。你换模型是要改api代码的,你到时候部署到vercel或者别的平台,让全世界的人去用,也是要让ai给你改一些代码的。所以你弄到本地更方便。

而且一开始在studio里写的report可能比较简单,到了本地之后优化一下,让ai强制基于 8 个分数 + 4 组维度差值来写,不是泛泛模板。

2、如果你要夹带私货最好自己在本地加文件

你在google studio上要上传可能更麻烦在本地随便拖就行了。

部署到vercel

具体步骤可以看我之前的三种部署方法

简单来说就是两部

1、推到github

2、去vercel里部署并补充变量

打开 Vercel -> Add New Project -> 导入该仓库。

Framework 选 Vite(通常自动识别)。

Build 设置确认:

Build Command: npm run build,

Output Directory: dist。

在 Environment Variables 添加:

    1. DEEPSEEK_API_KEY=你的新key
    1. DEEPSEEK_MODEL=deepseek-chat
    1. 可选 DEEPSEEK_BASE_URL=deepseek的api 地址

点 Deploy。如果你更新了代码也可以重新部署。

部署后打开站点,做一轮测试到结果页,确认正常返回。需要正式域名就到 Domains 里绑定。

以前写这种全栈应用要很久,现在有 AI 辅助,前端只负责"美",Gemini 负责"强"!这种 AI + 前端的开发模式真的太上头了!

ok,我是阿星

更多AI应用

我们下期再见👋

相关推荐
龙文浩_3 小时前
AI NLP核心技术指南
人工智能·pytorch·深度学习·神经网络·自然语言处理
血小溅4 小时前
大脑与双手的分离:Claude Code vs Managed Agents 深度对比指南
人工智能
星爷AG I4 小时前
19-4 模糊语言学(AGI基础理论)
人工智能·agi
格林威4 小时前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机
SkyXZ~4 小时前
从零开始的双臂具身VLA起源及现阶段发展综述
人工智能·机械臂·具身智能·vla·openvla·双臂具身·具身智能综述
AIData搭子4 小时前
高并发场景下,如何让你的向量语义检索快人一步?
人工智能
江南月4 小时前
让智能体边想边做:从 0 理解 ReActAgent 的工作方式
前端·人工智能
AI攻城狮4 小时前
Vibe Coding 时代:为什么你不应该盲目启用 AI 编码插件
人工智能·云原生·aigc
两万五千个小时4 小时前
Claude Code 源码:Agent 工具 — 多 Agent 的路由与定义机制
人工智能·程序员·架构