2.3 KiB
2.3 KiB
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 servernpm run lint
- Run ESLintnpm run build
- Create a production buildnpm 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