Skip to content

ORION2809/project_pheonix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Phoenix Desktop

Local semantic search for your files. Privacy-first, no cloud, works offline.

Phoenix indexes your documents, code, and notes using AI embeddings, enabling natural language search across all your files. Everything runs locally on your machine.

Features

  • πŸ” Semantic Search - Find files by meaning, not just keywords
  • πŸ”’ 100% Private - All data stays on your machine
  • ⚑ Real-time Indexing - Automatically watches for file changes
  • πŸ“ Multi-format Support - PDF, DOCX, TXT, Markdown, code files, and more
  • 🌐 Offline-first - No internet required after initial setup
  • πŸ–₯️ Native Desktop - Fast, lightweight, low resource usage

Quick Start

Download Installer

Download the latest release for your platform:

  • Windows: Phoenix_1.0.0_x64_en-US.msi
  • macOS: Phoenix_1.0.0_x64.dmg
  • Linux: phoenix_1.0.0_amd64.deb or .AppImage

Double-click to install, then launch Phoenix from your applications.

First Run

  1. Click "Add Folder" to select folders to index
  2. Wait for initial indexing (progress shown in status bar)
  3. Type a query and press Enter to search

Build from Source

Prerequisites

  • Python 3.10+ with pip
  • Node.js 18+ with npm
  • Rust (via rustup)
  • PyInstaller: pip install pyinstaller
  • Tauri CLI: cargo install tauri-cli

Windows Build

# Clone the repository
git clone https://github.com/your-org/phoenix-desktop.git
cd phoenix-desktop/project_pheonix

# Install Python dependencies
pip install -r requirements.txt

# Run the build script
.\scripts\build.ps1

# Output: ui\src-tauri\target\release\bundle\msi\Phoenix_1.0.0_x64_en-US.msi

macOS / Linux Build

# Clone the repository
git clone https://github.com/your-org/phoenix-desktop.git
cd phoenix-desktop/project_pheonix

# Install Python dependencies
pip install -r requirements.txt

# Run the build script
chmod +x scripts/build.sh
./scripts/build.sh

# Output:
#   macOS: ui/src-tauri/target/release/bundle/dmg/Phoenix.dmg
#   Linux: ui/src-tauri/target/release/bundle/deb/phoenix_1.0.0_amd64.deb

Build Options

# Skip model download (if already cached)
.\scripts\build.ps1 -SkipModels

# Debug build with verbose output
.\scripts\build.ps1 -Debug

# Clean build (removes previous artifacts)
.\scripts\build.ps1 -Clean

Development Mode

Run the app without building an installer:

# Terminal 1: Start the Python engine
python -m phoenix.main

# Terminal 2: Start the Tauri dev server
cd ui
npm install
npm run tauri dev

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Tauri Desktop Shell                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚   React UI   β”‚  β”‚ Health Mon.  β”‚  β”‚  Engine Manager  β”‚   β”‚
β”‚  β”‚  (Search UI) β”‚  β”‚ (Auto-restart)β”‚  β”‚  (IPC Handler)   β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                    JSON/stdin/stdout
                              β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Python Engine (Frozen)                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚   Indexer    β”‚  β”‚   Chunker    β”‚  β”‚    Embedder      β”‚   β”‚
β”‚  β”‚  (Watchdog)  β”‚  β”‚  (Semantic)  β”‚  β”‚ (MiniLM-L6-v2)   β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚   SQLite     β”‚  β”‚    Qdrant    β”‚  β”‚   Worker Pool    β”‚   β”‚
β”‚  β”‚  (Metadata)  β”‚  β”‚  (Vectors)   β”‚  β”‚  (Concurrent)    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Configuration

Phoenix stores data in:

  • Windows: %APPDATA%\Phoenix\
  • macOS: ~/Library/Application Support/Phoenix/
  • Linux: ~/.local/share/Phoenix/

Config File

Create config.json in the data directory:

{
  "chunk_size": 512,
  "chunk_overlap": 50,
  "embedding_model": "all-MiniLM-L6-v2",
  "max_workers": 4,
  "excluded_patterns": ["node_modules", ".git", "__pycache__"]
}

Supported File Types

Category Extensions
Documents .pdf, .docx, .doc, .odt, .rtf
Text .txt, .md, .markdown, .rst
Code .py, .js, .ts, .java, .c, .cpp, .rs, .go
Web .html, .htm, .css, .json, .xml
Config .yaml, .yml, .toml, .ini, .cfg

Troubleshooting

Engine won't start

  • Check if port 6333 is available (Qdrant)
  • Review logs in data directory

Slow indexing

  • Large files (>10MB) are skipped by default
  • Binary files are not indexed
  • Reduce max_workers if CPU constrained

Search not finding files

  • Ensure folder is added to watch list
  • Wait for indexing to complete (check status bar)
  • Try more descriptive queries

License

MIT License - See LICENSE for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: pytest tests/
  5. Submit a pull request

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors