A smart Chrome extension that helps University of Queensland (UQ) students automate tasks and interact with the UQ portal through natural language commands.
- AI-Powered Automation: Uses natural language processing to understand user requests
- UQ Portal Integration: Automates tasks on the UQ student portal
- Real-time Chat Interface: Interactive chat-based user experience
- Firebase Integration: Secure user authentication and data storage
- Playwright Automation: Browser automation for task execution
Before installing, ensure you have:
- Node.js (v18 or higher) - Download here
- Python 3.8+ - Download here
- Google Chrome browser
- Git for version control
git clone <your-repository-url>
cd UQ-Agent# Install Node.js dependencies
npm install
# Install Python dependencies
pip install playwright python-Levenshtein fuzzywuzzypython -m playwright installCreate a .env file in the root directory:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id- Start the Python Automation Server (Terminal 1):
python3 vectorDBClicksIntegrated.py- Start the React Development Server (Terminal 2):
npm run dev- Load the Chrome Extension:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (toggle in top-right)
- Click "Load unpacked"
- Select the
distfolder from your project
- Open Chrome and go to
# Build the extension
npm run build
# The built extension will be in the 'dist' folderUQ-Agent/
βββ uq-agent-react/ # React + Vite Chrome Extension frontend
β βββ public/ # Static assets
β βββ src/ # React source code
β β βββ utils/ # Utility scripts
β β β βββ pythonServer.js # Bridge to Python backend
β β βββ main.jsx # App entry point
β βββ manifest.json # Chrome Extension manifest
β βββ vite.config.js # Vite configuration
β βββ package.json # Frontend dependencies
β
βββ vectorDBClicksIntegrated.py # AI-powered vector DB & automation logic
β
βββ README.md # Project documentation
The extension requires these permissions in manifest.json:
- Access to UQ portal domains
- Storage for user data
- Script execution capabilities
The automation server runs on http://localhost:3001 and handles:
- Natural language processing
- Browser automation tasks
- Integration with UQ systems
- Navigate to UQ Portal: Go to
https://portal.my.uq.edu.au - Click the Extension: Click the UQ Agent icon in Chrome toolbar
- Start Chatting: Type commands like:
- "Book a library room"
- "Find my COMPSCI 101 course"
- "Show my class schedule"
-
Python Server Connection Refused
# Ensure Python server is running python3 vectorDBClicksIntegrated.py -
Chrome Debugging Port Error
# Launch Chrome with debugging /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
-
Firebase Authentication Errors
- Check Firebase configuration in
.env - Verify Firebase project settings
- Check Firebase configuration in
-
CORS Errors
- Ensure Python server includes proper CORS headers
- Check Chrome extension permissions
- Check browser console for errors (F12)
- Monitor Python server logs for automation issues
- Use Chrome DevTools for extension debugging
-
New Automation Tasks:
- Add to
vectorDBClicksIntegrated.py - Update navigation plans in vector database
- Add to
-
UI Components:
- Create new React components in
src/components/ - Update chat interface in
ChatView.jsx
- Create new React components in
-
Firebase Integration:
- Modify
FirebaseConfig.jsfor new data structures - Update security rules in Firebase console
- Modify
# Run frontend tests
npm test
# Test Python automation
python3 -m pytest tests/- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
For support and questions:
- Check existing GitHub Issues
- Create a new issue with detailed description
- Contact the development team
π Version History
v0.3.0 (2025-08-17)
Added AI-powered task execution
Users can type commands (e.g., βShow my gradeβ) for automated navigation
v0.2.1 (2025-08-16)
Improved login flow (auto-click Dashboard login button)
v0.2.0 (2025-08-16)
UI revamp, bug fixes, and real-time chat updates
v0.1.0 (2025-08-16)
Initial release with basic chat interface and Firebase integration
Note: This extension is for educational purposes. Always comply with UQ's terms of service and academic policies when using automation tools.