edulab:把数学/化学题一键变成可交互教学网页,SymPy 保证答案和动画同源

开源项目 edulab 是一套教育技能集合,能把立体几何、解析几何、化学反应等问题转成自包含的交互 HTML 课件。支持文字输入、图片识别和随机出题,底层用 SymPy 精确计算,再用 Three.js / Canvas 做可视化,公式步骤与图形数据完全一致。可作为 Claude 插件或命令行使用,适合自学、备课和教辅开发。

学立体几何、解析几何或化学反应时,最劝退的往往不是公式本身,而是「抽象」。

老师在黑板上画图,学生在本子上想象;看答案时步骤和图形对不上,调个参数又要重算一遍。普通 PPT 或静态图很难让人真正「摸」到概念。

开源项目 edulab 做的事很直接:把一道学科题,变成一个可交互的教学网页。

GitHub:https://github.com/wy51ai/edulab

它能做什么?

edulab 是一套教育向 Agent Skill 集合,目前主要覆盖:

  1. 立体几何(edu-solid-geometry)
    线面角、二面角、异面直线、点到平面距离、体积等。用坐标系 + 向量法求解,Three.js 渲染可旋转、缩放的 3D 模型,解析与模型同步高亮。
  2. 解析几何(edu-analytic-geometry)
    圆锥曲线相关题目,Canvas 动态画板 + 滑块探究,配合 KaTeX 分步解析。
  3. 化学反应(edu-chem-reaction)
    把反应做成微观 3D 分子动画:断键、成键、原子重组可拖动演示,自动配平、原子守恒校验,还可选能量-反应进程曲线。

入口支持三种:

  • 直接输入文字题目
  • 上传题目图片(视觉识别后确认再解)
  • 随机出题(参数不规整会自动重抽)

为什么「答案和动画」能对得上?

关键在于计算内核用的是 SymPy。

坐标、中间量、最终答案、配平系数都由符号计算精确给出,再注入到统一的数据驱动模板里。3D/2D 可视化用的是同一份计算结果,而不是模型一边编公式、一边随便画图。这样拖动视角或滑块时,步骤和高亮仍然一致。

生成的是自包含 HTML,浏览器直接打开即可,不依赖后端服务,方便分享或本地保存。

怎么用?

推荐用 skills 一键安装:

npx skills add wy51ai/edulab

也可作为 Claude Code 插件:

/plugin marketplace add wy51ai/edulab

/plugin install edulab

不经过 Claude 的话,也能用命令行脚本直接生成页面(需本机有 sympy)。

适合谁?

  • 学生:把抽象题变成可动手操作的对象,方便自学和复盘
  • 老师 / 教辅:快速产出交互课件,比纯静态图更直观
  • 教育产品开发者:先复用计算内核和渲染模板,再扩展题型

它不是「上清北保证班」,而是把「看懂」往「操作发现」推进一步。题型覆盖和识别准确度仍在迭代中,复杂题或扫描件质量差时仍需人工确认。

小结

如果厌倦了只有文字和静态图的解题过程,想让几何和化学真正「动起来」,edulab 值得一试。

SymPy 负责正确性,Three.js / Canvas 负责交互,Agent Skill 负责入口——三者拆开又拼在一起,把抽象概念变成可旋转、可拖动的网页课。
项目地址:
https://github.com/wy51ai/edulab

先拿一道自己卡住的立体几何或化学反应题跑一遍,比空看介绍有用得多。

No comments yet