wsq-courseware-generator / docs /content /getting-started.md
Alfred Ang
Upload folder using huggingface_hub
532ffe7 verified
|
Raw
History Blame Contribute Delete
2.48 kB

Getting Started

Follow these steps to set up the WSQ Courseware Generator on your local machine.

Prerequisites

  • Python 3.11+
  • Git
  • uv (Recommended package manager)
  • Node.js (Required for MCP servers)

1. Installation

Recommended Method (uv)

# Clone the repository
git clone https://github.com/alfredang/courseware_openai_agents.git
cd courseware_openai_agents

# Initialize environment
uv venv
source .venv/bin/activate

# Install dependencies
uv pip install -r requirements.txt

Manual Method (pip)

git clone https://github.com/alfredang/courseware_openai_agents.git
cd courseware_openai_agents
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2. Configuration

API Keys

The application supports multiple providers. You can configure them via the UI:

  1. Run the app: streamlit run app.py
  2. Navigate to SettingsAPI Keys
  3. Input your keys for OpenRouter, OpenAI, or Gemini.

Database Configuration

To store company settings and model configurations, ensure your DATABASE_URL (PostgreSQL) is set in .streamlit/secrets.toml or as an environment variable.

3. NotebookLM Setup (Required for Slides Generation)

The Generate Slides module uses Google NotebookLM to create slide decks. This requires a one-time login with a Google account.

Step 1: Install NotebookLM library

pip install notebooklm-py[browser]

Step 2: Run the login script

python notebooklm-mcp/login_windows.py

This will:

  1. Open a Chromium browser window
  2. Navigate to Google NotebookLM

Step 3: Sign in with your Google account

  1. Complete the Google login in the browser window
  2. Wait until you see the NotebookLM homepage
  3. Press Enter in the terminal to save your session

Your session is saved locally at ~/.notebooklm/storage_state.json. This file is not pushed to GitHub — each user must log in on their own machine.

Notes

  • Any Google account works (personal or workspace Gmail)
  • The login only needs to be done once per machine
  • If your session expires, simply run the login script again
  • The slides module also works in non-agentic mode (no LLM API tokens needed)
  • Agentic mode (AI-enhanced) requires an OpenRouter API key configured in Settings (Gemini 2.0 Flash is free)

4. Running the App

streamlit run app.py

Open your browser to http://localhost:8501.