2023-08-08 03:21:15 +02:00
< h1 > < img src = "./assets/khoj-logo-sideways-500.png" width = "200" alt = "Khoj Logo" > Obsidian< / h1 >
2023-06-21 10:13:50 +02:00
2023-07-02 05:24:46 +02:00
> An AI personal assistant for your Digital Brain in Obsidian
2023-01-04 19:50:51 +01:00
## Features
2023-03-29 19:32:24 +02:00
- **Search**
- **Natural**: Advanced natural language understanding using Transformer based ML Models
- **Local**: Your personal data stays local. All search and indexing is done on your machine. *Unlike chat which requires access to GPT.*
- **Incremental**: Incremental search for a fast, search-as-you-type experience
- **Chat**
- **Faster answers**: Find answers faster and with less effort than search
- **Iterative discovery**: Iteratively explore and (re-)discover your notes
- **Assisted creativity**: Smoothly weave across answers retrieval and content generation
2023-01-04 19:50:51 +01:00
2023-07-22 00:22:35 +02:00
## Interface
![](./assets/khoj_search_on_obsidian.png ':size=400px')
![](./assets/khoj_chat_on_obsidian.png ':size=400px')
2023-04-07 18:13:38 +02:00
2023-01-04 19:50:51 +01:00
## Setup
2023-06-29 23:54:51 +02:00
- *Make sure [python ](https://realpython.com/installing-python/ ) and [pip ](https://pip.pypa.io/en/stable/installation/ ) are installed on your machine*
2023-02-12 14:29:14 +01:00
- *Ensure you follow the ordering of the setup steps. Install the plugin after starting the khoj backend. This allows the plugin to configure the khoj backend*
2023-01-04 19:50:51 +01:00
2023-02-06 23:38:20 +01:00
### 1. Setup Backend
2023-02-12 14:29:14 +01:00
Open terminal/cmd and run below command to install and start the khoj backend
2023-04-16 15:17:20 +02:00
- On Linux/MacOS
```shell
2023-07-02 04:07:59 +02:00
python -m pip install khoj-assistant & & khoj
2023-04-16 15:17:20 +02:00
```
- On Windows
```shell
2023-07-02 04:07:59 +02:00
py -m pip install khoj-assistant & & khoj
2023-04-16 15:17:20 +02:00
```
2023-01-12 05:17:52 +01:00
### 2. Setup Plugin
2023-01-28 00:01:31 +01:00
1. Open [Khoj ](https://obsidian.md/plugins?id=khoj ) from the *Community plugins* tab in Obsidian settings panel
2. Click *Install* , then *Enable* on the Khoj plugin page in Obsidian
2023-03-29 19:32:24 +02:00
3. [Optional] To enable Khoj Chat, set your [OpenAI API key ](https://platform.openai.com/account/api-keys ) in the Khoj plugin settings
2023-01-04 19:50:51 +01:00
2023-02-10 18:11:21 +01:00
See [official Obsidian plugin docs ](https://help.obsidian.md/Extending+Obsidian/Community+plugins ) for details
2023-01-04 19:50:51 +01:00
## Use
2023-03-29 19:32:24 +02:00
### Chat
2023-03-29 21:46:59 +02:00
Run *Khoj: Chat* from the [Command Palette ](https://help.obsidian.md/Plugins/Command+palette ) and ask questions in a natural, conversational style.< br />
2023-03-29 19:32:24 +02:00
E.g "When did I file my taxes last year?"
Notes:
- *Using Khoj Chat will result in query relevant notes being shared with OpenAI for ChatGPT to respond.*
- *To use Khoj Chat, ensure you've set your [OpenAI API key ](https://platform.openai.com/account/api-keys ) in the Khoj plugin settings.*
2023-07-22 05:01:19 +02:00
See [Khoj Chat ](/chat ) for more details
2023-03-29 21:46:59 +02:00
2023-01-18 04:03:13 +01:00
### Search
Click the *Khoj search* icon 🔎 on the [Ribbon ](https://help.obsidian.md/User+interface/Workspace/Ribbon ) or run *Khoj: Search* from the [Command Palette ](https://help.obsidian.md/Plugins/Command+palette )
2023-01-04 19:50:51 +01:00
2023-07-02 04:07:59 +02:00
*Note: Ensure the khoj server is running in the background before searching. Execute `khoj` in your terminal if it is not already running*
2023-02-06 23:38:20 +01:00
2023-07-21 07:34:25 +02:00
[search_demo ](https://user-images.githubusercontent.com/6413477/218801155-cd67e8b4-a770-404a-8179-d6b61caa0f93.mp4 ':include :type=mp4' )
2023-02-14 17:43:50 +01:00
2023-07-21 07:34:25 +02:00
#### Query Filters
2023-01-12 04:12:04 +01:00
2023-01-04 19:50:51 +01:00
Use structured query syntax to filter the natural language search results
- **Word Filter**: Get entries that include/exclude a specified term
- Entries that contain term_to_include: `+"term_to_include"`
- Entries that contain term_to_exclude: `-"term_to_exclude"`
- **Date Filter**: Get entries containing dates in YYYY-MM-DD format from specified date (range)
- Entries from April 1st 1984: `dt:"1984-04-01"`
- Entries after March 31st 1984: `dt>="1984-04-01"`
- Entries before April 2nd 1984 : `dt<="1984-04-01"`
- **File Filter**: Get entries from a specified file
- Entries from incoming.org file: `file:"incoming.org"`
- Combined Example
- `what is the meaning of life? file:"1984.org" dt>="1984-01-01" dt<="1985-01-01" -"big" -"brother"`
- Adds all filters to the natural language query. It should return entries
- from the file *1984.org*
- containing dates from the year *1984*
- excluding words *"big"* and *"brother"*
- that best match the natural language query *"what is the meaning of life?"*
2023-01-18 04:03:13 +01:00
### Find Similar Notes
To see other notes similar to the current one, run *Khoj: Find Similar Notes* from the [Command Palette ](https://help.obsidian.md/Plugins/Command+palette )
2023-01-04 19:50:51 +01:00
## Upgrade
### 1. Upgrade Backend
```shell
pip install --upgrade khoj-assistant
```
### 2. Upgrade Plugin
1. Open *Community plugins* tab in Obsidian settings
2. Click the *Check for updates* button
3. Click the *Update* button next to Khoj, if available
2023-07-21 07:34:25 +02:00
## Demo
### Search Demo
[demo ](https://github-production-user-asset-6210df.s3.amazonaws.com/6413477/240061700-3e33d8ea-25bb-46c8-a3bf-c92f78d0f56b.mp4 ':include :type=mp4' )
#### Description
1. Install Khoj via `pip` and start Khoj backend
```shell
python -m pip install khoj-assistant & & khoj
```
2. Install Khoj plugin via Community Plugins settings pane on Obsidian app
- Check the new Khoj plugin settings
- Wait for Khoj backend to index markdown, PDF files in the current Vault
- Open Khoj plugin on Obsidian via Search button on Left Pane
- Search \"*Announce plugin to folks*\" in the [Obsidian Plugin docs ](https://marcus.se.net/obsidian-plugin-docs/ )
- Jump to the [search result ](https://marcus.se.net/obsidian-plugin-docs/publishing/submit-your-plugin )
2023-01-04 19:50:51 +01:00
## Troubleshooting
2023-01-18 04:22:26 +01:00
- Open the Khoj plugin settings pane, to configure Khoj
- Toggle Enable/Disable Khoj, if setting changes have not applied
- Click *Update* button to force index to refresh, if results are failing or stale
2023-01-12 04:12:04 +01:00
## Current Limitations
2023-01-18 04:22:26 +01:00
- The plugin loads the index of only one vault at a time.< br />
So notes across multiple vaults **cannot** be searched at the same time