| English
SlideAgent is an open-source AI-driven presentation generation tool. Simply input your ideas to automatically generate beautiful PPTs, supporting multiple export formats and online sharing.
⚠️ Note: This project is based on PPTAgent (CAS) with secondary development, the code part still maintains the PPTAgent naming
| Feature | Status | Description |
|---|---|---|
| AI PPT Generation | ✅ | Based on large language models, automatically generate outlines, content and designs |
| Online Sharing | ✅ | Generate share links with expiration settings |
| Global Search | ✅ | Quickly search conversation history and PPT projects |
| Knowledge Base | ✅ | Upload documents, generate PPTs based on knowledge base content |
| Task Queue | ✅ | Batch upload documents, automatic backend queue processing |
- Content Editing - Directly edit text content on preview page
- Online Preview - Real-time PPT preview in browser
- Download Export - Support export to PDF, HTML, PPTX formats,Note: The style will be lost.PPTX Processing in progress.
- Conversational Editing - Continuously modify and optimize PPT content through dialogue
- Database Search Tool - Call the knowledge base tool
- Multi-version Management - Save historical versions, rollback and compare anytime
- Docker and Docker Compose
- Git
-
Clone the repository
git clone https://github.com/Mrguanglei/SlideAgent.git cd SlideAgent -
Configuration (Optional) Copy
.env.exampleto.envand modify as needed:cp .env.example .env
You can configure database, LLM API Key, etc. in the
.envfile. -
Build and start services
docker-compose up --build -d
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000/docs
| Home | Chat Generation |
|---|---|
![]() |
![]() |
| Knowledge Base | Global Search |
![]() |
![]() |
| Online Editing | Multiple Downloads |
![]() |
![]() |
.env.example # Environment variables example
docker-compose.yml # Docker compose configuration
README.md # Project documentation
backend/ # Python backend (FastAPI)
├── services/ # Core services (export, sharing, knowledge base)
├── routers/ # API routes
├── database/ # Database models and CRUD
├── api_server.py # FastAPI server entry point
├── requirements.txt # Python dependencies
└── Dockerfile
frontend/ # React frontend (Vite)
├── src/
│ ├── pages/ # Page components (Home, Knowledge, ShareView)
│ ├── components/ # Reusable components (Sidebar, Modals, etc.)
│ ├── lib/ # API requests, utility functions
│ └── types/ # TypeScript type definitions
├── package.json # Node.js dependencies
├── vite.config.ts # Vite configuration
└── Dockerfile
Create a .env file in the project root directory to override default configurations.
| Variable | Default Value | Description |
|---|---|---|
POSTGRES_DB |
pptagent |
Database name |
POSTGRES_USER |
pptagent |
Database username |
POSTGRES_PASSWORD |
pptagent |
Database password |
DATABASE_URL |
postgresql+asyncpg://... |
Database connection string |
PPTAGENT_API_BASE_URL |
https://open.bigmodel.cn/api/paas/v4/ |
PPT generation LLM API address |
PPTAGENT_API_KEY |
your_api_key |
PPT generation LLM API Key |
PPTAGENT_MODEL |
glm-4-flash |
PPT generation LLM model |
KNOWLEDGE_LLM_BASE_URL |
PPTAGENT_API_BASE_URL |
Knowledge base LLM API address |
KNOWLEDGE_LLM_API_KEY |
PPTAGENT_API_KEY |
Knowledge base LLM API Key |
KNOWLEDGE_LLM_MODEL |
glm-4-flash |
Knowledge base LLM model |
KNOWLEDGE_EMBEDDING_MODEL |
embedding-3 |
Knowledge base embedding model |
KNOWLEDGE_UPLOAD_DIR |
/tmp/knowledge_uploads |
Knowledge base file upload directory |
All forms of contributions are welcome! If you have any ideas or suggestions, feel free to submit Pull Requests or create Issues.
- PPTAgent (CAS) - This project is based on this open-source project with secondary development, thanks to the original authors.
- shadcn/ui - Frontend UI component library.
- FastAPI - High-performance Python web framework.
- React - JavaScript library for building user interfaces.
This project follows the AGPL-3.0 License. For learning and communication purposes only, commercial use is prohibited.





