PPTAgent / DeepPresenter
A reflective agent framework that generates and exports PowerPoint presentations from prompts and attached materials.
- Source repo
- icip-cas/PPTAgent
- Stars
- ★ 5.2k
- Last updated
- 4d ago
- License
- MIT
- Primary language
- Python
- FA score
- 34/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changes
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A researcher who needs to turn a document into a presentation can provide the material and generate a PPTX.
- Not a fit if
- Windows users: Windows is unsupported, WSL is required
- Teams wanting zero-setup: Docker, Playwright, Chromium and Node.js are needed
- Source review
- 34/100 · Major gaps 4 safety controls not found
What does this agent do, and when should you use it?
The PPTAgent repository currently presents DeepPresenter, an agentic framework for presentation generation. It offers a local CLI, a web UI, Docker Compose deployment, and a sandbox runtime for isolated tool execution. Users can call pptagent generate with a prompt and attachments such as XLSX or PDF files to produce a .pptx file. The project also documents MCP server configuration and an offline path using locally deployed MinerU with offline_mode: true to avoid network-dependent tools.
pptagent onboard interactively creates or updates configuration, while pptagent generate accepts a presentation request, -f attachments, an optional -p page range, and an -o output path to generate a PowerPoint file. Source deployments use deeppresenter/config.yaml and deeppresenter/mcp.json; optional integrations include Tavily for web search, MinerU for PDF parsing, and a text-to-image model configured through t2i_model. Development mode runs with python webui.py; server mode runs with docker compose up -d and exposes the web UI at http://localhost:7861. The deeppresenter-host image provides the web UI and orchestration runtime, while deeppresenter-sandbox provides isolated tool execution; source builds also install Node dependencies in deeppresenter/html2pptx.
- A researcher who needs to turn a document into a presentation can provide the material and generate a PPTX.
- A business user preparing a quarterly report can pass
data.xlsxandcharts.pdftopptagent generate. - An individual who wants a quick title slide can run
uvx pptagent generate "Single Page with Title: Hello World" -o hello.pptx. - A team that needs a self-hosted presentation-generation interface can deploy the host service and sandbox runtime with Docker Compose.
- An operator handling materials without internet access can deploy MinerU locally and enable
offline_mode: true.
How do you install or deploy this agent?
For first-time configuration, use the documented CLI flow:
uvx pptagent onboardThen generate a first file:
uvx pptagent generate "Single Page with Title: Hello World" -o hello.pptxFor source development, the documented steps include:
uv pip install -e .
playwright install-deps
playwright install chromium
npm install --prefix deeppresenter/html2pptxPrepare configuration files with:
cp deeppresenter/config.yaml.example deeppresenter/config.yaml
cp deeppresenter/mcp.json.example deeppresenter/mcp.jsonTavily and MinerU are optional. When using their hosted services, set TAVILY_API_KEY or MINERU_API_KEY respectively in deeppresenter/mcp.json. The supplied material does not enumerate the precise credential fields required for core model configuration.
How do you use this agent?
After pptagent onboard, submit a request with pptagent generate and choose an output file. For example:
uvx pptagent generate "Q4 Report" -f data.xlsx -f charts.pdf -p "10-12" -o report.pptxTo run the source web UI, execute python webui.py. For server deployment, prepare or build the deeppresenter-host and deeppresenter-sandbox images, then run docker compose up -d; the web UI is available at http://localhost:7861. For offline operation, set offline_mode: true and deploy MinerU locally.
What are this agent's strengths and limitations?
- It provides three delivery paths—CLI, source-based web UI, and Docker Compose—covering personal and server deployments.
- The CLI accepts multiple attachments, a page range, and an explicit PPTX output path for document- and data-driven presentation workflows.
- The runtime separates orchestration and isolated tool execution into the
deeppresenter-hostanddeeppresenter-sandboximages. - It documents MCP server configuration plus optional Tavily, MinerU, and text-to-image integrations for quality improvements.
- Windows is unsupported; Windows users must use WSL.
- Source setup requires Docker, Playwright, Chromium, Node.js dependencies, and image preparation, which adds environment setup overhead.
- Web search and hosted MinerU require network access and their respective API keys; offline mode requires a locally deployed MinerU instance.
- The project strongly recommends its fine-tuned DeepPresenter model for the best experience, while the supplied material does not provide a complete credential or provider-compatibility matrix for the core model.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| PPTAgent / DeepPresenter This agent | 34 · Major gaps | CLIFree + model costs | ★ 5.2k | 4d ago | Python | — |
| Presenton – Open-Source AI Presentation Generator & API | 56 · Major gaps | Self-hosted serviceFreemium | ★ 12k | today | TypeScript | — |
| OfficeCLI | 71 · Some gaps | CLIFree | ★ 33k | 7d ago | C# | Codex · Claude Code |
| Paper2Any Research Workspace | 63 · Some gaps | Self-hosted serviceFree + model costs | ★ 2.8k | 2mo ago | Python | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: project uses Docker sandbox for isolated tool execution, offers offline mode, but does not explicitly follow least privilege; CLI generate command has no user confirmation step; data flow transparency is limited, only mentions config files and API keys; sensitive data handling not mentioned; many dependencies without security audit; external effects include web search and file generation, but side effects not explicit; no rollback mechanism; source attribution has contributor list and citations, but publisher unverified. Deductions: missing user confirmation, sensitive data handling, dependency security, rollback.
Evidence shows: project has test files (test_apis.py, conftest.py), but tests depend on external models and APIs, no complete test results; many dependencies from external services (Tavily, MinerU), availability depends on external; failure messages not explicit in docs. Deductions: missing failure messages, limited test coverage.
Evidence shows: README provides multiple usage scenarios (CLI, Docker, source), supports multiple languages, but capability boundaries not explicit; trigger precision moderate, CLI commands clear but internal triggers not detailed; environment fit limited, only Linux/macOS, Windows not supported. Deductions: insufficient capability boundaries and trigger precision.
Evidence shows: README well-structured, provides install instructions, examples, case studies, MIT license, but lacks explicit version changelog and known limitations; naming stable but version dynamic; maintenance responsibility has contributor list but no clear maintainer. Deductions: missing version changelog and known limitations.
Evidence shows: output is PPTX file, directly usable; provides case studies, but no cost-benefit analysis; marginal value high, but depends on external services and models, cost may be high. Deductions: missing cost-benefit analysis.
Evidence shows: README cites papers and models, but no detailed experimental data; cross-source verification limited, relies on own claims; facts and inferences not clearly separated. Deductions: insufficient separation of facts and inferences.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Publisher unverified, identity unknown, handle with caution.
- Many dependencies including external services, be aware of supply chain security.
- Windows not supported, limited environment fit.
- Lack of user confirmation and rollback, operate with caution.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
Pinned source release for reproducing DeepPresenter (ACL 2026). Commit: 2419d30b134a71486523e95ded60b32489fd3c61 Use the README and configuration files at this tag for reproduction instructions.View on GitHub ↗ -
v2.0.0 PPTAgent V2: DeepPresenter Integrated
Release notes excerpt
Release v2.0.0 <h2>✨ New Features</h2> <p>PPTAgent V2 introduces revolutionary AI capabilities: <strong>Deep Research Integration</strong> enables intelligent multi-source content gathering and synthesis, while <strong>Free-Form Visual Design</strong> breaks traditional template constraints with flexible layouts. The new <strong>Agent Sandbox</strong> provides 30+ professional tools in a secure execution environment for autonomous asset creation. <strong>AI-powered image generation</strong> transforms text descriptions into custom illustrations, and <strong>DeepPresenter Integration</strong …View on GitHub ↗ -
Release notes excerpt
What's Changed * Bump axios from 1.7.7 to 1.8.2 in /pptagent_ui by @dependabot[bot] in https://github.com/icip-cas/PPTAgent/pull/111 * feat: add section summary;refactor: use rule-based functional layout insertion; fix: deepcopy caused unstable numerical problem by @Force1ess in https://github.com/icip-cas/PPTAgent/pull/113 * proj: add bestpractice; feat: improve image schedule, markdown parse by @Force1ess in https://github.com/icip-cas/PPTAgent/pull/114 * feat: improve generated toc by @Force1ess in https://github.com/icip-cas/PPTAgent/pull/115 …View on GitHub ↗
FAQ
Is the fine-tuned DeepPresenter model mandatory?
Can it run offline?
offline_mode: true in deeppresenter/config.yaml to avoid loading network-dependent tools such as web search.What inputs and outputs are supported?
-f attachments, and an optional -p page range; the examples use XLSX and PDF attachments and write a .pptx output.