This repository has been archived on 2026-08-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Hulumath-Web-Demo/docs/产品文档/产品设计PRD.md
T
2026-08-08 15:49:06 +08:00

488 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数学脑 · 产品设计 PRD
> 版本:v1.0 | 状态:草案 | 更新日期:2026-06
---
## 一、产品概要
### 1.1 产品定义
**数学脑** 是一款以"乐"为核心的数学兴趣社区 App(Web 端适配移动端)。通过视频发现、知识卡片、数学专业模拟器、互动视觉小说等多元内容形态,让用户在没有学习压力的环境下,重新认识数学的美感与用处。
**一句话**:让中小学生通过"模拟大学数学专业"等沉浸式体验,在爽的过程中爱上数学;让成年人通过知识卡片和视频,碎片化刷新对数学的认知。
### 1.2 核心定位
| 维度 | 定位 |
|------|------|
| 用户心智 | "数学也可以很有趣"——兴趣消遣型,非目标驱动型 |
| 对标参考 | B站(内容发现)+ Duolingo(游戏化留存)+ 卵石实习生(模拟体验) |
| 差异化 | 数学垂类唯一提供"大学数学专业全流程模拟"的产品 |
| 公益属性 | 支教场景作为分发渠道,促进教育公平 |
### 1.3 目标用户
| 优先级 | 用户群 | 核心场景 |
|--------|--------|---------|
| 短期主打 | 中小学生(12-18岁) | 刷视频发现数学的用处;玩模拟器体验"大学数学专业是什么样" |
| 长期沉淀 | 成年人(18-35岁) | 碎片时间读知识卡片;在视觉小说中体验数学+武侠跨界叙事 |
| 渠道用户 | 支教志愿者 & 支教地学生 | 通过支教项目接触到 App,作为辅助教学/兴趣引导工具 |
### 1.4 不做的事
- **不做刷题**:不以应试提分为目标
- **不做论坛/UGC**:不开放用户发帖、评论、私信等社交功能
- **不做广告**:商业化不依赖信息流或视频贴片广告
- **不做氪金**:无内购抽卡、虚拟币充值
### 1.5 产品理念
> **乐为核心。** 用户不需要"学到"什么——而是玩了之后,无意中感受到数学的妙处。
>
> **内容纯净。** 无社交陌生人、无氪金引导。家长放心,孩子喜欢。
>
> **支教为渠道。** 通过常青藤支教队等公益网络,把 App 带到教育资源薄弱地区。
---
## 二、功能架构
### 2.1 四大主模块
```
数学脑
┌────────────────────┼────────────────────┐
│ │ │
🟠 发现 🔵 知识 🟢 数学人生
(视频发现流) (知识卡片流) (沉浸式体验)
│ │ │
┌───────┼───────┐ │ ┌────────┼────────┐
│ │ │ ┌────┼────┐ │ │ │
推荐 热门 专业分区 Hero 话题 卡片 数学专业 葫芦侠行
(12) 大卡 标签 流 模拟器 互动小说
┌─────┼─────┐
大一~大四 8章93节点
全流程模拟 8+种结局
🟣 我的
(个人中心)
┌───────────┼───────────┐
│ │ │
个人信息 我的内容 更多设置
```
### 2.2 全局功能
| 功能 | 说明 | 入口 |
|------|------|------|
| AI 数学助教 | DeepSeek 大模型驱动的对话式问答 | 任意页面右上角按钮 |
| 底部 TabBar | 四个模块切换入口 | 始终可见 |
| 顶部品牌栏 | "数学脑"品牌标识 + AI入口 | 始终可见 |
| 家长模式 | 使用时长统计 + 内容消费报告 | "我的"页面 |
### 2.3 模块详情
#### 🟠 发现 · 视频发现流
**定位**B站式数学垂类视频发现入口。
**组成**
- **顶部搜索栏**:支持按标题、描述、作者、学科搜索
- **子导航**:推荐 / 热门 / 专业分区
- **12 个专业分区图标网格**:人工智能、计算机、电子信息、微电子、机械工程、自动化、能源动力、化工材料、生物医学、经济管理、环境工程、数学建模
- **双列视频卡片流**:封面 + 标题 + 作者 + 时长 + 观看量
- **视频详情弹窗**:标题、简介、作者、学科标签、外部链接跳转
**数据**:当前内置 54 条占位视频(各学院志愿者提供),来自 seed_videos.json → SQLite。
**交互**
- 点击分区图标 → 展示该学科专属视频列表 + 返回按钮
- 点击视频卡片 → 弹出详情弹窗
- 搜索实时过滤
---
#### 🔵 知识 · 知识卡片流
**定位**:类似小红书/得到 App 的轻量数学知识发现,非视频形态。
**组成**
- **每日 Hero 大卡**:渐变深蓝背景,今日主题 + 阅读统计
- **横向滚动话题标签**:统计陷阱、概率思维、几何直觉、逻辑悖论、数学模型、博弈策略、数列之美、混沌理论
- **信息流卡片(当前6张)**
- 每张卡片包含:渐变色彩封面 + 一个引人思考的"问题" + 知识标题 + 描述 + 阅读时间
- 点击卡片 → 呼出 AI 助教深入探讨该主题
**示例卡片**
- 被平均数骗过的所有人(你和马云的平均财富是多少?)
- 彩票:一场精心设计的数学税(2元博500万,值不值?)
- 为什么所有地图都在骗你(格陵兰岛有非洲大吗?)
**交互**
- 点击话题标签 → 高亮筛选
- 点击卡片 → 一键呼出 AI 深入追问
---
#### 🟢 数学人生 · 沉浸式体验
**定位**:整个产品的核心差异化模块,包含两个独立子功能。
##### 子功能一:数学专业模拟器(P0 主打)
**定位**:让学生"跑完四年大学数学专业的全流程",在模拟中选择方向、面对挑战、最终走向不同结局。参考卵石实习生 App 的模式。
**结构**:8学期(大一上→大四下),每学期约10-15个事件节点。
**核心循环**
```
选课 → 上课(课堂事件选择题)→ 期中考试 → 课外活动与社交 → 期末考试 → 学期结算 → 暑假事件 → 下学期
```
**大三专业分流**(核心关卡):
```
纯数学 应用数学 统计学
├─ 分析(实变/泛函) ├─ 计算数学(数值分析) ├─ 数理统计
├─ 代数(抽象代数) ├─ 金融数学(随机过程) ├─ 数据科学
└─ 几何(微分几何) └─ 生物数学(生物信息) └─ 精算
```
**属性系统**:GPA、学术倾向、社交值、兴趣值、精力值(有限分配)
**毕业结局**:数学博士、量化交易员、高中教师、数据科学家、数学作家、转行程序员、退学创业者等。
**指标**:用户留存率、日均访问次数、完整跑完四年的用户比例。
##### 子功能二:葫芦侠行 · 互动视觉小说
**定位**:北宋数学武侠背景的 8 章完整互动剧情。基于原创小说《葫芦侠行》改编。是深度内容的沉淀,适合喜欢叙事体验的用户。
**规模**:8章 × 约12节点/章 = 93个交互节点
**属性系统**:数理根基、侠义声望、心志韧性、关键角色好感度
**结局**:8+ 种(真相守望 / 数理宗师 / 逍遥江湖 / 出海远航 / 悲情英雄 / 堕落之路 / 冤狱 / 虚无)
**当前状态**:已开发完成,可运行。
---
#### 🟣 我的 · 个人中心
**定位**:标准 App 个人中心,个人信息管理 + 数据概览 + 家长入口。
**板块**
- **个人卡片**:头像 + 昵称 + ID + 身份标签(紫色渐变背景)
- **数据统计**:已看内容数、收藏专题数、剧情存档数
- **个人信息**:昵称与头像、兴趣方向、学习偏好
- **我的内容**:我的收藏、观看记录、数学人生存档
- **更多**:设置与帮助、意见反馈
- **家长模式**(规划中):本周使用时长、内容消费分布、知识点图谱
---
### 2.4 后续规划功能
| 优先级 | 功能 | 说明 |
|--------|------|------|
| P1 | 工具箱/趣味计算器 | 概率模拟器、数学魔术生成器、π查询器、分形画廊。作为留存工具,填补碎片时间 |
| P1 | AI 数字人视频生成 | AI写稿 + TTS语音 + 静态数字人播报,降低视频制作成本 |
| P1 | 数学冷知识随机卡片 | 摇一摇或点击刷新,轻量互动 |
| P2 | 双语支持(i18n) | UI文案抽离、故事双语JSON、视频双语描述 |
| P2 | 支教场景定制 | 为支教志愿者提供教学辅助功能、学生进度追踪 |
| P3 | 学习报告/周报 | 每周生成内容消费总结,可分享给家长 |
---
## 三、交互与UI规范
### 3.1 布局
| 规范 | 值 |
|------|------|
| 容器宽度 | `min(390px, 100vw)`iPhone 标准比例) |
| 全屏高度 | `100dvh` |
| 安全区 | `env(safe-area-inset-top)` / `env(safe-area-inset-bottom)` |
| 桌面端 | 居中 + `border-radius: 34px` + 阴影(模拟设备壳) |
| 字体 | `-apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei` |
### 3.2 底部 TabBar
- 四个入口图标:CSS 伪元素绘制,简约风格
- 背景:白色半透明 + `backdrop-filter: blur(18px)` 玻璃感
- 激活态:对应模块主色的浅色背景高亮
- 适配 safe-area 底部留白
### 3.3 色彩语义
| 模块 | 主色 | 色值 |
|------|------|------|
| 发现 | 暖橙 | `#F97316` |
| 知识 | 蓝色 | `#3B82F6` |
| 数学人生 | 绿色 | `#10B981` |
| 我的 | 紫色 | `#8B5CF6` |
切换模块时,全局 CSS 变量 `--accent` 动态替换,顶部品牌栏和视觉小说内角色名同步变色。
### 3.4 响应式
- 移动端:全宽,safe-area 适配
- 桌面端(≥480px):居中显示在模拟设备壳中,上方和两侧留白
---
## 四、技术架构
### 4.1 技术选型
| 层级 | 技术 | 用途 |
|------|------|------|
| 后端 | FlaskPython | 路由、API、SQLite 管理 |
| 数据库 | SQLite | 视频数据、行为日志 |
| 前端 | 原生 HTML5 + CSS3 + Vanilla JS | SPA 页面切换、视觉小说引擎 |
| AI | DeepSeek Chat API | AI 数学助教对话 |
| 数据 | JSON 文件 | 剧情节点树、种子视频 |
### 4.2 API 接口
| 路径 | 方法 | 返回 | 说明 |
|------|------|------|------|
| `/` | GET | HTML | SPA 首页 |
| `/api/videos` | GET | `{code, data, disciplines}` | 视频列表 + 学科分类 |
| `/api/chat` | POST | `{code, reply}` | AI 对话 |
| `/api/story` | GET | `{code, data}` | 互动剧情 JSON |
| `/api/log` | POST | `{code, msg}` | 行为日志 |
| `/api/students` | GET | `{code, data}` | 学生列表(B端预留) |
### 4.3 视觉小说引擎
共用引擎,数据隔离:
- `seed_story.json` → 葫芦侠行(93节点,已完成)
- `seed_simulator.json`(待建)→ 数学专业模拟器(约100-120节点)
引擎特性:打字机效果、四属性系统、章节自动检测、localStorage 存档/读档/重置、选项效果预览。
### 4.4 多端支持
```
┌─────────────────────┐
│ Flask 后端 + SPA │
│ (同一套代码) │
└─────────┬───────────┘
┌───────────────┼───────────────┐
│ │ │
浏览器访问 PWA 安装 小程序 web-view
(HTTP/HTTPS) (manifest.json) (壳包 + 嵌入URL)
```
不开发独立原生 App。通过 PWA + 各平台小程序 web-view 实现多端覆盖。需要 HTTPS 域名部署。
---
## 五、内容策略
### 5.1 内容矩阵
| 类型 | 数量 | 来源 | 更新频率 |
|------|------|------|---------|
| 科普视频 | 54条(占位) | 各学院志愿者 + 未来 AI 生成 | 周更 |
| 知识卡片 | 6张 | 团队原创 | 周更 |
| 话题标签 | 8个 | 团队精选 | 月更 |
| 葫芦侠行 | 93节点 | 原创小说改编 | 已完成 |
| 数学模拟器 | ~120节点 | 团队设计 | 开发中 |
### 5.2 AI 助教
- 引擎:DeepSeek Chat
- 系统提示词设定:面向中小学生的数学引导者,200字以内,生活化语言
- 触发点:知识卡片点击、任意页面右上角按钮、快捷提问按钮
- 快捷提问:数学与医学 / 数学与建筑 / 数学与AI / 为什么要学
### 5.3 AI 数字人视频(P1规划)
| 阶段 | 做法 | 单条成本 |
|------|------|---------|
| MVP | AI写稿 → 人工录旁白 → 画面剪辑 | 几乎零 |
| v1 | AI写稿 + TTS语音 + 静态数字人播报 | ¥5-15 |
| v2 | 数字人 + AI辅助画面 + 人工精修 | ¥20-50 |
### 5.4 双语规划(P2
- UI 文案抽离为 `i18n/zh.json` / `i18n/en.json`
- 视频标题/描述增加英文字段
- 互动剧情准备英文版 JSON
- AI 助教检测用户输入语言并切换提示词
- 英语社区冷启动路径:Reddit r/math、Product Hunt、YouTube 数学频道合作
---
## 六、用户留存与增长
### 6.1 用户路径
```
第一次打开 ──→ 发现页刷视频(B站式,零门槛)
┌──────────────┼──────────────┐
│ │ │
看到感兴趣的 刷到知识卡片 听说"模拟器"
学科视频 点开AI追问 想试试
│ │ │
└──────────────┴──────────────┘
进入数学人生模块
┌──────────────┼──────────────┐
│ │
数学专业模拟器 葫芦侠行
(主打留存) (深度内容)
每天打开,推进学期进度
分享"我的数学人生结局"截图
```
### 6.2 增长策略
| 阶段 | 策略 |
|------|------|
| **种子期** | 高校数学社团合作、B站/小红书数学科普KOL试用推荐 |
| **增长期** | 模拟器结局截图社交分享裂变、微信小程序上线、家长社群传播 |
| **规模化** | 与教育机构合作内置、学校采购、海外 Reddit/Product Hunt 推广 |
### 6.3 支教渠道
- 与常青藤支教队等公益组织合作
- App 作为支教志愿者的辅助教学工具
- 支教地学生通过 App 接触更丰富的数学内容
- 不改变产品形态——支教是分发渠道,不是产品内核
---
## 七、盈利模式
### 7.1 原则
- 学生端永远免费
- 不伤害公益初心
- 不做广告、不做氪金
- 不接受纯捐赠模式
### 7.2 路径
**主要路径:ToB 教育采购**
- 学校/教育局采购 App 作为辅助教学工具
- 按学生数量或服务等级收费
- 与支教项目经费挂钩:支教本身有经费,App 作为其中合理的技术支出
**辅助路径:会员订阅**
- 基础内容永远免费(视频、知识卡片、模拟器主流程)
- 高级功能订阅制:额外模拟分支、深度知识图谱、学习报告、家长面板
- 参考 Duolingo Super 模式——免费可用,付费更便利
---
## 八、家长信任策略
| 策略 | 做法 |
|------|------|
| 内容纯净 | 无广告、无社交陌生人、无氪金引导 |
| 时间管控 | 内置"番茄钟":使用30分钟自动提醒休息 |
| 学习报告 | "数学脑周报"——孩子看了什么、玩了什么、对哪些方向有兴趣 |
| 家长模式 | 独立入口,展示使用时长、内容类型分布、知识点图谱 |
| 零氪金 | 无内购、无抽卡 |
| 定位话语 | "这不是一个刷题App,而是帮助孩子建立数学兴趣的引导工具" |
---
## 九、开发规范
### 9.1 代码规范
| 语言 | 规范 |
|------|------|
| Python | PEP 8`black`/`ruff` 格式化 |
| JavaScript | ES6`let/const` 替代 `var`camelCase 命名 |
| CSS | 功能前缀命名(如 `vn-``feed-`),CSS 变量管理主题色 |
| HTML | 区域注释分隔,语义化标签 |
### 9.2 数据规范
- API 统一返回格式:`{code: 0/-1, data: ..., msg: "..."}`
- JSON 数据结构向后兼容
- 数据库迁移使用 DB_VERSION 机制
- API Key 通过环境变量读取,不可硬编码
### 9.3 Git 规范
- 分支:`main`(稳定)/ `dev`(开发)/ `feature/xxx`
- Commit 前缀:`feat:` / `fix:` / `style:` / `refactor:`
- 静态资源版本号:`style.css?v=X.Y` 防缓存
### 9.4 安全规范
- HTTPS 部署
- API Key 环境变量隔离
- 跨域白名单配置
---
## 十、开发优先级与路线图
| 优先级 | 项目 | 说明 | 状态 |
|--------|------|------|------|
| ✅ P0 | 四大模块基础架构 | 发现/知识/数学人生/我的 | 已完成 |
| ✅ P0 | 视频发现 + 12专业分区 | 搜索+推荐+热门+分区 | 已完成 |
| ✅ P0 | 知识卡片流 | Hero大卡+话题+6张卡片 | 已完成 |
| ✅ P0 | 葫芦侠行8章互动小说 | 93节点+四属性+8结局 | 已完成 |
| ✅ P0 | 个人中心 | 资料+统计+菜单 | 已完成 |
| ✅ P0 | AI 数学助教 | DeepSeek + 快捷提问 | 已完成 |
| ✅ P0 | iPhone移动端适配 | 390px + 100dvh + safe-area | 已完成 |
| 🔨 P0 | **数学专业模拟器** | 8学期全流程模拟+分流+结局 | **开发中** |
| ⏳ P1 | 工具箱/趣味计算器 | 概率模拟器/数学魔术/分形画廊 | 待开发 |
| ⏳ P1 | AI数字人视频生成 | AI写稿+TTS+数字人播报 | 待调研 |
| ⏳ P1 | PWA + 小程序壳 | manifest.json + web-view | 待开发 |
| ⏳ P2 | 双语支持(i18n) | UI抽离+故事双语+AI切换 | 待开发 |
| ⏳ P2 | 支教场景功能 | 教学辅助+学生进度 | 待开发 |
| ⏳ P2 | 家长模式 + 周报 | 时长统计+内容报告+分享 | 待开发 |
| ⏳ P3 | ToB教育采购 | 学校端管理后台 | 待调研 |
---
## 十一、附录
### A. 当前项目文件结构
```
miniapp/
├── app.py # Flask 后端
├── data/
│ ├── seed_story.json # 葫芦侠行93节点
│ ├── seed_videos.json # 54条种子视频
│ ├── miniapp_v3.db # SQLite 数据库
│ ├── build_story.py # 剧情生成脚本
│ └── novel/ # 原著小说素材
├── static/
│ ├── css/style.css # 全局样式(~1400行)
│ └── js/app.js # 前端逻辑(~550行)
└── templates/
└── index.html # SPA 入口(~286行)
```
### B. 关键指标
| 指标 | 定义 | 目标 |
|------|------|------|
| 日活跃用户 (DAU) | 每日打开 App 的用户数 | 种子期 100,增长期 10,000 |
| 次留/7留/30留 | 次日/7日/30日留存率 | 7留 > 25% |
| 模拟器完成率 | 跑完四年全流程的用户占比 | > 15%(初期) |
| 人均使用时长 | 每日平均使用时间 | > 15分钟 |
| 分享率 | 主动分享内容的用户占比 | > 5% |