Skip to content

Mrguanglei/SlideAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👋 Hi~ SlideAgent - Making PPT Generation Simple

中文 | 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.

Please star if you find this helpful ✨ ✨ ✨ ✨ ✨

SlideAgent Homepage

⚠️ Note: This project is based on PPTAgent (CAS) with secondary development, the code part still maintains the PPTAgent naming

✨ Main Features

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

✨ Complete

  • 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.

✨ TODO

  • 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

🚀 Quick Start

Prerequisites

  • Docker and Docker Compose
  • Git

Run with Docker Compose

  1. Clone the repository

    git clone https://github.com/Mrguanglei/SlideAgent.git
    cd SlideAgent
  2. Configuration (Optional) Copy .env.example to .env and modify as needed:

    cp .env.example .env

    You can configure database, LLM API Key, etc. in the .env file.

  3. Build and start services

    docker-compose up --build -d
  4. Access the application

📸 Screenshots

Home Chat Generation
Home Chat Generation
Knowledge Base Global Search
Knowledge Base Global Search
Online Editing Multiple Downloads
Online Editing Multiple Downloads

🛠️ Project Structure

.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

⚙️ Environment Variables

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

🤝 Contributing

All forms of contributions are welcome! If you have any ideas or suggestions, feel free to submit Pull Requests or create Issues.

Star History Chart

🙏 Acknowledgments

  • 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.

📄 License

This project follows the AGPL-3.0 License. For learning and communication purposes only, commercial use is prohibited.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •