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
- Clone the repository:
git clone [repository-url]
cd electron-file-search
- Install dependencies:
npm install
- Start the development server:
npm run dev
Configuration
LLM Providers
The application supports three LLM providers:
- 
OpenAI - Requires an API key
- Default model: gpt-3.5-turbo
 
- 
OpenRouter - Requires an API key
- Supports various models
- Custom base URL configuration
 
- 
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:
npm run build
To package the application:
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