mirror of
https://github.com/Significant-Gravitas/AutoModerate.git
synced 2026-11-07 17:53:54 -10:00
docker/Dockerfile used 3.14-slim and deploy/Dockerfile used 3.11-slim. Unify on 3.12 — the version the CI matrix tests against and the local venv runs — so the image matches what's actually validated. Update the docs that referenced 3.11 to match.
AutoModerate Documentation
Welcome to the AutoModerate documentation! This guide covers everything you need to know about the AutoModerate content moderation platform.
Documentation Overview
Getting Started
- Installation & Setup - Get AutoModerate running locally or in production
- System Architecture - How AutoModerate is built
API Documentation
- API Overview - Authentication and general API information
- Content Moderation - Submit and retrieve moderated content
- Project Statistics - Get basic moderation statistics
- WebSocket Events - Real-time updates and notifications
What is AutoModerate?
AutoModerate is a Flask-based content moderation platform that uses OpenAI for intelligent content analysis with real-time WebSocket updates. It provides:
- Multi-layered Moderation: Keyword, regex, and AI-powered content filtering
- Real-time Updates: WebSocket-powered live notifications
- Project-based Organization: Manage multiple moderation contexts
- RESTful API: Complete API for integration with any application
- Scalable Architecture: Modular design with parallel processing
Core Features
Content Moderation
- Text Analysis: Advanced text moderation with customizable rules
- Multiple Rule Types: Keyword blocking, regex patterns, and AI prompts
- Parallel Processing: Fast AI rule evaluation with early termination
Real-time Operations
- WebSocket Integration: Live updates for moderation results
- Project Rooms: Isolated real-time channels per project
- Instant Notifications: Immediate feedback on content decisions
Management & Analytics
- API Key Management: Generate and manage project-specific API keys
- Basic Statistics: Track approval, rejection, and flagging rates
- Project Organization: Multiple projects with isolated data
Architecture Highlights
AutoModerate features a clean, modular architecture:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Web Client │ │ API Client │ │ WebSocket │
│ Dashboard │ │ Integration │ │ Real-time │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌───────────────────────────┐
│ Flask Application │
│ ┌──────────────────────┐ │
│ │ModerationOrchestrator│ │
│ └──────────────────────┘ │
└───────────────────────────┘
│
┌─────────────────────────┐
│ Modular Services │
│ ┌──────────┬─────────┐ │
│ │Moderation│ AI │ │
│ │ Services │Services │ │
│ └──────────┴─────────┘ │
└─────────────────────────┘
Quick Links
- API Base URL:
http://localhost:6217/api(development) - Health Check:
http://localhost:6217/api/health - Default Admin:
[email protected]/admin123
Getting Help
- Check the Installation Guide for setup issues
- Review API Documentation for integration questions
- See Architecture Guide for development questions
Contributing
We welcome contributions! Please see our contributing guidelines and feel free to submit issues and pull requests.
Available API Endpoints
- POST /api/moderate - Submit content for moderation
- GET /api/content/{id} - Get specific content details
- GET /api/content - List moderated content (with pagination)
- GET /api/stats - Get basic project statistics
- GET /api/health - API health check
- GET /api/docs - API documentation page
WebSocket Events
- connect - Client connects to server
- disconnect - Client disconnects from server
- join_project - Join a project room for updates
- leave_project - Leave a project room
Need help? Start with the Installation Guide or check out the API Overview