Skip to content

DiSecXi/KYTI

Repository files navigation

KYTI (科研TI)人格测试

MBTI 可能不准,但 KYTI 一定扎心

本项目完全开源,基于 B站UP主 @蛆肉儿串儿 的原创测试。

在线体验

👉 点击开始测试

说明

由于本项目基于https://github.com/pingfanfan 的SBTI项目,因此下面说明中存在一些与本项目不完全对应的内容,不过大体上没什么问题,

KYTI(科研TI)中一共包含30个人格类型和1个隐藏人格,这个隐藏人格有着悲惨的命运,希望你不会测出这个人格。

特性(该特性说明是pingfanfan的SBTI项目的原版说明,大致逻辑可以看一下)

  • 🧠 27种人格类型 — 25种标准类型 + 2种隐藏/兜底类型
  • 📊 15个评估维度 — 自我、情感、态度、行动、社交五大模型
  • 🎯 曼哈顿距离匹配 — 基于15维向量的科学匹配算法
  • 🍺 隐藏彩蛋 — 酒鬼人格触发机制
  • 📱 移动端优先 — 响应式设计,手机体验友好
  • 🔧 易于定制 — 数据与代码分离,改 JSON 即可创建你自己的测试

项目结构

├── data/                    # 测试数据(修改这里来定制)
│   ├── questions.json       # 题目和选项
│   ├── dimensions.json      # 15个维度定义
│   ├── types.json           # 人格类型和匹配模式
│   └── config.json          # 评分参数和显示配置
├── src/                     # 源代码
│   ├── engine.js            # 评分算法(纯函数)
│   ├── quiz.js              # 答题流程控制
│   ├── result.js            # 结果页渲染
│   ├── chart.js             # 雷达图(Canvas API)
│   ├── utils.js             # 工具函数
│   ├── main.js              # 入口
│   └── style.css            # 样式(CSS变量主题化)
├── docs/
│   └── analysis.md          # 数据分析报告
└── index.html

快速开始

# 克隆项目
git clone https://github.com/DiSecXi/KYTI.git
cd KYTI

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

定制你自己的测试

所有测试内容都在 data/ 目录下,修改 JSON 文件即可定制,无需改动代码。

修改题目

编辑 data/questions.json,每道题的结构:

{
  "id": "q1",
  "dim": "S1",
  "text": "你的题目文字",
  "options": [
    { "label": "选项A", "value": 1 },
    { "label": "选项B", "value": 2 },
    { "label": "选项C", "value": 3 }
  ]
}
  • dim 指定该题属于哪个维度
  • value 分值:1=低, 2=中, 3=高
  • 每个维度需要恰好2道题

添加新人格类型

编辑 data/types.json,在 standard 数组中添加:

{
  "code": "YOUR",
  "pattern": "HHH-HMH-MHH-HHH-MHM",
  "cn": "你的类型名",
  "intro": "一句话简介",
  "desc": "详细描述..."
}

pattern 是15个字母的L/M/H组合(按维度顺序:S1-S3, E1-E3, A1-A3, Ac1-Ac3, So1-So3),用 - 分隔每个模型。

调整评分参数

编辑 data/config.json

{
  "scoring": {
    "levelThresholds": { "L": [2, 3], "M": [4, 4], "H": [5, 6] },
    "fallbackThreshold": 60
  }
}

修改主题样式

编辑 src/style.css 顶部的 CSS 变量:

:root {
  --bg: #f0f4f1;
  --accent: #4c6752;
  /* ... */
}

评分算法

  1. 求和:每维度2题分值相加(范围2-6)
  2. 分级:≤3 → L(低),4 → M(中),≥5 → H(高)
  3. 向量化:L=1, M=2, H=3,生成15维数值向量
  4. 匹配:计算用户向量与每种类型的曼哈顿距离
  5. 排名:距离升序 → 精准命中降序 → 相似度降序
  6. 特殊覆盖:酒鬼彩蛋 > 正常匹配 > 傻乐者兜底(<60%)

部署

GitHub Pages(推荐)

Fork 本项目后,在 Settings → Pages → Source 选择 GitHub Actions 即可自动部署。

Vercel / Netlify

直接连接 GitHub 仓库,零配置自动识别 Vite 项目。

手动部署

npm run build
# 将 dist/ 目录部署到任何静态服务器

技术栈

  • Vite — 构建工具
  • 原生 JavaScript — 无框架依赖
  • Canvas API — 雷达图渲染
  • CSS Custom Properties — 主题化

致谢

声明

本测试仅供娱乐,请勿用于任何严肃场景。本项目为开源二创,如有侵权请联系删除。

License

MIT

About

本项目完全开源, 本项目基于 B站UP主@蛆肉儿串儿 的原创测试 及 GitHub user pingfan 的 SBTI 的开源项目, 本项目作者:DiSecXi (Xi YN), 有关材料学、电化学、量子化学实验手段与计算相关文章、专利指导需求,请联系B站UP主@DiSecXi (UID 1312790)。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors