edu-chem-reaction: Turning a Chemical Reaction into a Self-Contained Microscopic 3D Interactive Web Page

前言

化学教学里常见的做法是静态示意图:反应物、生成物各画一张球棍图,配一行方程式。学生看不到断键、成键和原子重组的过程,也看不出原子是怎么守恒的。如果想做交互演示,通常要自己搭 Three.js 场景、手写方程配平、再单独做讲解,几节课下来维护成本很高。

edu-chem-reaction 把这件事打包成一个技能:输入一个化学反应(文字描述、方程式,或者一张图),它生成一个自包含的 HTML 页面——左边是可拖拽的 Three.js 分子动画,右边是 KaTeX 反应方程、分步讲解、原子守恒计数,可选能量-反应进程曲线。页面由 sympy 精确计算驱动,动画和方程同源,不会出现”图上画的和式子对不上”的问题。

这是什么

edu-chem-reaction 是一个面向化学教育场景的 Skill,把单个化学反应渲染成自包含的微观 3D 交互演示网页。它由 SkillHub 上的 user_8bb4b4f5 发布维护,属于 education 分类,SkillHub 评分 99471,下载量 940。

它解决的问题是:化学反应的微观过程(断键、成键、原子重组)难以在普通课件里可视化,且手动制作的演示与方程式、守恒校验容易不一致。这个 Skill 用统一的计算内核生成动画和方程,保证答案与几何同源一致。

核心功能

三种入口

1、给定文字描述或化学方程式,直接生成演示页。
2、随机出题模式,随机给出一个反应并生成完整演示。
3、上传图片,识别图片中的化学反应后生成演示。

页面结构

页面是单文件自包含 HTML,布局为左/上分子动画区、右侧信息区:

  • 分子动画区:Three.js 可交互 3D 场景。拖动滑块控制反应进程,可以看到断键、成键、原子重组,并按步骤高亮当前状态。
  • 反应方程:用 KaTeX 渲染,自动配平。
  • 分步讲解:按反应步骤给出文字说明。
  • 原子守恒计数:对反应前后各元素的原子数做计数展示。
  • 能量-反应进程曲线:可选,展示能量随反应进程的变化。

反应类型覆盖

  • 燃烧反应(如甲烷燃烧、氢气燃烧)。
  • 化合、分解、置换、复分解四类基本反应。
  • 氧化还原反应,带电子转移可视化。
  • 有机反应机理(如酯化反应),包含催化剂与过渡态的展示。

sympy 驱动的统一计算

动画不是手工调出来的,而是由 sympy 统一计算:

1、自动配平化学方程式。
2、校验原子守恒,并做原子映射(反应物中的原子对应到生成物中的哪个原子)。
3、推导键的断裂与生成。

因为方程、原子映射、键的变化都来自同一套计算,页面里的动画和右侧的方程式、守恒计数是同源一致的,改一个反应不需要分别维护。

两套几何引擎自动选择

Skill 内置两套引擎,会根据反应类型自动选择:

  • morph:原子变形动画,用于展示原子守恒,原子在反应前后保持对应关系。
  • mechanism:机理关键帧动画,用于展示催化过程和过渡态。

混合几何来源

分子几何默认来自自建的 VSEPR 分子库。如果运行环境装有 RDKit,则可以用 RDKit 从 SMILES 生成构象,几何更贴近真实。注意:不会自动安装 RDKit,环境里没有就退回 VSEPR 库。

安装与启用

官方地址:https://api.skillhub.cn/user_8bb4b4f5/edu-chem-reaction

本次写作时该官方页面抓取失败,具体的安装命令、目录配置未能从官方资料核实,因此不在此列出。启用方式以 SkillHub 页面和 SKILL.md 为准。

典型用法

以下是入口对应的调用方式,具体参数格式以 SKILL.md 为准:

1、给定文字反应或方程式:把反应描述或方程式作为输入,Skill 生成演示页。
2、随机出题:请求随机一个化学反应,Skill 给出反应并生成演示页。
3、图片识别:上传一张包含化学反应的图片,Skill 识别其中的反应后生成演示页。

生成结果是自包含的 HTML 文件,可直接打开查看。

适用场景与注意

适合化学教学、课件制作,以及需要把某个具体反应讲清楚(断键成键、原子守恒、电子转移)的场景。也适合其他 agent 调用,批量生成这类反应演示页。

使用上的注意:

  • 覆盖范围是脚本列出的反应类型(燃烧、四类基本反应、氧化还原、酯化等有机机理),不在列表里的反应不一定能正确处理。
  • 分子几何依赖 VSEPR 库或已安装的 RDKit;要更真实的构象需自行在环境中装好 RDKit。
  • 官方页面本次未能访问,安装与配置细节未核实,采用前建议先打开官方地址确认。

结尾

edu-chem-reaction 的价值在于把”反应动画 + 方程式 + 守恒校验”三件事合并到一个由 sympy 驱动的流程里,教师或 agent 只要给出一个反应,就能得到同源一致的交互演示,不用分别维护动画和式子。

官方地址:https://api.skillhub.cn/user_8bb4b4f5/edu-chem-reaction

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye