English Version | 中文版
BioQuest 是一个面向高中生的生物学习网站。无论是备战全国中学生生物联赛、刷高考模拟题,还是巩固课本知识,都可以在这里完成。
Important
📚 题库现状说明:目前题库内的题目大多为占位演示数据——题库系统刚完成重建(新 M 格式),已覆盖 80 个生物学科主题、共约 400 道题,用于展示刷题、错题本、能力诊断等完整功能链路。高质量真题与精编解析正在持续生产中。
🙌 欢迎来出题! 如果你是生物老师、竞赛党或学科大佬,欢迎在 GitHub Discussions 里交流出题、认领主题,或直接提交 PR 补充JSON题库(建议先用disscussion,如果一段时间内没有回复,就pr吧)。每一道好题都会被认真对待。
打开在线版本即可:www.ligase.beida.pw/
- 无需注册即可刷题;注册后可同步错题本与学习进度
- AI 导师、拍照搜题等功能需自行配置 API Key(均使用各大模型的免费额度,站内有教程)
- 支持离线使用,可添加到手机主屏幕或PC作为 App 运行
纯静态网站,无需后端,部署简单:
# 1. 克隆仓库
git clone https://github.com/astrnox/BioQuest.git
cd BioQuest
# 2. 本地预览(任选其一)
python -m http.server 8000 # Python
npx serve . # Node.js
# 3. 浏览器访问 http://localhost:8000在线部署:将整个文件夹上传至 GitHub Pages、Vercel、Netlify、Cloudflare Pages 等任意免费托管平台即可,无需构建步骤。
可选配置:
- 数据库:在 Supabase 创建免费项目,执行
sql/目录下的 SQL 文件,将地址与 Key 填入js/supabase-client.js(不配置则自动使用浏览器本地存储) - AI 功能:用户在「我的 → 设置」中自行填写 API Key,开发者无需管理
| 功能 | 说明 |
|---|---|
| 刷题模考 | 覆盖 80 个生物学科主题的分模块练习,自动判分并给出解析(题目持续扩充中,当前以占位演示题为主) |
| 智能错题本 | 错题自动归集,支持拍照录题(印刷体与手写识别) |
| 知识卡片 | Anki 风格间隔重复卡片,基于遗忘曲线自动安排复习 |
| 能力诊断 | 答题后生成能力雷达图,定位薄弱知识点 |
| AI 导师 | 随时提问,支持画图讲解、举一反三 |
| 虚拟实验 | 质壁分离、色素分离、DNA 提取等实验可在浏览器中模拟操作 |
| 分子可视化 | 输入 SMILES 查看 2D 结构,加载 PDB 查看 3D 分子,内置基因组浏览器 |
| 学习分析 | 统计每日学习时长与高频错题 |
| 社区讨论 | 与其他学生交流题目 |
展开查看:让平台变得「聪明」的算法细节
采用 FSRS 替代传统 Anki SM-2 算法。根据每张卡片的记忆难度,基于稳定度、难度、可提取性三个指标自动计算最优复习间隔,无需手动安排。
const scheduler = tsFsrs.fsrs({
request_retention: 0.9,
maximum_interval: 36500,
enable_fuzz: true
});
const result = scheduler.next(card, now, Rating.Good);不采用简单的正确率计分,而是运用项目反应理论(3PL 模型)从答题历史中估计真实能力水平,同时考虑每道题的难度与区分度。此外使用贝叶斯知识追踪(BKT)估算各知识点的掌握概率。
双层识别策略:若用户配置了多模态大模型 Key,优先使用 AI 识别(准确率更高,支持斜体与公式);否则使用 Tesseract.js 在浏览器本地识别,经过放大、灰度化、对比度拉伸、二值化等预处理后,再用正则修正常见识别错误。
// 图像预处理
const stretched = gray.map(v => ((v - min) / (max - min)) * 255);
const bin = stretched.map(v => v > 140 ? 255 : 0);AI 回答时先以纯文本逐字输出(保证响应速度),回答完成后再统一渲染为 Markdown,内联 SVG 图表自动绘制。
chunkEl.textContent += delta; // 流式:纯文本追加
finalEl.innerHTML = DOMPurify.sanitize(marked.parse(text)); // 完成后渲染纯前端架构,无需运行后端服务:
- 前端:原生 JavaScript(单页应用)+ CSS3 + PWA(离线支持)
- 数据:Supabase(免费版)+ IndexedDB(浏览器本地数据库)
- AI:前端直连 6 家大模型(DeepSeek、智谱、通义、Kimi、NVIDIA、硅基流动),支持流式输出
- 可视化:Chart.js、Cytoscape.js(知识图谱)、Mermaid(流程图)、3Dmol.js(3D 分子)、igv.js(基因组)
- OCR:Tesseract.js(本地识别)+ 多模态大模型(云端识别)
- 字体:霞鹜文楷(本地加载,无需网络等待)
项目打包了 24 个开源第三方库,均采用 MIT / Apache / BSD 等宽松协议,完整许可证声明见 js/vendor/THIRD_PARTY_LICENSES.txt。
主要依赖:
- ts-fsrs — 间隔重复算法(MIT)
- KaTeX — 数学公式渲染(MIT)
- Dexie.js — 浏览器本地数据库(Apache-2.0)
- Chart.js — 图表(MIT)
- 3Dmol.js — 3D 分子可视化(BSD-3)
- RDKit.js — SMILES 转 2D 分子(BSD-3)
- DOMPurify — XSS 防护(MPL-2.0 / Apache-2.0)
- Excalidraw — 手绘画板(MIT)
- PhET — 互动模拟实验(CC BY 4.0)
- LXGW WenKai — 中文字体(OFL-1.1)
本项目采用双授权:
- 代码(
js/、css/、scripts/、*.html等):MPL-2.0 - 内容(
data/题库、images/、PDF 教材、百科词条、动画等):CC BY-NC-SA 4.0
MPL-2.0 为弱 copyleft 协议:允许修改与商用,但修改过的文件及其派生作品须继续以 MPL-2.0 开源;协议边界为文件级,可与闭源项目一同分发。
只要不直接销售内容本身,学习与教育用途均被允许:
- 个人学习、二次使用
- 学校、辅导班、培训机构用于教学(收取学费不受限制,因为销售的是教学服务而非内容)
- 公益教育项目、教育扶贫
以下行为不被允许:
- 将题库、PDF、动画等内容直接打包售卖
- 移除版权声明或冒充原创
内容默认禁止商业用途。如需将题库、PDF、动画等用于商业场景(企业培训、付费平台、商用 SaaS、批量售卖题库等),须与版权所有者 astrnox 另行签订商业授权协议(可通过 GitHub Issues 联系)。教育及公益项目通常可免费获得授权。
题库建设是当前最高优先级:
- 📚 大规模扩充题库:联赛真题、高考真题与模拟题、分模块精编题(当前 80 主题 × 5 题仅为占位,第一阶段目标每个主题 20-40 题)
- 错题本导出功能优化(支持打印与 PDF 导出)
- 多端同步优化
- 生物画图题自动判分
- 更多虚拟实验
- 更多动画
- 班级 / 教师管理功能完善
- 移动端 App 打包(TWA / PWA 已支持,后续考虑原生壳)
欢迎提交 Issue 或在 Discussions 中提出功能建议。
遇到 Bug、有功能想法或发现题目错误,欢迎反馈:
- GitHub Issues:https://github.com/astrnox/BioQuest/issues
- 点击「New Issue」后选择对应模板,按模板填写最为高效:
- Bug 报告:复现步骤 + 浏览器 / 设备信息 + 截图
- 功能建议:想解决的问题 + 期望的解决方案
- 题目 / 内容纠错:出错位置 + 当前错误 + 正确内容
- 其他:求助或任意反馈
- 也可在站内「用户反馈」弹窗中留言(分类一致)
- 点击「New Issue」后选择对应模板,按模板填写最为高效:
- 邮件:astrnox@163.com
作者是一名高中生,学业较忙,回复可能不够及时,也有可能有问题,但每条建议都会认真阅读,感谢理解。
欢迎各种形式的贡献,尤其是出题:
- 🧬 擅长生物:来出题!补充题库、修正题目错误、撰写详细解析——可在 Discussions 认领主题或交流题目质量
- 💻 擅长代码:修复 Bug、添加新功能
- 🎨 擅长设计:优化界面
- 💡 其他:使用中遇到问题或有想法,直接提 Issue 即可
- Fork 本仓库
- 创建功能分支(
git checkout -b feature/xxx) - 提交改动(
git commit -m '描述你的改动') - 推送至分支(
git push origin feature/xxx) - 发起 Pull Request
- 感谢 Congqianguo 的贡献与支持
- 感谢 Open Spaced Repetition 社区提供的 FSRS 算法
- 感谢所有开源库的作者
- 感谢 PhET Interactive Simulations(科罗拉多大学博尔德分校)提供的优质互动模拟
- 感谢每一位使用 BioQuest 学生物的同学,祝考试顺利
用 BioQuest,学生物不迷路
