An AI-powered agent that helps students find open educational resources (OER) for their courses. It uses Claude to map a course name to search keywords, then queries ALG, OER Commons, and LibreTexts to return openly licensed materials.
- Python 3.10+
- Node.js and npm
- An Anthropic API key
Fedora/RHEL:
sudo dnf install nodejs -yUbuntu/Debian:
sudo apt install nodejs npm -ygit clone https://github.com/KeysToRealities/Oer-Agent.git
cd Oer-Agentcd backendCreate and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtCopy the example env file and add your API key:
cp .env.example .envOpen .env and replace your_api_key_here with your actual Anthropic API key:
ANTHROPIC_API_KEY=your_api_key_here
Start the Flask server:
python app.pyThe backend runs on http://localhost:5000.
Open a second terminal:
cd frontend
npm install
npm run devThe frontend runs on http://localhost:5173. Open that URL in your browser.
- Enter a course name or number (e.g.
ENGL 1101,Introduction to Psychology) - The agent maps it to search keywords using Claude
- Results are streamed in from Affordable Learning Georgia, OpenStax, Open Textbook Library, OER Commons, LibreTexts, and MERLOT
- Only openly licensed resources are returned
- Claude scores each resource and results are ranked by overall score