# Data Hound An Electron-based desktop application that uses AI to help you search and understand your files through natural language queries. ## Features - Natural language search across your files - Support for multiple file types (text, PDF, images via OCR) - Multiple LLM provider support (OpenAI, OpenRouter, Ollama) - Real-time file monitoring and indexing - Vector-based semantic search - Dark mode interface ## Tech Stack - Electron - React - TypeScript - Material-UI - LangChain - ChromaDB - Tesseract.js (OCR) ## Prerequisites - Node.js 18+ - npm 8+ - For Ollama support: Ollama running locally - For OCR: Tesseract installed on your system ## Installation 1. Clone the repository: ```bash git clone [repository-url] cd electron-file-search ``` 2. Install dependencies: ```bash npm install ``` 3. Start the development server: ```bash npm run dev ``` ## Configuration ### LLM Providers The application supports three LLM providers: 1. **OpenAI** - Requires an API key - Default model: gpt-3.5-turbo 2. **OpenRouter** - Requires an API key - Supports various models - Custom base URL configuration 3. **Ollama** - Runs locally - No API key required - Default URL: http://localhost:11434 - Default model: llama2 Configure your preferred provider through the settings panel in the application. ## Building To create a production build: ```bash npm run build ``` To package the application: ```bash npm run package ``` This will create platform-specific installers in the `release` directory. ## Development - `npm run dev` - Start the development server - `npm run lint` - Run ESLint - `npm run build` - Create a production build - `npm run package` - Package the application ## Project Structure ``` electron-file-search/ ├── electron/ # Electron main process code │ ├── main.ts # Main entry point │ ├── preload.ts # Preload script │ └── services/ # Backend services ├── src/ # React renderer code │ ├── components/ # React components │ ├── contexts/ # React contexts │ ├── hooks/ # Custom hooks │ └── main.tsx # Renderer entry point └── scripts/ # Build and development scripts ``` ## License MIT