Skip to main content
Glama
Golden2002

paeg-teaching-materials

by Golden2002

paeg-teaching-materials

Python License: MIT Tests

Deutsch | English


Was ist das?

paeg-teaching-materials ist ein Plugin zur Erstellung von Lehrmaterialien – 6 Materialgeneratoren + einheitlicher Ausführungseinstieg + MCP-Server.

Materialtyp

Fähigkeit

Generierungsweise

PPT

Präsentationsgliederung (6x6-Prinzip) + optionale python-pptx-Renderung

LLM-Gliederung → Rendern

Skript

6-Abschnitt-Struktur (Lernziele/Einführung/Neuer Stoff/Festigung/Zusammenfassung/Hausaufgaben)

LLM generiert Markdown

Vorlesungsmanuskript

Segmentierte Narration (TTS-fähig)

LLM-Generierung

Mindmap

Zentrumsthema→3-5 Zweige→2-4 Unterzweige

LLM generiert Einrückungsliste

Lehrvideo

Storyboard-Skript (8-15s/Einstellung, Audio-Video-Synchronisation, Hook+Recap)

LLM generiert JSON

Manim-Animation

Mathe-Animationscode + optionale MP4-Renderung

LLM-Code → Manim

Stammt aus dem PAEG-Bildungsagenten-Materialsystem (v0.87-§3.91-Iteration), umgebaut zu einem hostunabhängigen eigenständigen Plugin.

Related MCP server: interactive-edtech-mcp

Kernfunktionen

  • Netzartige Verbindungsarchitektur (Top-Tool-Standard ⭐): 10 Funktionsknoten (Recherche/Gliederung/PPT/Skript/Vorlesungsmanuskript/Mindmap/Video/Manim/Lernmethoden/Lernplan) – jeder einzeln nutzbar und zugleich Vorstufe anderer Funktionen

  • Erweiterbare Generator-Registry: MaterialRegistry.register("benutzerdefinierter Typ", generator) erweitert sofort

  • Null-Host-Abhängigkeit: 6 Protocol-Abstraktionen (LLMCallable/RefinerProtocol/HandoutGenerator/ScriptGenerator/MindmapGenerator/ResourceProvider) + Null-Schwachmodus

  • Einheitlicher Ausführungseinstieg: execute(name, args) analog zu constraint_engine (JSON-Vertrag, wirft niemals Ausnahmen)

  • MCP-Server direkt installierbar: pip install + MCP-Konfigurationsdeklaration genügt (15 Tools)

  • Sprachnorm-Verknüpfung: Materialausgabe durchläuft automatisch L0-Satzfehlerkorrektur (nutzt paeg-lang-style wieder)

  • Qualitätsprüfung + Bewertung: Deterministische Strukturprüfung + LLM-5-Dimensionen-Bewertung

Netzartige Verbindungsarchitektur (Funktionen sowohl eigenständig als auch Vorstufe ⭐)

Im Inneren des Tools herrscht verflochtene netzartige Verdrahtung und Verbindung – jede Funktion ist ein Knoten erster Klasse:

research(查资料·广播前置)
   ├──→ outline(大纲)──→ ppt(PPT 制作)
   ├──→ script(讲稿)──→ video(教学视频)
   ├──→ handout / manim / method / study_plan / mindmap(可选)

Drei Modi von Abhängigkeitskanten:

Kantentyp

Semantik

Beispiel

broadcast (Rundfunk)

Quellprodukt wird netzweit konsumiert

Recherche → alle Generierungen

directed (gerichtet)

Starke Voraussetzung

Gliederung→PPT, Manuskript→Video

optional (optional)

Degradierung bei Fehlen

Material→Mindmap

Doppelte Exposition: Jede Funktion ist sowohl ein eigenständiges MCP-Tool (execute_tool) als auch automatisch orchestrierbar (execute_pipeline expandiert Vorstufen gemäß Abhängigkeitsgraph), sowie per |-Verkettung kombinierbar:

from paeg_teaching_materials import MaterialRegistry
from paeg_teaching_materials.tools import ResearchTool, OutlineTool, PptTool

# 1. 独立调用
result = MaterialRegistry.execute_plan("ppt", ctx, {"topic": "导数"})
#   自动执行: research → outline → ppt(查资料是前置环节)

# 2. 链式组合(LangChain Runnable 模式)
pipeline = ResearchTool() | OutlineTool() | PptTool()  # 组合结果仍是 Tool

# 3. 依赖图自省(MCP: list_dependencies)
graph = MaterialRegistry.get_resolver().dependency_graph()

Zwischenprodukte (typisierte MaterialContext-Blackboard): resources (Recherche·append-Akkumulation) / outline / lecture_script / ppt_outline / completed_stages (Stufenmarkierungen·union) – Vorstufenprodukte werden automatisch von nachgelagerten Stufen konsumiert.

Installation

pip install -e /path/to/paeg-teaching-materials
# 可选依赖:
pip install -e "paeg-teaching-materials[pptx]"    # PPT 渲染
pip install -e "paeg-teaching-materials[manim]"   # Manim 渲染
pip install -e "paeg-teaching-materials[mcp]"     # MCP server

Erfordert Python 3.9+.

Schnellstart

from paeg_teaching_materials import MaterialRegistry, execute

# 1. 注入你的 LLM(任何项目接入点)
def my_llm(system, user, max_tokens=2000, temperature=0.7):
    return call_your_llm(system, user, max_tokens=max_tokens)
MaterialRegistry.inject(llm=my_llm)

# 2. 生成物料(统一执行入口)
result = execute("generate_handout", {"topic": "一元二次方程", "subject": "数学"})
# → {"material_type": "handout", "topic": "...", "ok": true, "output": "## 教学目标..."}

# 3. 质量检查 + 评审
from paeg_teaching_materials import check_material_structure, judge_material
issues = check_material_structure(result["output"], "handout")
score = judge_material(result["output"], "一元二次方程")

Anbindung als MCP-Server (wie MCP direkt installierbar und nutzbar)

# 方式 1:console_scripts 入口(pip install 后)
paeg-teaching-materials-mcp

# 方式 2:python -m 入口(源码运行)
python -m paeg_teaching_materials.mcp_server

MCP-Client-Konfigurationsdeklaration (config/mcp_servers.json):

{
  "mcpServers": {
    "paeg-teaching-materials": {
      "command": "python",
      "args": ["-m", "paeg_teaching_materials.mcp_server"],
      "cwd": "D:/wbo-workspace/paeg_project/paeg-teaching-materials"
    }
  }
}

Exponierte MCP-Tools (15 Stück):

Tool-Name

Funktion

generate_ppt

PPT-Gliederungsgenerierung

generate_handout

Skriptgenerierung

generate_script

Vorlesungsmanuskriptgenerierung

generate_mindmap

Mindmap-Generierung

generate_video_script

Lehrvideo-Storyboard-Skript

generate_manim

Manim-Mathe-Animationscode

material_quality_check

Deterministische Materialstrukturprüfung

material_judge

Material-5-Dimensionen-Bewertung

list_material_types

Materialtyp-Introspektion

build_material_prompt

Material-Prompt-Zusammenbau

check_language

Sprachnorm-Prüfung

normalize_material

Sprachnorm-Wächter

execute_tool

Netzartig: Funktionsknoten eigenständig ausführen

execute_pipeline

Netzartig: Vorstufen automatisch orchestrieren

list_dependencies

Netzartig: Funktionsabhängigkeitsgraph-Introspektion

Integrationsanleitung für externe Projekte

Szenario A: Nur einheitlichen Ausführungseinstieg verwenden (empfohlen)

from paeg_teaching_materials import execute
result = execute("generate_ppt", {"topic": "微积分", "subject": "数学"})

Szenario B: Eigenes LLM injizieren (starke Implementierung)

from paeg_teaching_materials import MaterialRegistry
MaterialRegistry.inject(llm=my_llm, refiner=my_refiner)
result = MaterialRegistry.generate("handout", "力学", "物理")

Szenario C: Benutzerdefinierten Materialtyp registrieren (Erweiterbarkeit)

from paeg_teaching_materials import MaterialRegistry
from paeg_teaching_materials.generators.base import Generator

class QuizGenerator(Generator):
    material_type = "quiz"
    def generate(self, topic, subject="通用", learner_id="anon", **kw):
        return {"material_type": "quiz", "topic": topic, "ok": True, "output": "..."}

MaterialRegistry.register("quiz", generator=QuizGenerator())
# 现在 execute("generate_quiz", {...}) 可用

Szenario D: MCP-Server (Null-Code-Brücke)

pip install + MCP-Konfigurationsdeklaration (siehe oben) – jeder MCP-Client (Claude/OpenCode/eigenentwickelt) kann direkt aufrufen.

Erweiterbarkeit

Erweiterungspunkt

Methode

Mechanismus

Materialtyp

MaterialRegistry.register("type", generator)

Dynamische Registry-Erweiterung

LLM-Backend

MaterialRegistry.inject(llm=...)

Protocol-Injektion

Sprachnorm

MaterialRegistry.inject(refiner=...)

RefinerProtocol (Standard: Wiederverwendung von paeg-lang-style L0)

Ressourcenabruf

MaterialRegistry.inject(resources=...)

ResourceProvider

Qualitätsbewertung

Nach LLM-Injektion automatisch 5 Dimensionen aktiviert

judge_material

Render-Backend

pptx/manim optionale Abhängigkeiten

extras_require

Wartbarkeit

  • Null-Host-Abhängigkeit: Kernpaket hängt nur von stdlib ab; Hostfunktionen vollständig per Protocol injiziert

  • Einheitlicher Vertrag: execute gibt JSON-String zurück (MCP-Vertrag), wirft bei Fehlern keine Ausnahmen

  • Schwachmodus: Ohne Host lauffähig (Null-Generator als Platzhalter), erleichtert Tests und Demos

  • Sprachnorm-Verknüpfung: Materialausgabe durchläuft automatisch L0-Satzfehlerkorrektur

  • 41 Tests: Vollständige Abdeckung von öffentlicher API/Schwachmodus/Injektion/execute/Qualität/MCP

Architektur

宿主系统(任何 Python 项目 / 智能体)
  MaterialRegistry.inject(llm=..., refiner=..., resources=...)  <- 宿主注入
  execute("generate_handout", {...})                            <- 统一入口
        |
        | 零宿主依赖(Protocol 抽象)
        v
paeg_teaching_materials(独立插件)
  +-------------------+  +-------------------+  +----------------+
  | registry.py       |  | generators/       |  | quality/       |
  | MaterialRegistry  |  | ppt/handout/...   |  | checks/judge   |
  +---------+---------+  +---------+---------+  +----------------+
            |                      |
            v                      v
  +-----------------------------------------------------------+
  | executor.py(execute 统一入口,JSON 契约)                   |
  | mcp_server.py(FastMCP 15 工具,stdio 直接安装)            |
  +-----------------------------------------------------------+

Integration mit dem PAEG-Hauptprojekt

PAEG bindet über services/material_bridge.py an (Host-Injektion + zerstörungsfreies Fallback):

from services.material_bridge import install_material_plugin
install_material_plugin()   # server.py 启动时调用一次
# 注入 PAEG LLM(subagents._safe_chat)+ Refiner(paeg.refiner)+ 资源(library)
# 插件未安装 → 静默回退 PAEG 原物料实现(旧文件永不删除)

Tests

python -m pytest tests/ -q
# 22 项:公共 API / 弱模式 / 注入 / execute / 质量 / MCP server

Beitragsrichtlinien

Beiträge sind willkommen!

  • Neuen Materialtyp hinzufügen: Generator-Basisklasse erben + MaterialRegistry.register()

  • Neue Qualitätsprüfung: Funktion in quality/checks.py hinzufügen

  • Codestil: Vorhandener Modulstruktur + Kommentarkonventionen folgen

Danksagungen

  • PAEG-Bildungsagent – dieses Plugin wurde aus dessen Materialerstellungssystem extrahiert (§3.87-§3.100)

  • paeg-lang-style – Sprachnorm-Plugin (L0-Verknüpfung)

  • Presenton / ppt-agent-skills – LLM+Render-Pipeline-Paradigma

  • ManimTrainer – Manim-Render-Schleifen-Paradigma

Lizenz

MIT © 2026 PAEG Team

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • 100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Golden2002/paeg-teaching-materials'

If you have feedback or need assistance with the MCP directory API, please join our Discord server