A modern Blazor Server application for interacting with the DriftMind API - an intelligent document processing and search system powered by Azure OpenAI and Azure AI Search.
- 💬 ChatGPT-like Interface - Natural conversations with AI about your documents
- 📁 Document Management - Upload, organize, and manage documents with secure downloads
- 🔄 Real-time Communication - Powered by SignalR for instant responses
- 🎨 Modern Dark Theme - Responsive design optimized for all devices
- 📄 Multi-format Support - PDF, DOCX, TXT, and Markdown files
- 🔍 Semantic Search - AI-powered document search with contextual answers
- .NET 10.0 SDK
- Running DriftMind API instance
git clone https://github.com/JustDanMan/DriftMindWeb.git
cd DriftMindWeb
dotnet restore
dotnet runNavigate to https://localhost:5001 to start using the application.
Edit appsettings.json to configure your DriftMind API connection:
{
"DriftMindApi": {
"BaseUrl": "http://localhost:5175",
"MaxUploadSizeMB": 12
}
}Pre-built Docker images are available on GitHub Container Registry (GHCR):
- Release builds: Tagged with version numbers (
v0.0.24-alpha) andlatest - Security builds: Weekly rebuilds every Monday to include upstream security fixes
- Manual builds: Available for critical security updates
docker pull ghcr.io/justdanman/driftmindweb:latestThe application can be configured through appsettings.json:
{
"DriftMindApi": {
"BaseUrl": "http://localhost:5175",
"MaxUploadSizeMB": 12
},
"ChatService": {
"MaxSourcesForAnswer": 10,
"ChatHistoryEnabled": true,
"MaxChatHistoryMessages": 10
},
"DocumentsPage": {
"InitialPageSize": 25,
"EnableProgressiveLoading": true
}
}For scalable multi-instance deployments:
{
"AzureSignalR": {
"Enabled": true,
"ConnectionString": "Endpoint=https://your-signalr.service.signalr.net;AccessKey=...",
"ApplicationName": "DriftMindWeb-Production"
}
}For load-balanced deployments:
{
"SharedDataProtection": {
"Enabled": true,
"AzureStorage": {
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=...",
"ContainerName": "dataprotection-keys"
}
}
}- Frontend: Blazor Server (.NET 10.0) with Interactive Server Rendering
- Real-time: SignalR (local or Azure SignalR Service)
- UI: Bootstrap 5 with custom dark theme
- Security: Token-based secure downloads with HMAC-SHA256
- Deployment: Docker-ready with Azure integration
- Documents: PDF, DOCX, TXT, Markdown (up to 12MB)
- Text Input: Direct text entry up to 15KB
- Features: Automatic validation, smart truncation, real-time feedback
Key endpoints for DriftMind API communication:
POST /upload- File and text upload with chunkingPOST /search- Semantic search with AI answersPOST /documents- Document management with paginationPOST /download/token- Secure download token generation
- Issues: GitHub Issues
- Documentation: See the
/docsfolder for detailed guides - Troubleshooting: Check SignalR status page for connection issues
This project is licensed under the MIT License. See LICENSE for details.
Note: Certain branding assets in this repository are subject to additional usage restrictions. See BRANDING.md for more information.
The following third-party packages are used in this project. Their respective licenses apply to those components. The overall project license remains MIT as noted above.
| Package | Version | License | Copyright |
|---|---|---|---|
| Azure.Extensions.AspNetCore.DataProtection.Blobs | 1.5.1 | MIT | © Microsoft Corporation |
| Azure.Storage.Blobs | 12.26.0 | MIT | © Microsoft Corporation |
| Microsoft.Azure.SignalR | 1.32.0 | MIT | © Microsoft Corporation |
| Markdig | 0.44.0 | BSD-2-Clause | © Alexandre Mutel |
Full license texts: see THIRD-PARTY-NOTICES.md.
DriftMindWeb - Intelligent document processing made simple 🚀
