# ChemAIForge
**Repository Path**: tolryg0/ChemAIForge
## Basic Information
- **Project Name**: ChemAIForge
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-26
- **Last Updated**: 2026-07-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🧪 ChemAIForge
**AI 驱动的化学虚拟实验平台**
浏览器里做化学实验:102 个真实实验、立体实验台、分步语音讲解、AI 导师与实验报告。
[](https://chem.whaty.org)
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)

## ✨ 特性
- **102 个化学实验**,覆盖酸碱、氧化还原、沉淀、配位、有机、热力学、电化学等门类
- **四套纯函数化学引擎**(皆有数据驱动测试,非占位):
混合反应 `react` · 电解 `electrolyze` · 原电池/腐蚀 `galvanicCell` · 导电性 `conductivity`
- **真实立体实验台**:烧杯/锥形瓶/试管随仪器自动变形,特征溶液色、气泡/沉淀/蒸汽/酒精灯火焰,以及电解槽、电流计、灯泡、排水集气等专业装置
- **分步语音讲解**:edge-tts 高音质双音色(晓晓♀/云希♂)+ 倍速,讲解自动驱动器皿演示
- **AI 实验导师**:结合当前实验台状态的流式问答,关键现象自动点评
- **AI 实验报告**:依操作步骤与读数生成结论、误差分析、改进建议
- **零登录**:访客模式,打开即用
> 所有实验共享同一套数据驱动的操作界面——一处改动即覆盖全部 102 个实验。
## 🛠 技术栈
- **框架**: Next.js 14(App Router)· **语言**: TypeScript(strict)
- **样式**: Tailwind CSS · **状态**: Zustand
- **数据库**: SQLite + Prisma ORM(零配置)
- **AI**: Claude API(CC Switch 或环境变量配置)
- **语音**: Microsoft Edge TTS(离线预生成 mp3)
- **测试**: Vitest(720 用例)
## 🚀 快速开始
```bash
npm install # 安装依赖(postinstall 自动 prisma generate)
cp .env.example .env # 准备环境变量
npm run db:push # 同步 schema 到 SQLite
npm run db:seed # 写入 102 个化学实验
npm run dev # 启动 (http://localhost:3000)
```
## 📁 目录结构
```
src/
├── app/ # Next.js 页面、布局与 API 路由
├── components/lab/ # 实验台:器皿/装置/讲解/控制面板
├── lib/chem/ # 化学引擎(react / electrolyze / galvanic / conductivity)
├── data/experiments/ # 102 个实验的数据定义 + 数据驱动测试
└── server/ # 服务端业务(experiments / session / ai)
prisma/ # schema、seed
scripts/generate-tts.mjs # 讲解语音预生成(edge-tts)
public/audio/lesson/ # 预生成 mp3(晓晓 / 云希两套)
```
## 🔊 讲解语音
讲解语音用 [edge-tts](https://github.com/rany2/edge-tts) 离线预生成为 mp3,前端 `