Development
Welcome to the development docs of Khoj! Thanks for you interesting in being a contributor ❤️. Open source contributors are a corner-store of the Khoj community. We welcome all contributions, big or small.
To get started with contributing, check out the official GitHub docs on contributing to an open-source project.
Join the Discord server and click the ✅ for the question "Are you interested in becoming a contributor?" in the #welcome-and-rules
channel. This will give you access to the #contributors
channel where you can ask questions and get help from other contributors.
If you're looking for a place to get started, check out the list of Github Issues with the tag good first issue
to find issues that are good for first-time contributors.
Local Server Installation
Using Pip
1. Install
- MacOS
- Windows
- Linux
# Get Khoj Code
git clone https://github.com/khoj-ai/khoj && cd khoj
# Create, Activate Virtual Environment
python3 -m venv .venv && source .venv/bin/activate
# For MacOS or zsh users run this
pip install -e '.[dev]'
# Get Khoj Code
git clone https://github.com/khoj-ai/khoj && cd khoj
# Create, Activate Virtual Environment
python3 -m venv .venv && .venv\Scripts\activate
# Install Khoj for Development
pip install -e .[dev]
# Get Khoj Code
git clone https://github.com/khoj-ai/khoj && cd khoj
# Create, Activate Virtual Environment
python3 -m venv .venv && source .venv/bin/activate
# Install Khoj for Development
pip install -e .[dev]
2. Run
- Start Khoj
khoj -vv
- Configure Khoj
- Via the Desktop application: Add files, directories to index using the settings page of your desktop application. Click "Save" to immediately trigger indexing.
Note: Wait after configuration for khoj to Load ML model, generate embeddings and expose API to query notes, images, documents etc specified in config YAML
Using Docker
Make sure you install the latest version of Docker and Docker Compose.
1. Clone
git clone https://github.com/khoj-ai/khoj && cd khoj
2. Configure
- Update docker-compose.yml to use relevant environment variables.
- Comment out the
image
line and uncomment thebuild
line in theserver
service