A robust, single standalone html file AI interface for Ollama and OpenAI. Features local RAG with vector search, real-time voice/video calls, document analysis (PDF/DOCX), and project workspaces. Runs entirely in the browser using IndexedDB for privacy and speed—no external backend required.
- Just download the html file
- Configure the API, if u have OpenAI's API or Setup Base URL if u use Ollama or Llama.cpp
- Then you're good to go.
- Have fun prompting.
- Chat Interface: Conversational UI with markdown rendering, code syntax highlighting, and LaTeX support
- Knowledge Base: Document upload & vector storage (PDF, DOCX, TXT, etc.)
- Workspace Management: Containerized project spaces with custom instructions
- Model Builder: Create custom models using Modelfile syntax
- Live Web Search: Real-time internet search integration
- Dark mode UI with modern design
- Responsive layout (mobile & desktop)
- Voice/Video call capabilities
- Real-time speech recognition (STT) and synthesis (TTS)
- Concurrent model conversations
- Citation and source tracking
- Browser-based Vector Database: IndexedDB storage for documents and conversations
- Multiple Embedding Providers: Ollama, Local (Transformers.js), OpenAI
- File Processing: PDF, DOCX, images, audio, and text files
- Export/Import: Chat history backup and restore
- Real-time Search: Live search across chats and knowledge base
- Modern web browser (Chrome/Firefox/Edge)
- Ollama server (optional, for local AI models)
- Internet connection (for CDN dependencies)
- Download the
Shinzo UI.htmlfile - Open it directly in your browser
- Configure your API settings (Settings tab)
- Set your API URL (default:
http://localhost:11434for Ollama) - Configure embedding provider (Ollama recommended for local use)
- Set up web search API key (optional, for live search)
The application is a single HTML file containing:
- HTML5: Structure and layout
- CSS3: Styling with CSS variables for theming
- JavaScript: Complete application logic
- Embedded Libraries:
- Font Awesome (icons)
- KaTeX (mathematical rendering)
- Marked.js (markdown parsing)
- DOMPurify (HTML sanitization)
- PDF.js (PDF processing)
- jsPDF (PDF generation)
- Mammoth (DOCX processing)
- Click "New Chat" in the sidebar
- Select your primary model from the dropdown
- Type your message or use voice input
- Toggle web search for real-time information
- Navigate to "Knowledge" tab
- Upload documents using the upload button
- Documents are automatically chunked and embedded
- Use
#symbol in chats to trigger RAG context
- Go to "Spaces" tab
- Click "Create Space"
- Add custom instructions and files
- Start space-specific chats
- Click phone or video icon in chat header
- Grant microphone/camera permissions
- Speak naturally - VAD (Voice Activity Detection) automatically detects speech
- Toggle mute/video during calls
- API URL: Backend server address (Ollama, OpenAI, etc.)
- API Key: Authentication token
- Embedding Provider: Ollama, Local browser, or OpenAI
- Chunk Size: Document processing size (default: 1000)
- Top K Results: RAG retrieval count (default: 3)
- Serper API Key: For enhanced search results
- Proxy Mode: CORS or custom proxy for web scraping
- STT Endpoint: Speech-to-text API endpoint
- TTS Endpoint: Text-to-speech API endpoint
- VAD Enabled: Voice activity detection
- Playback Speed: Audio playback rate
Create custom AI models using Modelfile syntax:
- Navigate to "Model Builder" tab
- Select base model
- Define system prompt and parameters
- Click "Create Model"
- Toggle concurrent mode to use two models simultaneously
- Each model responds independently for comparison
- Export chat history as JSON
- Import previous conversations
- Archive chats for organization
superRAG_DB (v5)
├── documents (metadata)
├── chunks (vector embeddings)
├── conversations (chat history)
└── spaces (workspace configurations)
- Application settings
- UI preferences
- Connection configurations
- All data stored locally in browser
- No external data transmission unless configured
- API keys stored in browser local storage
- Documents processed client-side
- Images converted to base64 for attachments
- TXT/PDF/DOCX parsing happens in browser
The application loads these libraries from CDN:
- Font Awesome 6.5.1 (icons)
- KaTeX 0.16.9 (math rendering)
- Marked.js (markdown)
- DOMPurify 3.0.6 (security)
- PDF.js 3.11.174 (PDF processing)
- jsPDF 2.5.1 (PDF generation)
- Mammoth 1.6.0 (DOCX processing)
- Transformers.js (for local embeddings)
-
Connection Failed
- Verify Ollama server is running
- Check API URL in settings
- Disable browser CORS restrictions if needed
-
File Upload Issues
- Check file size limits
- Ensure supported file types
- Try smaller chunks in settings
-
Voice Features Not Working
- Grant microphone permissions
- Check STT/TTS endpoint configuration
- Verify browser supports WebRTC
- Chrome 90+ (recommended)
- Firefox 88+
- Edge 90+
- Safari 14.1+
- Modify CSS variables in
:rootfor theming - Extend VectorDB class for different storage backends
- Add new file processors in
extractTextFromFile()
- New view sections can be added to HTML
- Extend
appobject with new methods - Update sidebar navigation accordingly
Created by One Man Studios
This project is provided as-is for educational and personal use. Commercial use is strictly prohibited.
Feel free to:
- Fork the repository
- Give a star rating 🌟
- Submit pull requests
Note: This is a client-side application. All processing happens in your browser. No data is sent to external servers unless explicitly configured in settings.