OpenFrame Documentation
Welcome to the comprehensive documentation for OpenFrame - the AI-powered, multi-tenant MSP platform that integrates multiple tools into a single intelligent interface.

📚 Table of Contents
Getting Started
New to OpenFrame? Start here to get up and running quickly:
Development
Guides for developers contributing to or extending OpenFrame:
Reference Documentation
Technical reference documentation for all OpenFrame components:
API Layer
Authorization & Security
Gateway & Routing
External API
Streaming & Events
Data Layer
Client Services
Frontend & AI
Service Applications
Diagrams
Visual documentation and architecture diagrams:
- Architecture Diagrams - View detailed Mermaid diagrams in:
./architecture/diagrams/
- Component Interactions - Service communication and data flow diagrams
- Security Models - Authentication and authorization flow diagrams
- Data Pipelines - Streaming and batch processing visualizations
CLI Tools
The OpenFrame CLI tools are maintained in a separate repository:
Note: CLI tools are NOT located in this repository. Always refer to the external repository for installation and usage.
🔍 Finding What You Need
By Use Case
Setting up OpenFrame:
- Start with Prerequisites
- Follow Quick Start
- Complete First Steps
Understanding the Architecture:
- Read the main README architecture overview
- Study Service Applications Entrypoints
- Review specific service documentation for detailed component understanding
Contributing Code:
- Review Contributing Guidelines
- Set up Local Development
- Read Security Best Practices
Integrating with OpenFrame:
- Review External API Service for public APIs
- Study Frontend API Clients for frontend integration
- Check Authorization Server for authentication
By Technology
Spring Boot Services:
- API, Authorization, Gateway, Stream, Client service documentation
Data Technologies:
- MongoDB, Cassandra, Apache Pinot, Kafka documentation
Frontend & AI:
- React/TypeScript frontend, Mingo AI, Chat client documentation
Security & Multi-tenancy:
- OAuth2/OIDC, JWT, tenant isolation documentation
🆘 Support and Community
Getting Help
Community Channels:
- Slack: OpenMSP Community
#general - General discussion
#dev-help - Development questions
#documentation - Documentation feedback
Official Resources:
Contributing to Documentation
Documentation improvements are always welcome! To contribute:
- For Quick Fixes: Edit files directly and submit a pull request
- For Major Changes: Discuss in Slack
#documentation channel first
- Follow Guidelines: Use our Contributing Guidelines
Reporting Issues
If you find issues with the documentation:
- Check if the issue already exists in GitHub Issues
- Create a new issue with the
documentation label
- Provide clear details about what's wrong or missing
📖 Quick Links
🏗️ Architecture Overview
OpenFrame is built as a multi-tenant, event-driven microservice platform with the following key characteristics:
Multi-Tenant by Design:
- Complete tenant isolation across all services
- Tenant-scoped OAuth2 clients and JWT tokens
- Database-level tenant separation
- RSA key management per tenant
AI-Powered Automation:
- Mingo AI - Intelligent technician assistant
- Fae - AI client interface
- Real-time dialog orchestration
- Streaming message processing
Event-Driven Architecture:
- Kafka Streams for real-time event processing
- NATS/JetStream for agent communication
- CDC (Change Data Capture) integration
- Message enrichment and normalization
Microservice Foundation:
- Spring Boot 3.3.0 with Java 21
- Reactive gateway with Spring WebFlux
- GraphQL + REST API support
- Service discovery and configuration management
For a complete architectural overview, see the main README.
Documentation generated by OpenFrame Doc Orchestrator