PPTHEC is a sanitized starter kit for a PPT production workflow:
source notes/images -> source_material.pdf -> prompt/library profile -> NotebookLM Part A/B slide decks -> exported PDFs -> merged PDF -> optional speaker script
This repository intentionally does not include private cookies, Google tokens, Chrome profiles, NotebookLM auth files, real Xiaohongshu note data, generated PPT/PDF outputs, or local machine paths.
- A clean input-pack builder that turns local note folders into NotebookLM-ready folders.
- Example
jiaowuandyihuprompt-library templates. - Runtime docs for NotebookLM, visual profiling, Part A/B generation, polling, export, and resume.
- Speaker-script delivery rules and a validator that blocks prompt/markdown/internal-metadata leakage.
- A secret scanner to reduce the chance of publishing private tokens or local paths.
- Example PowerShell commands that users can adapt to their own NotebookLM automation code.
- No bundled Xiaohongshu cookies or bypass logic.
- No NotebookLM account, browser profile, or auth state.
- No GRSAI/OpenAI-compatible API key.
- No real source images, PDFs, PPTs, run states, logs, or generated outputs.
- Install Python dependencies:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .[dev]- Copy environment template:
Copy-Item .env.example .env- Put exported note folders under
examples/local_notes/, one folder per note.
Each note folder can contain images or an existing source_material.pdf.
- Build NotebookLM input folders:
ppthec prepare-inputs --source-dir examples/local_notes --output-dir runs/demo/notebooklm_inputs --library-type jiaowu- Check local runtime:
ppthec doctor- Run your NotebookLM batch runner.
This repo ships a generic example at scripts/run_workflow.example.ps1. You must point it to your own NotebookLM automation implementation.
- If your workflow also generates speaking scripts, validate the final deliverable text before copying it to the customer/teacher output folder:
ppthec validate-speaker-script runs/demo/final_output/note-a_speaker_script.txtAfter prepare-inputs, every note becomes:
notebooklm_inputs/
note-title/
source_material.pdf
batch_requirements.txt
manifest.json
batch_requirements.txt is a per-note instruction card. It tells downstream prompt generation which library to use and what scenario boundaries to preserve.
templates/jiaowu/dynamic_visual.md: education, class meeting, psychology class, parent meeting, teacher-facing content.templates/yihu/dynamic_visual.md: medical, nursing, health education, patient education, clinical training.
Force the intended library explicitly when possible:
ppthec prepare-inputs --library-type jiaowuRun:
ppthec scan-secrets .The scanner blocks common local paths, cookies, tokens, auth files, and generated runtime folders. It is not a replacement for manual review, but it catches the mistakes that usually leak private workflow state.
ingest workers: 2-3
submit workers: 1-2
poll workers: 1
export workers: 1-2
max active deck jobs: 12 or lower
submit interval: 10-30 seconds
When NotebookLM reports daily Slides limit or rate limit, stop submitting new deck jobs. Keep polling/exporting already submitted jobs.
MIT. Replace it before publishing if your team needs a different license.