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)
```bash
# 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)
```bash
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 **Settings****API 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
```bash
pip install notebooklm-py[browser]
```
### Step 2: Run the login script
```bash
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
```bash
streamlit run app.py
```
Open your browser to `http://localhost:8501`.