diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..1e85c55 --- /dev/null +++ b/README.MD @@ -0,0 +1,113 @@ +# Data Identification Manager + +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