Skip to main content
Glama
Golden2002

paeg-teaching-materials

by Golden2002

paeg-teaching-materials

Python License: MIT Tests

Китайский | English


Что это

paeg-teaching-materials — это плагин для создания учебных материалов: 6 генераторов материалов + единая точка входа + MCP server.

Тип материала

Возможности

Способ генерации

PPT

План презентации (принцип 6x6) + опциональный рендер через python-pptx

План LLM → рендер

Конспект

Структура из 6 разделов (цели обучения / введение / новый материал / закрепление / итоги / домашнее задание)

LLM генерирует markdown

Сценарий лекции

Пофрагментный narration (возможен TTS)

LLM генерирует

Интеллект-карта

Центральная тема → 3-5 ветвей → 2-4 подветви

LLM генерирует список с отступами

Учебное видео

Раскадровка (8-15 с/кадр, синхронизация аудио и видео, крючок + recap)

LLM генерирует JSON

Manim-анимация

Код математической анимации + опциональный рендер mp4

Код LLM → Manim

Происходит из системы учебных материалов образовательного агента PAEG (итерация v0.87-§3.91), переработан в автономный плагин с нулевой зависимостью от хоста.

Related MCP server: interactive-edtech-mcp

Ключевые особенности

  • Сетевая взаимосвязанная архитектура (стандарт ведущих инструментов ⭐): 10 функциональных узлов (поиск материалов / план / PPT / конспект / сценарий / интеллект-карта / видео / Manim / методы обучения / учебный план) — каждый можно использовать и независимо, и как предварительный этап для других функций

  • Расширяемый реестр генераторов: расширение через MaterialRegistry.register("自定义类型", generator)

  • Нулевая зависимость от хоста: 6 абстракций Protocol (LLMCallable/RefinerProtocol/HandoutGenerator/ScriptGenerator/MindmapGenerator/ResourceProvider) + слабый режим Null

  • Единая точка входа: execute(name, args) по аналогии с constraint_engine (JSON-контракт, никогда не выбрасывает исключений)

  • Прямая установка как MCP server: pip install + объявление конфигурации MCP — и готово подключение (15 инструментов)

  • Интеграция языковых норм: создаваемые материалы автоматически проходят исправление речевых ошибок L0 (переиспользуется paeg-lang-style)

  • Проверка качества + оценка: детерминированная структурная проверка + оценка LLM по 5 измерениям

Сетевая взаимосвязанная архитектура (функции и независимы, и являются предварительными этапами ⭐)

Внутри инструмента — переплетённые сетевые соединения и взаимосвязи: каждая функция является узлом первого класса:

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

Три режима рёбер зависимостей:

Тип ребра

Семантика

Пример

broadcast (широковещательный)

Исходный результат потребляется всей сетью

Поиск материалов → все генерации

directed (направленный)

Строгая предпосылка

План→PPT, сценарий→видео

optional (опциональный)

При отсутствии — деградация

Материалы→интеллект-карта

Двойное предоставление: каждая функция является и независимым MCP-инструментом (execute_tool), и может автоматически оркестрироваться (execute_pipeline разворачивает предварительные этапы по графу зависимостей), а также компоноваться в цепочки через |:

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()

Промежуточные артефакты (типизированная Blackboard MaterialContext): resources (накопление через append при поиске материалов) / outline / lecture_script / ppt_outline / completed_stages (отметки этапов, union) — результаты предварительных этапов автоматически потребляются последующими.

Установка

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

Требуется Python 3.9+.

Быстрый старт

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"], "一元二次方程")

Подключение в качестве MCP server (устанавливается напрямую, как MCP)

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

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

Объявление конфигурации MCP-клиента (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"
    }
  }
}

Предоставляемые MCP-инструменты (15):

Инструмент

Функция

generate_ppt

Генерация плана презентации

generate_handout

Генерация конспекта

generate_script

Генерация сценария лекции

generate_mindmap

Генерация интеллект-карты

generate_video_script

Раскадровка учебного видео

generate_manim

Код математической анимации Manim

material_quality_check

Детерминированная структурная проверка материала

material_judge

Оценка материала по 5 измерениям

list_material_types

Интроспекция типов материалов

build_material_prompt

Сборка промпта для материала

check_language

Проверка языковых норм

normalize_material

Контроль языковых норм

execute_tool

Сеть: независимое выполнение функционального узла

execute_pipeline

Сеть: автоматическая оркестрация предварительных этапов

list_dependencies

Сеть: интроспекция графа зависимостей функций

Руководство по подключению внешних проектов

Сценарий A: только единая точка входа (рекомендуется)

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

Сценарий B: инъекция собственной LLM (сильная реализация)

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

Сценарий C: регистрация пользовательского типа материала (расширяемость)

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", {...}) 可用

Сценарий D: MCP server (мост без кода)

pip install + объявление конфигурации MCP (см. выше) — любой MCP-клиент (Claude/OpenCode/собственный) вызывает напрямую.

Расширяемость

Точка расширения

Способ

Механизм

Тип материала

MaterialRegistry.register("type", generator)

Динамическое расширение реестра

LLM-бэкенд

MaterialRegistry.inject(llm=...)

Инъекция через Protocol

Языковые нормы

MaterialRegistry.inject(refiner=...)

RefinerProtocol (по умолчанию переиспользуется paeg-lang-style L0)

Поиск ресурсов

MaterialRegistry.inject(resources=...)

ResourceProvider

Оценка качества

После инъекции LLM автоматически включается 5-мерная оценка

judge_material

Рендер-бэкенд

pptx/manim — опциональные зависимости

extras_require

Сопровождаемость

  • Нулевая зависимость от хоста: ядро зависит только от stdlib; все функции хоста — через Protocol-инъекцию

  • Единый контракт: execute возвращает JSON-строку (контракт MCP), при сбое не выбрасывает исключения

  • Слабый режим: работает без хоста (заглушки Null-генераторов), удобно для тестирования и демонстрации

  • Интеграция языковых норм: материалы автоматически проходят исправление речевых ошибок L0

  • 41 тест: полное покрытие общедоступного API / слабого режима / инъекций / execute / качества / MCP

Архитектура

宿主系统(任何 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 直接安装)            |
  +-----------------------------------------------------------+

Интеграция с основным проектом PAEG

PAEG подключается через services/material_bridge.py (инъекция хоста + откат без разрушений):

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

Тесты

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

Руководство по внесению вклада

Ваш вклад приветствуется!

  • Новый тип материала: наследуйте базовый класс Generator + MaterialRegistry.register()

  • Новая проверка качества: добавьте функцию в quality/checks.py

  • Стиль кода: следуйте существующей структуре модулей и правилам оформления комментариев

Благодарности

  • Образовательный агент PAEG — этот плагин извлечён из его системы создания материалов (§3.87-§3.100)

  • paeg-lang-style — плагин языковых норм (интеграция L0)

  • Presenton / ppt-agent-skills — парадигма конвейера LLM + рендер

  • ManimTrainer — парадигма замкнутого цикла рендера Manim

Лицензия

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