We **strongly recommend** deploying our fine-tuned model for the best experience with our agent project. According to our experiments, it **significantly outperforms existing open-source models**.
| Format | HuggingFace | ModelScope |
|--------|-------------|------------|
| GGUF (Quantized) | [Forceless/DeepPresenter-9B-GGUF](https://huggingface.co/Forceless/DeepPresenter-9B-GGUF) | [forceless/DeepPresenter-9B-GGUF](https://modelscope.cn/models/forceless/DeepPresenter-9B-GGUF) |
| Full Weights | [Forceless/DeepPresenter-9B](https://huggingface.co/Forceless/DeepPresenter-9B) | [forceless/DeepPresenter-9B](https://modelscope.cn/models/forceless/DeepPresenter-9B) |
## News
- **[2026/04]** [DeepPresenter](https://arxiv.org/abs/2602.22839) accepted to **ACL 2026**!
- **[2026/03]** We released fine-tuned models and taskset on [Hugging Face](https://huggingface.co/collections/ICIP/deeppresenter).
- **[2026/01]** Freeform & template generation now support PPTX export and offline mode. Context management added to prevent context overflow.
- **[2025/12]** Released **DeepPresenter** codebase with major upgrades — Deep Research Integration, Free-Form Visual Design, Autonomous Asset Creation, Text-to-Image Generation, and an Agent Environment with sandbox & 20+ tools.
- **[2025/09]** ️ MCP server support added — see [MCP Server](PPTAgent/DOC.md#mcp-server-) for configuration details.
- **[2025/08]** [PPTAgent](https://arxiv.org/abs/2501.03936) accepted to **EMNLP 2025**!
- **[2025/05]** ⭐ Reached **1,000 stars** on GitHub!
- **[2025/01]** Open-sourced the PPTAgent codebase.
## Usage
> [!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.
### Configuration
If you use the CLI, `pptagent onboard` can help create and update these configurations interactively. If you use Docker Compose or build from source, you should prepare them manually:
```bash
cp deeppresenter/config.yaml.example deeppresenter/config.yaml
cp deeppresenter/mcp.json.example deeppresenter/mcp.json
```
#### Optional Services That Improve Quality
The 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](https://www.tavily.com/), then set `TAVILY_API_KEY` in [`deeppresenter/mcp.json`](deeppresenter/mcp.json).
- **MinerU**: improves PDF parsing quality. You can either apply for an API key at [mineru.net](https://mineru.net/apiManage/docs) and set `MINERU_API_KEY` in [`deeppresenter/mcp.json`](deeppresenter/mcp.json), or deploy MinerU locally and set `MINERU_API_URL` instead.
- **Text-to-image model**: improves image generation quality. Configure `t2i_model` in [`deeppresenter/config.yaml`](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](deeppresenter/utils/constants.py).
### 1. Personal Use / OpenClaw Integration: CLI
> [!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.
```bash
# 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 |
### Docker Images
DeepPresenter publishes two runtime images:
| Local image name | Purpose | Docker Hub | 1ms.run mirror |
| --- | --- | --- | --- |
| `deeppresenter-host` | Host service for the web UI and orchestration runtime | [`forceless/deeppresenter-host`](https://hub.docker.com/r/forceless/deeppresenter-host) | [`docker.1ms.run/forceless/deeppresenter-host`](https://1ms.run/r/forceless/deeppresenter-host) |
| `deeppresenter-sandbox` | Sandbox image used by the runtime for isolated tool execution | [`forceless/deeppresenter-sandbox`](https://hub.docker.com/r/forceless/deeppresenter-sandbox) | [`docker.1ms.run/forceless/deeppresenter-sandbox`](https://1ms.run/r/forceless/deeppresenter-sandbox) |
### 2. Minimal Setup / Development: Build From Source
Use this mode if you want the smallest abstraction layer and full control over dependencies during development.
```
…
```
Start the app:
```bash
python webui.py
```
### 3. Server Deployment: Docker Compose
Use this mode for a stable server environment with explicit dependencies.
```
…
```
The service exposes the web UI on `http://localhost:7861`.
## Case Study
- #### Prompt: Please present the given document to me.
- #### Prompt: 请介绍小米 SU7 的外观和价格
- #### Prompt: 请制作一份高中课堂展示课件,主题为“解码立法过程:理解其对国际关系的影响”
---
## Contributors
Force1ess
Puelloc
hongyan
BrandonHu
Dnoob
Sadahlu
lnennnn
KurisuMakiseSame
Aarish Alam
Angelen
Eliot White
EvolvedGhost
ISCAS-zwl
白雨 | James Brown
JunZhang
Open AI Tx
Sense_wang
SuYao
Zakir Jiwani
Zhenyu
## Citation
If you find this project helpful, please use the following to cite it:
```
…
```