@atlas0321/ollama-ui
v0.8.42
Published
Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes
Maintainers
Readme
@atlas0321/ollama-ui
Modern desktop chat interface for Ollama with advanced features including RAG (Retrieval-Augmented Generation), tool calling, web search, and multi-model thinking modes.
Note: This project is in early access and active development. Features and APIs may change. Feedback and bug reports are highly appreciated.
Table of Contents
- Features
- Installation
- Requirements
- Quick Start
- Usage
- Configuration
- Supported Models
- Development
- Troubleshooting
- License
Features
AI Capabilities
- RAG System - Semantic search with ChromaDB vector database and 2-stage retrieval pipeline (semantic search + re-ranking)
- Thinking Modes - Multiple thinking levels and model-specific reasoning (gpt-oss, qwen3, deepseek-r1)
- Tool Calling - Secure execution of bash, read, write, edit, and glob operations
- Web Search - Integrated web search with Ollama or Searx/SearxNG providers
User Experience
- Modern Settings UI - Card-based design with organized tabs (Model Settings, UI Settings, RAG Settings, Ollama Settings)
- Per-Model Settings - Each model retains its own parameters, WebSearch provider, and configuration
- Stream Abort - Stop generation instantly with ESC key or stop button
- Input History - Navigate previous messages with arrow keys (terminal-style)
- Token Counter - Real-time token tracking with context progress bar (100% tiktoken-based)
- Message Editing - Edit and re-submit previous messages
- Think-Block Visualization - Collapsible reasoning display with shimmer animation
- Syntax Highlighting - Code blocks with Atom One Dark theme
- Dark Theme - Modern gray color scheme optimized for extended sessions
Security & Control
- Permission System - Project-based, per-model tool approval (Allow Once / Always Allow / Deny)
- Secure Tool Execution - Sandboxed command execution with user consent
- Model Isolation - Separate permission configurations per model
Performance
- Render Batching - Throttled DOM updates (70-80% fewer operations)
- Scroll Optimization - Smart auto-scroll with minimal layout recalculations
- Streaming Optimization - Efficient typewriter effects applied post-stream
Installation
Quick Start
npm install -g @atlas0321/ollama-uiThe application will automatically:
- Install NPM dependencies if missing
- Prompt for optional ChromaDB installation (RAG features)
- Start ChromaDB server in background (if installed)
Requirements
Essential
- Node.js v16 or higher
- Ollama installed and running (download)
Optional (for RAG features)
- Python 3.8+ for ChromaDB
- ChromaDB will be installed automatically on first run if you choose
Quick Start
1. Start Ollama
ollama serve2. Download a Model
Download one of the officially supported models:
ollama pull gpt-oss:20b
# or
ollama pull qwen3:4bRequired for RAG features:
ollama pull snowflake-arctic-embed:l
ollama pull xitao/bge-reranker-v2-m3These embedding models are mandatory for RAG functionality.
3. Launch OllamaUI
ollama-uiUsage
Basic Chat
- Select your model from the dropdown
- Choose thinking level (low/medium/high for gpt-oss, on/off for qwen3/deepseek-r1)
- Start chatting
RAG (Retrieval-Augmented Generation)
Index your documentation and query it semantically:
Setup:
- Click Settings → RAG Settings tab
- Add documentation folder
- Wait for indexing (progress shown)
Usage:
- Enable RAG Mode (button below input)
- Ask questions about your indexed documentation
Supported Formats:
- Code: .cpp, .hpp, .h, .c, .cc, .cxx, .php, .py, .js, .ts, .jsx, .tsx, .java, .kt, .swift, .go, .rs, .lua
- Documents: .pdf, .md, .html, .htm
- Config/Data: .ini, .cfg, .conf, .toml, .yaml, .yml, .json, .xml, .csv, .txt, .log
The model will use knowledge_search tool to find relevant documentation and answer based on your indexed content.
WebSearch Integration
Enable WebSearch Mode to allow the model to search the web.
Configuration:
- Click Settings → Ollama Settings tab
- Select WebSearch Provider:
- Ollama WebSearch - Official Ollama API (requires API key from ollama.com/settings/keys)
- Searx / SearxNG - Self-hosted search (requires server URL)
- Enter API key or Searx URL
- Save settings
Usage:
- Enable WebSearch Mode (button below input)
- Ask questions requiring web information
Tool Calling
Enable Code Mode to allow tool execution.
Available Tools:
bash- Execute shell commandsread- Read files from filesystemwrite- Create or overwrite filesedit- String replacement in filesglob- File pattern matching
Permission System:
On first tool use, you will be prompted with three options:
- Allow Once - Execute this time only
- Always Allow - Remember for this tool/command
- Deny - Abort execution
Permissions are stored in .{modelname}/permissions.json in your working directory.
Keyboard Shortcuts
| Shortcut | Action |
|----------|--------|
| ESC | Abort streaming response |
| ↑ / ↓ | Navigate input history |
| Enter | Send message |
| Shift+Enter | New line in input |
Configuration
Settings Modal
Access via Settings button in header. Organized in four tabs:
Model Settings:
- Temperature, Top P, Top K
- Context Length (with visual progress bar)
- Repeat Penalty
- Seed (optional, for reproducible outputs)
UI Settings:
- Coming soon
RAG Settings:
- Add/remove documentation folders
- View indexed sources
- ChromaDB connection status
Ollama Settings:
- API Endpoint configuration
- WebSearch provider selection
- Ollama API Key (for WebSearch)
- Searx URL (for self-hosted search)
All settings are saved per-model and persist across sessions.
Ollama API Endpoint
Default: http://localhost:11434
To change:
- Settings → Ollama Settings tab
- Enter custom endpoint URL
- Save (persists in localStorage)
ChromaDB Setup
Automatic Detection:
OllamaUI will automatically find ChromaDB in standard locations:
- Windows:
%APPDATA%\Python\Python3XX\Scripts\chroma.exe - Linux:
~/.local/bin/chroma,/usr/local/bin/chroma - macOS:
/opt/homebrew/bin/chroma
Manual Installation:
# Linux/Mac
pip3 install --user chromadb
# Windows
pip install --user chromadbServer Start:
ChromaDB starts automatically. To start manually:
chroma run --host localhost --port 8000 --path ./chromaModel Configuration
Custom Modelfiles available in /models/ directory:
gpt-oss_20b_Modelfile.txt- GPT-4 with Chain-of-Thoughtqwen3_14b_Modelfile.txt- Qwen3 with thinking tagsdeepseek-r1_14b_Modelfile.txt- DeepSeek-R1 (no tool support)gemma3-tools-simple_Modelfile.txt- Gemma3 with simple tool format
Supported Models
Officially Supported
gpt-oss:20b
- Base: GPT-4 (OpenAI)
- Features: Channel-based output (analysis/commentary/final)
- Thinking: 3 levels (low/medium/high), cannot disable
- Tools: Full support
- Status: Fully tested and optimized
qwen3:4b
- Features: XML-based tool calls
- Thinking: Toggle on/off, soft-switch in prompts
- Tools: Full support
- Status: Fully tested and optimized
Other Models (Experimental)
Other Ollama models may work but are not officially supported. Features like tool calling, thinking modes, and RAG integration may have limited or no functionality. Use at your own discretion.
Required Models for RAG
For RAG functionality, the following models must be installed:
# Embedding model (semantic search)
ollama pull snowflake-arctic-embed:l
# Re-ranking model (precision ranking)
ollama pull xitao/bge-reranker-v2-m3These models are used for:
- snowflake-arctic-embed:l - Generates embeddings for semantic search (Stage 1: retrieves top 20 candidates)
- xitao/bge-reranker-v2-m3 - Re-ranks results for precision (Stage 2: selects top N most relevant)
Development
Run in Development Mode
ollama-ui --devOpens Electron DevTools for debugging.
Troubleshooting
"Connection refused" to Ollama
Solution:
Ensure Ollama is running:
ollama serveVerify endpoint in settings (default: http://localhost:11434)
ChromaDB not found
Solution:
ChromaDB will be offered for installation on first run. If skipped:
pip3 install --user chromadb # Linux/Mac
pip install --user chromadb # WindowsRAG indexing fails
Diagnosis:
- Ensure ChromaDB server is running (auto-started by OllamaUI)
- Check ChromaDB status:
curl http://localhost:8000/api/v2/heartbeat - Restart ChromaDB:
# Find process ps aux | grep chroma # Kill and let OllamaUI restart it automatically
Native module errors (tiktoken, electron)
These packages require platform-specific binaries.
Linux:
sudo apt-get install build-essential python3
npm install -g @atlas0321/ollama-ui --forceMac:
xcode-select --install
npm install -g @atlas0321/ollama-ui --forceWindows:
Install Visual Studio Build Tools, then:
npm install -g @atlas0321/ollama-ui --forceVersion History
v0.8.42 - 2025-10-19
Added:
- Extended RAG file format support from 5 to 30+ formats
- Code files: C/C++ (.cpp, .hpp, .h, .c, .cc, .cxx), Web/Scripting (.php, .py, .js, .ts, .jsx, .tsx), System/JVM (.java, .kt, .swift, .go, .rs, .lua)
- Config/Data: .ini, .cfg, .conf, .toml, .yaml, .yml, .json, .xml, .csv, .log
- Markdown variants: .mdx, .mdown, .markdown
- Semantic chunking strategies for code files (function/class boundaries)
- Semantic chunking strategies for config files (section headers)
- PDF validation with empty/scanned PDF detection and warnings
Fixed:
- RAG indexing compatibility issue (removed CLI executable dependency)
- Enhanced error messages with format-specific hints
v0.8.4 - 2025-10-18
Fixed:
- WebSearch Settings Persistence - Provider, Searx URL, and Ollama API Key now save correctly
- Extended
settings-modal.jsto load/save WebSearch settings - Fixed
model-settings-manager.jsobject overwriting bug
v0.8.3 - 2025-10-18
Added:
- Settings UI modernization with card-based design
- Four organized tabs: Model Settings, UI Settings, RAG Settings, Ollama Settings
- Per-model settings storage and management
- Visual improvements with Material Design-inspired cards
v0.8.1 - 2025-10-18
Added:
- ChromaDB PATH Auto-Detection (95% success rate)
- Smart executable finder for Windows/Linux/macOS
- No manual PATH configuration needed
v0.8.0 - 2025-10-18
Added:
- Automatic dependency installation
- ChromaDB auto-setup with interactive dialog
- Cross-platform NPM/pip integration
- Background ChromaDB server management
See CHANGELOG.md for complete history.
Contributing
Issues and feedback are welcome via npm or direct contact.
License
MIT License - see LICENSE file for details.
Links
Credits
Author: ATLAS
Built for Ollama
