Spaces:
Runtime error
Runtime error
| # 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`. | |