Shinzo-UI
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.
How to use
- 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.
โจ Key Features
๐ฏ Core Functionality
- 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 cuโฆ
Shinzo-UI
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.
How to use
- 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.
โจ Key Features
๐ฏ Core Functionality
- 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
๐จ User Experience
- 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
๐ ๏ธ Technical Features
- 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
๐ Quick Start
Prerequisites
- Modern web browser (Chrome/Firefox/Edge)
- Ollama server (optional, for local AI models)
- Internet connection (for CDN dependencies)
Installation
- Download the
Shinzo UI.htmlfile - Open it directly in your browser
- Configure your API settings (Settings tab)
Basic Configuration
- 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)
๐ File Structure
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)
๐ฎ Usage Guide
Starting a Chat
- 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
Managing Knowledge Base
- Navigate to "Knowledge" tab
- Upload documents using the upload button
- Documents are automatically chunked and embedded
- Use
#symbol in chats to trigger RAG context
Creating Workspaces
- Go to "Spaces" tab
- Click "Create Space"
- Add custom instructions and files
- Start space-specific chats
Voice/Video Calls
- 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
โ๏ธ Configuration Options
API Settings
- 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)
Web Search
- Serper API Key: For enhanced search results
- Proxy Mode: CORS or custom proxy for web scraping
Voice Settings
- STT Endpoint: Speech-to-text API endpoint
- TTS Endpoint: Text-to-speech API endpoint
- VAD Enabled: Voice activity detection
- Playback Speed: Audio playback rate
๐ง Advanced Features
Model Builder
Create custom AI models using Modelfile syntax:
- Navigate to "Model Builder" tab
- Select base model
- Define system prompt and parameters
- Click "Create Model"
Concurrent Conversations
- Toggle concurrent mode to use two models simultaneously
- Each model responds independently for comparison
Export/Import
- Export chat history as JSON
- Import previous conversations
- Archive chats for organization
๐๏ธ Data Storage
IndexedDB Structure
superRAG_DB (v5)
โโโ documents (metadata)
โโโ chunks (vector embeddings)
โโโ conversations (chat history)
โโโ spaces (workspace configurations)
Local Storage
- Application settings
- UI preferences
- Connection configurations
๐ Security Notes
Data Privacy
- All data stored locally in browser
- No external data transmission unless configured
- API keys stored in browser local storage
File Processing
- Documents processed client-side
- Images converted to base64 for attachments
- TXT/PDF/DOCX parsing happens in browser
๐ CDN Dependencies
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)
๐ Troubleshooting
Common Issues
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
Browser Compatibility
- Chrome 90+ (recommended)
- Firefox 88+
- Edge 90+
- Safari 14.1+
๐ Development
Customization
- Modify CSS variables in
:rootfor theming - Extend VectorDB class for different storage backends
- Add new file processors in
extractTextFromFile()
Adding Features
- New view sections can be added to HTML
- Extend
appobject with new methods - Update sidebar navigation accordingly
๐ License
Created by One Man Studios
This project is provided as-is for educational and personal use. Commercial use is strictly prohibited.
๐ค Contributing
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.