Terminal.mp4 |
WebUI.mp4 |
The main contributor of this repo is a Master's student graduating in 2026, feel free to reach out for collaboration or opportunities.
本仓库的主要贡献者是一名 2026 届硕士毕业生,欢迎联系合作或交流机会。
- [2026/03]: We now support CLI and have released our fine-tuned models on Hugging Face 🤗!
- [2026/01]: We support freeform and template generation support PPTX export, offline mode now! Context management is added to avoid context overflow.
- [2025/12]: 🔥 Released V2 with major improvements - Deep Research Integration, Free-Form Visual Design, Autonomous Asset Creation, Text-to-Image Generation, and Agent Environment with sandbox & 20+ tools.
- [2025/09]: 🛠️ MCP server support added - see MCP Server for configuration details
- [2025/09]: 🚀 Released v2 with major improvements - see release notes for details
- [2025/08]: 🎉 Paper accepted to EMNLP 2025!
- [2025/05]: ✨ Released v1 with core functionality and 🌟 breakthrough: reached 1,000 stars on GitHub! - see release notes for details
- [2025/01]: 🔓 Open-sourced the codebase, with experimental code archived at experiment release
Important
Windows is not supported. If you are on Windows, please use WSL.
If you use the CLI, uvx pptagent onboard can help create and update these configurations interactively. If you use Docker Compose or build from source, you should prepare them manually:
cp deeppresenter/config.yaml.example deeppresenter/config.yaml
cp deeppresenter/mcp.json.example deeppresenter/mcp.jsonThe following services can noticeably improve generation quality, especially for research depth, PDF parsing, and visual asset creation:
- Tavily: improves web search quality. Apply for an API key at tavily.com, then set
TAVILY_API_KEYindeeppresenter/mcp.json. - MinerU: improves PDF parsing quality. You can either apply for an API key at mineru.net and set
MINERU_API_KEYindeeppresenter/mcp.json, or deploy MinerU locally and setMINERU_API_URLinstead. - Text-to-image model: improves image generation quality. Configure
t2i_modelindeeppresenter/config.yaml.
If you want a fully offline setup, deploy MinerU locally and set offline_mode: true in deeppresenter/config.yaml to avoid loading network-dependent tools such as web search.
More configurable variables can be found in constants.py.
Note
On macOS, the CLI may automatically install several local dependencies, including Homebrew, Node.js, Docker, poppler, Playwright, and llama.cpp.
On Linux, you should prepare the environment by yourself.
Use this mode if you want the fastest local setup or want to plug DeepPresenter into OpenClaw through the CLI.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# First-time interactive setup
uvx pptagent onboard
# Generate a presentation
uvx pptagent generate "Single Page with Title: Hello World" -o hello.pptx
# Generate with attachments
uvx pptagent generate "Q4 Report" \
-f data.xlsx \
-f charts.pdf \
-p "10-12" \
-o report.pptx| Command | Description |
|---|---|
pptagent onboard |
Interactive configuration wizard |
pptagent generate |
Generate presentations |
pptagent config |
View current configuration |
pptagent reset |
Reset configuration |
pptagent serve |
Start the local inference service used by the CLI |
Use this mode if you want the smallest abstraction layer and full control over dependencies during development.
uv pip install -e .
playwright install-deps
playwright install chromium
npm install --prefix deeppresenter/html2pptx
docker pull crpi-0dz9m86qyvrdt6ju.cn-beijing.personal.cr.aliyuncs.com/pptagent/deeppresenter-sandbox:v0.1.0
docker tag crpi-0dz9m86qyvrdt6ju.cn-beijing.personal.cr.aliyuncs.com/pptagent/deeppresenter-sandbox:v0.1.0 deeppresenter-sandbox:0.1.0
# or build from dockerfile
docker build -t deeppresenter-sandbox:0.1.0 -f deeppresenter/docker/SandBox.Dockerfile deeppresenter/dockerStart the app:
python webui.pyUse this mode for a stable server environment with explicit dependencies.
# Pull the public images to avoid build from source
docker pull crpi-0dz9m86qyvrdt6ju.cn-beijing.personal.cr.aliyuncs.com/pptagent/deeppresenter-host:v0.1.0
docker pull crpi-0dz9m86qyvrdt6ju.cn-beijing.personal.cr.aliyuncs.com/pptagent/deeppresenter-sandbox:v0.1.0
# Tag them to the local names expected by docker-compose.yml
docker tag crpi-0dz9m86qyvrdt6ju.cn-beijing.personal.cr.aliyuncs.com/pptagent/deeppresenter-host:v0.1.0 deeppresenter-host:0.1.0
docker tag crpi-0dz9m86qyvrdt6ju.cn-beijing.personal.cr.aliyuncs.com/pptagent/deeppresenter-sandbox:v0.1.0 deeppresenter-sandbox:0.1.0
# Or build from source
docker build -t deeppresenter-sandbox:0.1.0 -f deeppresenter/docker/SandBox.Dockerfile deeppresenter/docker
# Start the host service
docker compose up -d deeppresenter-hostThe service exposes the web UI on http://localhost:7861.
|
Force1ess |
Puelloc |
hongyan |
Dnoob |
Sadahlu |
|
KurisuMakiseSame |
Eliot White |
EvolvedGhost |
ISCAS-zwl |
James Brown |
|
JunZhang |
Open AI Tx |
Sense_wang |
SuYao |
Zhenyu |
If you find this project helpful, please use the following to cite it:
@inproceedings{zheng-etal-2025-pptagent,
title = "{PPTA}gent: Generating and Evaluating Presentations Beyond Text-to-Slides",
author = "Zheng, Hao and
Guan, Xinyan and
Kong, Hao and
Zhang, Wenkai and
Zheng, Jia and
Zhou, Weixiang and
Lin, Hongyu and
Lu, Yaojie and
Han, Xianpei and
Sun, Le",
editor = "Christodoulopoulos, Christos and
Chakraborty, Tanmoy and
Rose, Carolyn and
Peng, Violet",
booktitle = "Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing",
month = nov,
year = "2025",
address = "Suzhou, China",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.emnlp-main.728/",
doi = "10.18653/v1/2025.emnlp-main.728",
pages = "14413--14429",
ISBN = "979-8-89176-332-6",
abstract = "Automatically generating presentations from documents is a challenging task that requires accommodating content quality, visual appeal, and structural coherence. Existing methods primarily focus on improving and evaluating the content quality in isolation, overlooking visual appeal and structural coherence, which limits their practical applicability. To address these limitations, we propose PPTAgent, which comprehensively improves presentation generation through a two-stage, edit-based approach inspired by human workflows. PPTAgent first analyzes reference presentations to extract slide-level functional types and content schemas, then drafts an outline and iteratively generates editing actions based on selected reference slides to create new slides. To comprehensively evaluate the quality of generated presentations, we further introduce PPTEval, an evaluation framework that assesses presentations across three dimensions: Content, Design, and Coherence. Results demonstrate that PPTAgent significantly outperforms existing automatic presentation generation methods across all three dimensions."
}
@misc{zheng2026deeppresenterenvironmentgroundedreflectionagentic,
title={DeepPresenter: Environment-Grounded Reflection for Agentic Presentation Generation},
author={Hao Zheng and Guozhao Mo and Xinru Yan and Qianhao Yuan and Wenkai Zhang and Xuanang Chen and Yaojie Lu and Hongyu Lin and Xianpei Han and Le Sun},
year={2026},
eprint={2602.22839},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2602.22839},
}































