edu-chem-reaction:把一個化學反應做成自包含的微觀 3D 交互網頁

前言

化學教學裏常見的做法是靜態示意圖:反應物、生成物各畫一張球棍圖,配一行方程式。學生看不到斷鍵、成鍵和原子重組的過程,也看不出原子是怎麼守恆的。如果想做交互演示,通常要自己搭 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

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

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

小夜