by icip-cas
An Agentic Framework for Reflective PowerPoint Generation
# Add to your Claude Code skills
git clone https://github.com/icip-cas/PPTAgentThe main contributor of this repo is a Master's student graduating in 2026, feel free to reach out for collaboration or opportunities.
本仓库的主要贡献者是一名 2026 届硕士毕业生,欢迎联系合作或交流机会。
[!IMPORTANT] Windows is not supported. If you are on Windows, please use WSL.
We strongly recommend starting with the CLI and minimum task to confirm dependencies and environment is configured correctly.
If you use the CLI, can help create and update these configurations interactively. If you use Docker Compose or build from source, you should prepare them manually:
No comments yet. Be the first to share your thoughts!
pptagent onboardcp deeppresenter/config.yaml.example deeppresenter/config.yaml
cp deeppresenter/mcp.json.example deeppresenter/mcp.json
The following services can noticeably improve generation quality, especially for research depth, PDF parsing, and visual asset creation:
TAVILY_API_KEY in deeppresenter/mcp.json.MINERU_API_KEY in deeppresenter/mcp.json, or deploy MinerU locally and set MINERU_API_URL instead.t2i_model in deeppresenter/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
uv tool install pptagent
# First-time interactive setup
pptagent onboard
# Generate a presentation
pptagent generate "Single Page with Title: Hello World" -o hello.pptx
# Generate with attachments
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 forceless/deeppresenter-sandbox:0.1.0
docker tag forceless/deeppresenter-sandbox:0.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/docker
Start the app:
python webui.py
Use this mode for a stable server environment with explicit dependencies.
# Pull the public images to avoid build from source
docker pull forceless/deeppresenter-sandbox:0.1.0
docker tag forceless/deeppresenter-sandbox:0.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-host
The service exposes the web UI on http://localhost:7861.
<img src="resource/v2/presentation2/0001.jpg" alt="