paeg-teaching-materials
paeg-teaching-materials
日本語 | English
これは何か
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 弱モード
統一実行エントリ:
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(可选)3 モード依存エッジ:
エッジタイプ | 意味 | 例 |
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