qwen-mm-plugins-edu-agent

Installation
SKILL.md

Math and Science Tutorials

Turn a math or science problem into a step-by-step Mandarin video tutorial. For an interactive page instead of a video, use the interactive workflow linked below. Teaching components — equations, diagrams, solution steps — are rendered as realistic objects: solid opaque panels (glass-look via borders + layered shadow, NO backdrop-filter, NO translucency), 3D metallic cards, animated SVG constructions, on themed backgrounds with animated gradient orbs and smooth ambient effects. The default theme is "Aurora Scholar" (blue wave texture + indigo/violet/cyan orbs); 4 alternative light themes are available (清雅湖蓝, 柔紫轻盈, 薄荷清新, 暖黄纸感) for visual variety across different problem types — see the Background Theme Catalog in design-system.md.

Prerequisites (环境准备 — 开工前必查)

This is a skill-only capability (no MCP server), so its runtime dependencies are NOT auto-installed by uvx. Verify ALL of the following before Step 0 — a missing one silently breaks a later step:

Dependency Needed for Install / check
Node.js + npm/npx scaffold + render (npx hyperframes) node -v (≥18)
hyperframes CLI init / lint / validate / render pulled on demand via npx hyperframes (needs npm-registry access at scaffold time; the project then pins a version in dist/package.json)
Headless Chromium + OS libs npx hyperframes render (puppeteer) + post-render QA gates (postcheck.py / precheck.py drive headless Chrome) the browser itself is auto-downloaded by puppeteer on first npx hyperframes; on minimal Linux you must also apt install libnss3 libatk-bridge2.0-0 libgbm1 libasound2 libxkbcommon0 libgtk-3-0 fonts-noto-cjk (else Chrome fails to launch, or CJK/formulas render as tofu boxes). Reuse a system Chrome via export PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium.
Python 3 + pip TTS script python3 -m pip --version
dashscope soundfile numpy requests pydantic TTS synthesis, assembly and shared configuration python3 -m pip install dashscope soundfile numpy requests 'pydantic>=2.11,<3'
ffmpeg loudness normalization (loudnorm) + frame extraction for self-check brew install ffmpeg / apt install ffmpeg
DASHSCOPE_API_KEY Qwen-TTS (qwen3-tts-flash) export DASHSCOPE_API_KEY="sk-xxx", or put DASHSCOPE_API_KEY=sk-xxx in ~/.qwen-mm-plugins/config for GUI-launched setups that don't inherit shell exports. $EDU_SKILL_ROOT/scripts/generate_voice.py reads it at runtime — never cat/paste the key into the conversation.

Network boundary: npx hyperframes init and the TTS calls need internet. The render itself is air-gapped — that is why fonts / KaTeX / GSAP must be self-hosted into dist/ (see Step 5 Prerequisites). DashScope TTS may rate-limit under high concurrency; if you hit Throttling.RateQuota, lower the thread-pool worker count and add backoff (see step-3).

Installs
8
GitHub Stars
3.2K
First Seen
Aug 12, 2026