# MoodleGPT (SparkAssist) MoodleGPT is a powerful AI-powered study assistant designed as a Chrome extension. It seamlessly integrates with your learning management system to provide intelligent assistance for your quizzes and study materials. ## Features - **AI-Powered Assistance:** Get help with quizzes and study material directly within your browser. - **Customizable Models:** Bring your own API key (BYOK) and use the AI models of your choice. - **Modern Interface:** A clean, fast, and responsive popup interface built with Preact and Tailwind CSS. ## Functionality Overview MoodleGPT is built to understand the structure of Moodle quizzes and provide context-aware solutions. Key capabilities include: - **Comprehensive Question Support:** It automatically parses a wide variety of Moodle question types, including: - Multiple Choice (Radio Buttons & Checkboxes) - Select / Dropdowns - Drag and Drop (Gap Select, DDWTOS) - Matching and Ordering - Numerical and Text Inputs - Atto and ContentEditable Rich Text areas - **Operating Modes:** - **Autocomplete Mode:** Automatically applies the AI-generated answers directly into the Moodle interface where possible. - **Clipboard Mode:** Copies the generated answers to your clipboard for manual input. - **Context-Aware AI Parsing:** It reads the full history and context of the quiz page to provide highly accurate, tailored responses based on the prompt structure. ## Installation 1. Clone this repository to your local machine: ```bash git clone https://git.lucida.ee/blackicedbear/MoodleGPT ``` 2. Navigate to the project directory: ```bash cd MoodleGPT ``` 3. Install the required dependencies: ```bash npm install ``` 4. Build the extension: ```bash npm run build ``` 5. Open Chrome and navigate to `chrome://extensions/`. 6. Enable **Developer mode** in the top right corner. 7. Click **Load unpacked** and select the `extension` directory from the cloned repository. ## Configuration & Model Setup MoodleGPT allows you to configure your preferred AI model. We highly recommend using **OpenRouter** as it gives you access to a wide variety of models and supports a "Bring Your Own Key" (BYOK) approach. ### Setting up OpenRouter 1. **Get an API Key:** Sign up at [OpenRouter.ai](https://openrouter.ai/) and generate your API key. 2. **Open the Extension Settings:** Click on the MoodleGPT extension icon in your browser toolbar to open the popup. Navigate to the settings or configuration area. 3. **Configure the API:** - **API Key:** Enter your OpenRouter API key. - **Base URL:** Due to browser extension CORS restrictions with OpenRouter, you should use our dedicated CORS proxy. Enter the following URL into the Base URL field: ```text https://openrouter-proxy.lucida.ee/api/v1 ``` - **Model:** Specify the OpenRouter model you wish to use (e.g., `google/gemini-3.1-pro-preview`, `anthropic/claude-opus-4.7`, `openai/gpt-5.5`, etc.). Once configured, the extension will route your requests securely through the proxy to OpenRouter, allowing you to seamlessly use any of their available models. ## Development - `npm run build` - Full build (lints, formats, builds CSS, and bundles JS) - `npm run build:css` - Compiles the Tailwind CSS - `npm run fastBuild` - Bundles the JavaScript using Rollup - `npm run lint` - Lints the codebase - `npm run prettier` - Formats the codebase ## License This project is licensed under the MIT License.