paeg-teaching-materials
paeg-teaching-materials
중국어 | 영어
이것은 무엇인가
paeg-teaching-materials는 교육 자료 제작 플러그인입니다 — 6가지 유형의 자료 생성기 + 통합 실행 진입점 + MCP server.
자료 유형 | 기능 | 생성 방식 |
PPT | 프레젠테이션 개요(6x6 원칙) + 선택적 python-pptx 렌더링 | LLM 개요 → 렌더링 |
교안 | 6단 구조(교수 목표/도입/신수업/강화/정리/과제) | LLM이 markdown 생성 |
강의록 | 분절 내레이션(TTS 가능) | LLM 생성 |
마인드맵 | 중심 주제→3-5개 가지→2-4개 하위 가지 | LLM이 들여쓰기 목록 생성 |
교육 비디오 | 스토리보드(컷당 8-15초, 음성·화면 정렬, 훅+recap) | LLM이 JSON 생성 |
Manim 애니메이션 | 수학 애니메이션 코드 + 선택적 mp4 렌더링 | LLM 코드 → Manim |
PAEG 교육 에이전트 자료 시스템(v0.87-§3.91 이터레이션)에서 유래했으며, 호스트 의존성 제로 독립 플러그인으로 개조되었습니다.
Related MCP server: Learn Shell
핵심 기능
네트워크형 연결 아키텍처(최고 수준 도구 기준 ⭐): 10개의 기능 노드(자료 조사/개요/PPT/교안/강의록/마인드맵/비디오/Manim/학습 방법/학습 계획) — 각각은 독립적으로 사용할 수 있을 뿐만 아니라 다른 기능의 선행 단계이기도 합니다.
확장 가능한 생성기 레지스트리:
MaterialRegistry.register("自定义类型", generator)호출만으로 확장됩니다.호스트 의존성 제로: 6개의 Protocol 추상화(LLMCallable/RefinerProtocol/HandoutGenerator/ScriptGenerator/MindmapGenerator/ResourceProvider) + Null 약(weak) 모드
통합 실행 진입점:
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()중간 산출물(MaterialContext 타입화 Blackboard):
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 serverPython 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_serverMCP 클라이언트 구성 선언(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개):
도구 이름 | 기능 |
| PPT 개요 생성 |
| 교안 생성 |
| 강의록 생성 |
| 마인드맵 생성 |
| 교육 비디오 스토리보드 스크립트 |
| Manim 수학 애니메이션 코드 |
| 자료 결정적 구조 검사 |
| 자료 5차원 평가 |
| 자료 유형 자기 점검 |
| 자료 프롬프트 조합 |
| 언어 규범 검사 |
| 언어 규범 게이트키퍼 |
| 네트워크: 기능 노드 독립 실행 |
| 네트워크: 선행 단계 자동 오케스트레이션 |
| 네트워크: 기능 의존성 그래프 자기 점검 |
외부 프로젝트 연결 가이드
시나리오 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/자체 개발)에서 직접 호출할 수 있습니다.
확장성
확장 지점 | 방법 | 메커니즘 |
자료 유형 |
| 레지스트리 동적 확장 |
LLM 백엔드 |
| Protocol 주입 |
언어 규범 |
| RefinerProtocol(기본값은 paeg-lang-style L0 재사용) |
리소스 검색 |
| 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
This server cannot be deployed
Maintenance
Related MCP Connectors
- geoOAuthco.thinair
Geocoding, routing, isochrones, traffic, weather, and place search for AI agents. 19 MCP tools.
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.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to generate real Office documents (.pptx, .docx, .xlsx) and source code from natural language via MCP protocol.4MIT
- AlicenseAqualityBmaintenanceAn agent-native teaching OS that gives AI assistants a persistent classroom with courses, lessons, flashcards, and graded exercises via MCP tools.503AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create and manage personalized 30-day study courses, including web research with source validation, daily lessons, quizzes, and progress tracking through 12 MCP tools.1MIT
- AlicenseAqualityAmaintenanceEnables AI agents to generate, execute, and compile interactive Manim slide presentations through MCP tools.82MIT