{"_id":"@atlas0321/ollama-ui","_rev":"6-132028aa9e472427297802c28320b3f0","name":"@atlas0321/ollama-ui","dist-tags":{"latest":"0.8.42"},"versions":{"0.8.1":{"name":"@atlas0321/ollama-ui","version":"0.8.1","keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","code-canvas","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"author":{"name":"ATLAS"},"license":"MIT","_id":"@atlas0321/ollama-ui@0.8.1","maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"homepage":"https://github.com/atlas0321/ollama-ui#readme","bugs":{"url":"https://github.com/atlas0321/ollama-ui/issues"},"bin":{"ollama-ui":"bin/ollama-ui.js"},"dist":{"shasum":"e9d1253d316285ac11cff00c988447f24e1cb95a","tarball":"https://registry.npmjs.org/@atlas0321/ollama-ui/-/ollama-ui-0.8.1.tgz","fileCount":52,"integrity":"sha512-kDvC3fAjTZp7KZ/tpMXjFYVJmex0j0NH9NGVV7mg6qnB5WxxKtL8Lkj6Jlxe+RYCCu83k7IH93HyrNsZjfLLfA==","signatures":[{"sig":"MEUCIQCtkbgnuvr0uhcUBo5Ptu9kfTeeOJWiLsu2Po3ywmjEtwIgLeX6zs94vlh2rzPGjD+botKr7w/uZiZhWVfOElG7lR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664313},"main":"src/main.js","scripts":{"dev":"npx electron src/main.js --dev","link":"npm link","start":"npx electron src/main.js","unlink":"npm unlink -g"},"_npmUser":{"name":"atlas0321","email":"jeanluchk50@gmail.com"},"repository":{"url":"git+https://github.com/atlas0321/ollama-ui.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes","directories":{},"_nodeVersion":"22.20.0","dependencies":{"diff":"^5.1.0","marked":"^11.0.0","cheerio":"^1.1.2","chromadb":"^3.0.17","electron":"^28.3.3","tiktoken":"^1.0.22","fast-glob":"^3.3.2","pdf-parse":"^2.4.3","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ollama-ui_0.8.1_1760801523470_0.73221186752252","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@atlas0321/ollama-ui","version":"0.8.2","keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","code-canvas","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"author":{"name":"ATLAS"},"license":"MIT","_id":"@atlas0321/ollama-ui@0.8.2","maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"bin":{"ollama-ui":"bin/ollama-ui.js"},"dist":{"shasum":"0cf308fa6d694bc067c080d94209fecc324f3a65","tarball":"https://registry.npmjs.org/@atlas0321/ollama-ui/-/ollama-ui-0.8.2.tgz","fileCount":52,"integrity":"sha512-PFxSBjnPtr7kKr2PZx0FTOCEw7lgpkChS7sZ2aM8ERfdWTXBinyVfhJ1sFSaXF4g//tY8KFcCL4VTfhq1MbcfA==","signatures":[{"sig":"MEUCIEE8R8qGHA+ya4Y76k5fh2LrY+O16ivDEoNTQrDJa/EiAiEAnqQ4uhHEHmqlNMx++ewjyKbciph2hMcHSrcJJVz7U6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664220},"main":"src/main.js","scripts":{"dev":"npx electron src/main.js --dev","link":"npm link","start":"npx electron src/main.js","unlink":"npm unlink -g"},"_npmUser":{"name":"atlas0321","email":"jeanluchk50@gmail.com"},"_npmVersion":"11.6.2","description":"Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes","directories":{},"_nodeVersion":"22.20.0","dependencies":{"diff":"^5.1.0","marked":"^11.0.0","cheerio":"^1.1.2","chromadb":"^3.0.17","electron":"^28.3.3","tiktoken":"^1.0.22","fast-glob":"^3.3.2","pdf-parse":"^2.4.3","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ollama-ui_0.8.2_1760802000135_0.5851419304556118","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@atlas0321/ollama-ui","version":"0.8.3","keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","code-canvas","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"author":{"name":"ATLAS"},"license":"MIT","_id":"@atlas0321/ollama-ui@0.8.3","maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"bin":{"ollama-ui":"bin/ollama-ui.js"},"dist":{"shasum":"d2fac179b29a2c4353e0f3413d30b6fe67afd81a","tarball":"https://registry.npmjs.org/@atlas0321/ollama-ui/-/ollama-ui-0.8.3.tgz","fileCount":52,"integrity":"sha512-snbvNPTY85gglpPc3nzgw3e67x5lkZQpye9HTR0r4+YHMr8gnulM1CZRmQRuVd98+8y+bXL5Nh9ewk0UCkBPAA==","signatures":[{"sig":"MEQCIB0GtDIBC9S6cO/poppalYbmCEeTfQb26+MgGeGEypcjAiBlG1SMMYl0Fq+jnBrLEDPJaBbYl9oPU9yJOOFt7CeeLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665703},"main":"src/main.js","scripts":{"dev":"npx electron src/main.js --dev","link":"npm link","start":"npx electron src/main.js","unlink":"npm unlink -g"},"_npmUser":{"name":"atlas0321","email":"jeanluchk50@gmail.com"},"_npmVersion":"11.6.2","description":"Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes","directories":{},"_nodeVersion":"22.20.0","dependencies":{"diff":"^5.1.0","marked":"^11.0.0","cheerio":"^1.1.2","chromadb":"^3.0.17","electron":"^28.3.3","tiktoken":"^1.0.22","fast-glob":"^3.3.2","pdf-parse":"^2.4.3","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ollama-ui_0.8.3_1760802571376_0.5587282063982268","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@atlas0321/ollama-ui","version":"0.8.4","keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","code-canvas","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"author":{"name":"ATLAS"},"license":"MIT","_id":"@atlas0321/ollama-ui@0.8.4","maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"bin":{"ollama-ui":"bin/ollama-ui.js"},"dist":{"shasum":"6fc191e5a3aab769d99d524bf83451674703df04","tarball":"https://registry.npmjs.org/@atlas0321/ollama-ui/-/ollama-ui-0.8.4.tgz","fileCount":53,"integrity":"sha512-CfaRncSfVPuIvYz+1odN3o/D15hJp2O3vflVfmenAnEtPGA83wklqW7r0GANQpZ/CqVbjsiaac5C3oHvQ7s3QQ==","signatures":[{"sig":"MEQCIDQEtU4mdx6b+AlzBend8c8+zmgbdeWnst/V98HWY2tlAiBw9ZqSvnwJ6+JTmZpUBv9evEgNuiWWL1SUtbXWswT4Og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":690360},"main":"src/main.js","scripts":{"dev":"npx electron src/main.js --dev","link":"npm link","start":"npx electron src/main.js","unlink":"npm unlink -g"},"_npmUser":{"name":"atlas0321","email":"jeanluchk50@gmail.com"},"_npmVersion":"11.6.2","description":"Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes","directories":{},"_nodeVersion":"22.20.0","dependencies":{"diff":"^5.1.0","marked":"^11.0.0","cheerio":"^1.1.2","chromadb":"^3.0.17","electron":"^28.3.3","tiktoken":"^1.0.22","fast-glob":"^3.3.2","pdf-parse":"^2.4.3","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ollama-ui_0.8.4_1760826271236_0.8629738828971272","host":"s3://npm-registry-packages-npm-production"}},"0.8.41":{"name":"@atlas0321/ollama-ui","version":"0.8.41","keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","web-search","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"author":{"name":"ATLAS"},"license":"MIT","_id":"@atlas0321/ollama-ui@0.8.41","maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"bin":{"ollama-ui":"bin/ollama-ui.js"},"dist":{"shasum":"789450ecb0b3800c31f6eab14cf2e2fae6ef1d22","tarball":"https://registry.npmjs.org/@atlas0321/ollama-ui/-/ollama-ui-0.8.41.tgz","fileCount":53,"integrity":"sha512-QHKqdMEBQrv/D/EbWIQ+BNLZtKdE9fYDDMGYPzkEpHKyWmkdHQuR64oA35/PrXFURG6DCYcGG+q+asRpbEH3Zw==","signatures":[{"sig":"MEUCIDeY9XTljpbRWz7f5rronB+VtZYIBpn4yAC6lFvQJNOUAiEA2QolTQ3gW+6yiWqC2YhnBLrY9h9v9YN9rFk8tlheS6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":691893},"main":"src/main.js","scripts":{"dev":"npx electron src/main.js --dev","link":"npm link","start":"npx electron src/main.js","unlink":"npm unlink -g"},"_npmUser":{"name":"atlas0321","email":"jeanluchk50@gmail.com"},"_npmVersion":"11.6.2","description":"Modern desktop chat interface for Ollama with RAG, tool calling, web search, and advanced thinking modes","directories":{},"_nodeVersion":"22.20.0","dependencies":{"diff":"^5.1.0","marked":"^11.0.0","cheerio":"^1.1.2","chromadb":"^3.0.17","electron":"^28.3.3","tiktoken":"^1.0.22","fast-glob":"^3.3.2","pdf-parse":"^2.4.3","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ollama-ui_0.8.41_1760827376253_0.07204406006749364","host":"s3://npm-registry-packages-npm-production"}},"0.8.42":{"name":"@atlas0321/ollama-ui","version":"0.8.42","description":"Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes","main":"src/main.js","bin":{"ollama-ui":"bin/ollama-ui.js"},"scripts":{"start":"npx electron src/main.js","dev":"npx electron src/main.js --dev","link":"npm link","unlink":"npm unlink -g"},"keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","code-canvas","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"author":{"name":"ATLAS"},"license":"MIT","dependencies":{"cheerio":"^1.1.2","chromadb":"^3.0.17","diff":"^5.1.0","electron":"^28.3.3","fast-glob":"^3.3.2","highlight.js":"^11.9.0","markdown-it":"^14.1.0","marked":"^11.0.0","pdf-parse":"^2.4.3","tiktoken":"^1.0.22"},"_id":"@atlas0321/ollama-ui@0.8.42","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-v9y433J0gGeeLA3/bt8BIzYaYnW0mTiUlXYY7rIdx29h+CAMSsSpxM9doi5iF9Oiqp/4ioMlEI4u9fv1RUAhtw==","shasum":"3dc5b0adc709edf31155cdeb2745794a8d78d856","tarball":"https://registry.npmjs.org/@atlas0321/ollama-ui/-/ollama-ui-0.8.42.tgz","fileCount":53,"unpackedSize":700272,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCfHa1TZjV5ShWMaXNWDB8uj0vNXMt60izOVQMMC+m7jgIhAJDTqymyjDNPYjKSZd7PsOqBR4OtKG2kCKUZ4lu1Bc2T"}]},"_npmUser":{"name":"atlas0321","email":"jeanluchk50@gmail.com"},"directories":{},"maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ollama-ui_0.8.42_1760899549863_0.4547191308184937"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-18T15:32:03.376Z","modified":"2025-10-19T18:45:50.308Z","0.8.1":"2025-10-18T15:32:03.717Z","0.8.2":"2025-10-18T15:40:00.354Z","0.8.3":"2025-10-18T15:49:31.597Z","0.8.4":"2025-10-18T22:24:31.533Z","0.8.41":"2025-10-18T22:42:56.497Z","0.8.42":"2025-10-19T18:45:50.090Z"},"author":{"name":"ATLAS"},"license":"MIT","keywords":["ollama","chat","electron","desktop","cli","ai","llm","rag","retrieval-augmented-generation","chromadb","vector-database","code-canvas","tool-calling","thinking-modes","qwen","deepseek","gpt-oss","local-ai"],"description":"Modern desktop chat interface for Ollama with RAG, code canvas, tool calling, and advanced thinking modes","maintainers":[{"name":"atlas0321","email":"jeanluchk50@gmail.com"}],"readme":"# @atlas0321/ollama-ui\n\n[![npm version](https://img.shields.io/npm/v/@atlas0321/ollama-ui.svg)](https://www.npmjs.com/package/@atlas0321/ollama-ui)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D16-brightgreen.svg)](https://nodejs.org/)\n\nModern desktop chat interface for Ollama with advanced features including RAG (Retrieval-Augmented Generation), tool calling, web search, and multi-model thinking modes.\n\n> **Note:** This project is in early access and active development. Features and APIs may change. Feedback and bug reports are highly appreciated.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Requirements](#requirements)\n- [Quick Start](#quick-start)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Supported Models](#supported-models)\n- [Development](#development)\n- [Troubleshooting](#troubleshooting)\n- [License](#license)\n\n## Features\n\n### AI Capabilities\n\n- **RAG System** - Semantic search with ChromaDB vector database and 2-stage retrieval pipeline (semantic search + re-ranking)\n- **Thinking Modes** - Multiple thinking levels and model-specific reasoning (gpt-oss, qwen3, deepseek-r1)\n- **Tool Calling** - Secure execution of bash, read, write, edit, and glob operations\n- **Web Search** - Integrated web search with Ollama or Searx/SearxNG providers\n\n### User Experience\n\n- **Modern Settings UI** - Card-based design with organized tabs (Model Settings, UI Settings, RAG Settings, Ollama Settings)\n- **Per-Model Settings** - Each model retains its own parameters, WebSearch provider, and configuration\n- **Stream Abort** - Stop generation instantly with ESC key or stop button\n- **Input History** - Navigate previous messages with arrow keys (terminal-style)\n- **Token Counter** - Real-time token tracking with context progress bar (100% tiktoken-based)\n- **Message Editing** - Edit and re-submit previous messages\n- **Think-Block Visualization** - Collapsible reasoning display with shimmer animation\n- **Syntax Highlighting** - Code blocks with Atom One Dark theme\n- **Dark Theme** - Modern gray color scheme optimized for extended sessions\n\n### Security & Control\n\n- **Permission System** - Project-based, per-model tool approval (Allow Once / Always Allow / Deny)\n- **Secure Tool Execution** - Sandboxed command execution with user consent\n- **Model Isolation** - Separate permission configurations per model\n\n### Performance\n\n- **Render Batching** - Throttled DOM updates (70-80% fewer operations)\n- **Scroll Optimization** - Smart auto-scroll with minimal layout recalculations\n- **Streaming Optimization** - Efficient typewriter effects applied post-stream\n\n## Installation\n\n### Quick Start\n\n```bash\nnpm install -g @atlas0321/ollama-ui\n```\n\nThe application will automatically:\n- Install NPM dependencies if missing\n- Prompt for optional ChromaDB installation (RAG features)\n- Start ChromaDB server in background (if installed)\n\n## Requirements\n\n### Essential\n\n- **Node.js** v16 or higher\n- **Ollama** installed and running ([download](https://ollama.com/))\n\n### Optional (for RAG features)\n\n- **Python 3.8+** for ChromaDB\n- **ChromaDB** will be installed automatically on first run if you choose\n\n## Quick Start\n\n### 1. Start Ollama\n\n```bash\nollama serve\n```\n\n### 2. Download a Model\n\nDownload one of the officially supported models:\n\n```bash\nollama pull gpt-oss:20b\n# or\nollama pull qwen3:4b\n```\n\n**Required for RAG features:**\n\n```bash\nollama pull snowflake-arctic-embed:l\nollama pull xitao/bge-reranker-v2-m3\n```\n\nThese embedding models are mandatory for RAG functionality.\n\n### 3. Launch OllamaUI\n\n```bash\nollama-ui\n```\n\n## Usage\n\n### Basic Chat\n\n1. Select your model from the dropdown\n2. Choose thinking level (low/medium/high for gpt-oss, on/off for qwen3/deepseek-r1)\n3. Start chatting\n\n### RAG (Retrieval-Augmented Generation)\n\nIndex your documentation and query it semantically:\n\n**Setup:**\n1. Click Settings → RAG Settings tab\n2. Add documentation folder\n3. Wait for indexing (progress shown)\n\n**Usage:**\n1. Enable RAG Mode (button below input)\n2. Ask questions about your indexed documentation\n\n**Supported Formats:**\n- Code: .cpp, .hpp, .h, .c, .cc, .cxx, .php, .py, .js, .ts, .jsx, .tsx, .java, .kt, .swift, .go, .rs, .lua\n- Documents: .pdf, .md, .html, .htm\n- Config/Data: .ini, .cfg, .conf, .toml, .yaml, .yml, .json, .xml, .csv, .txt, .log\n\nThe model will use `knowledge_search` tool to find relevant documentation and answer based on your indexed content.\n\n### WebSearch Integration\n\nEnable WebSearch Mode to allow the model to search the web.\n\n**Configuration:**\n1. Click Settings → Ollama Settings tab\n2. Select WebSearch Provider:\n   - **Ollama WebSearch** - Official Ollama API (requires API key from ollama.com/settings/keys)\n   - **Searx / SearxNG** - Self-hosted search (requires server URL)\n3. Enter API key or Searx URL\n4. Save settings\n\n**Usage:**\n1. Enable WebSearch Mode (button below input)\n2. Ask questions requiring web information\n\n### Tool Calling\n\nEnable Code Mode to allow tool execution.\n\n**Available Tools:**\n- `bash` - Execute shell commands\n- `read` - Read files from filesystem\n- `write` - Create or overwrite files\n- `edit` - String replacement in files\n- `glob` - File pattern matching\n\n**Permission System:**\n\nOn first tool use, you will be prompted with three options:\n- **Allow Once** - Execute this time only\n- **Always Allow** - Remember for this tool/command\n- **Deny** - Abort execution\n\nPermissions are stored in `.{modelname}/permissions.json` in your working directory.\n\n### Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| `ESC` | Abort streaming response |\n| `↑` / `↓` | Navigate input history |\n| `Enter` | Send message |\n| `Shift+Enter` | New line in input |\n\n## Configuration\n\n### Settings Modal\n\nAccess via Settings button in header. Organized in four tabs:\n\n**Model Settings:**\n- Temperature, Top P, Top K\n- Context Length (with visual progress bar)\n- Repeat Penalty\n- Seed (optional, for reproducible outputs)\n\n**UI Settings:**\n- Coming soon\n\n**RAG Settings:**\n- Add/remove documentation folders\n- View indexed sources\n- ChromaDB connection status\n\n**Ollama Settings:**\n- API Endpoint configuration\n- WebSearch provider selection\n- Ollama API Key (for WebSearch)\n- Searx URL (for self-hosted search)\n\nAll settings are saved per-model and persist across sessions.\n\n### Ollama API Endpoint\n\n**Default:** `http://localhost:11434`\n\nTo change:\n1. Settings → Ollama Settings tab\n2. Enter custom endpoint URL\n3. Save (persists in localStorage)\n\n### ChromaDB Setup\n\n**Automatic Detection:**\n\nOllamaUI will automatically find ChromaDB in standard locations:\n- **Windows:** `%APPDATA%\\Python\\Python3XX\\Scripts\\chroma.exe`\n- **Linux:** `~/.local/bin/chroma`, `/usr/local/bin/chroma`\n- **macOS:** `/opt/homebrew/bin/chroma`\n\n**Manual Installation:**\n\n```bash\n# Linux/Mac\npip3 install --user chromadb\n\n# Windows\npip install --user chromadb\n```\n\n**Server Start:**\n\nChromaDB starts automatically. To start manually:\n\n```bash\nchroma run --host localhost --port 8000 --path ./chroma\n```\n\n### Model Configuration\n\nCustom Modelfiles available in `/models/` directory:\n- `gpt-oss_20b_Modelfile.txt` - GPT-4 with Chain-of-Thought\n- `qwen3_14b_Modelfile.txt` - Qwen3 with thinking tags\n- `deepseek-r1_14b_Modelfile.txt` - DeepSeek-R1 (no tool support)\n- `gemma3-tools-simple_Modelfile.txt` - Gemma3 with simple tool format\n\n## Supported Models\n\n### Officially Supported\n\n**gpt-oss:20b**\n- Base: GPT-4 (OpenAI)\n- Features: Channel-based output (analysis/commentary/final)\n- Thinking: 3 levels (low/medium/high), cannot disable\n- Tools: Full support\n- Status: Fully tested and optimized\n\n**qwen3:4b**\n- Features: XML-based tool calls\n- Thinking: Toggle on/off, soft-switch in prompts\n- Tools: Full support\n- Status: Fully tested and optimized\n\n### Other Models (Experimental)\n\nOther 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.\n\n### Required Models for RAG\n\nFor RAG functionality, the following models must be installed:\n\n```bash\n# Embedding model (semantic search)\nollama pull snowflake-arctic-embed:l\n\n# Re-ranking model (precision ranking)\nollama pull xitao/bge-reranker-v2-m3\n```\n\nThese models are used for:\n- **snowflake-arctic-embed:l** - Generates embeddings for semantic search (Stage 1: retrieves top 20 candidates)\n- **xitao/bge-reranker-v2-m3** - Re-ranks results for precision (Stage 2: selects top N most relevant)\n\n## Development\n\n### Run in Development Mode\n\n```bash\nollama-ui --dev\n```\n\nOpens Electron DevTools for debugging.\n\n## Troubleshooting\n\n### \"Connection refused\" to Ollama\n\n**Solution:**\n\nEnsure Ollama is running:\n\n```bash\nollama serve\n```\n\nVerify endpoint in settings (default: `http://localhost:11434`)\n\n### ChromaDB not found\n\n**Solution:**\n\nChromaDB will be offered for installation on first run. If skipped:\n\n```bash\npip3 install --user chromadb  # Linux/Mac\npip install --user chromadb   # Windows\n```\n\n### RAG indexing fails\n\n**Diagnosis:**\n\n1. Ensure ChromaDB server is running (auto-started by OllamaUI)\n2. Check ChromaDB status:\n   ```bash\n   curl http://localhost:8000/api/v2/heartbeat\n   ```\n3. Restart ChromaDB:\n   ```bash\n   # Find process\n   ps aux | grep chroma\n   # Kill and let OllamaUI restart it automatically\n   ```\n\n### Native module errors (tiktoken, electron)\n\nThese packages require platform-specific binaries.\n\n**Linux:**\n\n```bash\nsudo apt-get install build-essential python3\nnpm install -g @atlas0321/ollama-ui --force\n```\n\n**Mac:**\n\n```bash\nxcode-select --install\nnpm install -g @atlas0321/ollama-ui --force\n```\n\n**Windows:**\n\nInstall Visual Studio Build Tools, then:\n\n```bash\nnpm install -g @atlas0321/ollama-ui --force\n```\n\n## Version History\n\n### v0.8.42 - 2025-10-19\n\n**Added:**\n- Extended RAG file format support from 5 to 30+ formats\n  - 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)\n  - Config/Data: .ini, .cfg, .conf, .toml, .yaml, .yml, .json, .xml, .csv, .log\n  - Markdown variants: .mdx, .mdown, .markdown\n- Semantic chunking strategies for code files (function/class boundaries)\n- Semantic chunking strategies for config files (section headers)\n- PDF validation with empty/scanned PDF detection and warnings\n\n**Fixed:**\n- RAG indexing compatibility issue (removed CLI executable dependency)\n- Enhanced error messages with format-specific hints\n\n### v0.8.4 - 2025-10-18\n\n**Fixed:**\n- WebSearch Settings Persistence - Provider, Searx URL, and Ollama API Key now save correctly\n- Extended `settings-modal.js` to load/save WebSearch settings\n- Fixed `model-settings-manager.js` object overwriting bug\n\n### v0.8.3 - 2025-10-18\n\n**Added:**\n- Settings UI modernization with card-based design\n- Four organized tabs: Model Settings, UI Settings, RAG Settings, Ollama Settings\n- Per-model settings storage and management\n- Visual improvements with Material Design-inspired cards\n\n### v0.8.1 - 2025-10-18\n\n**Added:**\n- ChromaDB PATH Auto-Detection (95% success rate)\n- Smart executable finder for Windows/Linux/macOS\n- No manual PATH configuration needed\n\n### v0.8.0 - 2025-10-18\n\n**Added:**\n- Automatic dependency installation\n- ChromaDB auto-setup with interactive dialog\n- Cross-platform NPM/pip integration\n- Background ChromaDB server management\n\nSee [CHANGELOG.md](./CHANGELOG.md) for complete history.\n\n## Contributing\n\nIssues and feedback are welcome via npm or direct contact.\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Links\n\n- [npm Package](https://www.npmjs.com/package/@atlas0321/ollama-ui)\n- [Ollama Documentation](https://github.com/ollama/ollama/blob/main/docs/api.md)\n- [ChromaDB Documentation](https://docs.trychroma.com/)\n\n## Credits\n\n**Author:** ATLAS\n\nBuilt for [Ollama](https://ollama.com/)\n","readmeFilename":"README.md"}