An experimental Open edX plugin for AI-powered educational workflows
The AI Extensibility Framework is a proof-of-concept plugin that explores artificial intelligence integration in the Open edX platform. It provides a modular, extensible architecture for building AI-powered workflows that enhance the learning experience.
This plugin demonstrates how AI capabilities can be integrated into Open edX in a modular and extensible way, following the principle of "open for extension, closed for modification." It provides infrastructure for AI workflows while maintaining compliance with educational requirements and Open edX standards.
Warning
Experimental - This plugin is in active development and should not be used in production environments.
This is an exploratory project developed by edunext as part of FC-111 to investigate AI extensibility patterns for the Open edX platform. The plugin serves as a testing ground for AI integration concepts that may inform future development.
What Works:
- Frontend integration with Learning MFE and Authoring MFE via plugin slots
- Basic content extraction from course unit
- AI-powered content summarization
- Modular workflow-based architecture for AI processing
- Support for multiple LLM providers via LiteLLM (OpenAI, Anthropic, local models)
- Context-aware AI assistance examples integrated into the learning experience
- Observable workflows with event analytics in aspects
- Configuration-driven behavior without code changes
Documentation
Documentation is available on ReadTheDocs.
- Open edX installation (Tutor-based deployment recommended)
- Python 3.11 or higher
- Node.js 18.x or higher (for frontend development)
- API key for supported LLM provider (OpenAI, Anthropic, etc.)
Install the plugin in your Open edX environment using the provided tutor plugin:
pip install git+https://github.com/openedx/openedx-ai-extensions.git tutor plugins enable openedx-ai-extensions tutor images build openedx tutor images build mfe tutor local launch
After installation, you need to configure the plugin with your AI provider and set up workflows. The configuration involves:
- Provider Setup: Configure authentication and model routing for your chosen AI service
- Scope Configuration: Define where AI workflows will be available (courses, locations)
- Profile Configuration: Define what the AI will do and what information it will access
For detailed configuration instructions, see the Configuration Guide.
Add to your Tutor config.yml:
AI_EXTENSIONS:
openai:
API_KEY: "sk-proj-your-api-key"
MODEL: "openai/gpt-4o-mini"
PLUGINS:
- openedx-ai-extensionsThen configure scopes and profiles in the Django admin at /admin/openedx_ai_extensions/.
TBD when the tutor plugin PR is merged.
- All code, comments, and documentation must be in clear, concise English
- Write descriptive commit messages using conventional commits.
- Follow the CI instructions on code quality.
Significant architectural decisions are documented in ADRs (Architectural Decision Records) located in the docs/decisions/ directory.
We welcome contributions! This is an experimental project exploring AI integration patterns for the Open edX platform.
How to Contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes following the code standards
- Write or update tests as needed
- Submit a pull request with a clear description
See the Contributing to the Open edX Project quickstart for more details about the project's code quality standards and review norms.
For questions or discussions, please use the Open edX discussion forum.
- Open edX Conference Paris 2025 Presentation
- Open edX Plugin Development
- LiteLLM Documentation
- Architectural Decision Records (ADRs)
- AI Extension WG Demo (before v1)
- AI Extension Framework documentation
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.
This repository is covered by the Open edX maintainers program and the current maintainers are listed in the catalog-info.yaml file.
Community Support:
- Open edX Forum: https://discuss.openedx.org
- GitHub Issues
Note: As this is an experimental project, support is provided on a best-effort basis.