## Demos ### Screenshots #### Web ![](./assets/khoj_search_on_web.png ':size=300px') ![](./assets/khoj_chat_on_web.png ':size=300px') #### Obsidian ![](./assets/khoj_search_on_obsidian.png ':size=300px') ![](./assets/khoj_chat_on_obsidian.png ':size=300px') #### Emacs ![](./assets/khoj_search_on_emacs.png ':size=300px') ![](./assets/khoj_chat_on_emacs.png ':size=400px') ### Videos #### Khoj in Obsidian [KhojObsidian](https://github-production-user-asset-6210df.s3.amazonaws.com/6413477/240061700-3e33d8ea-25bb-46c8-a3bf-c92f78d0f56b.mp4 ':include :type=mp4') ##### Installation 1. Install Khoj via `pip` and start Khoj backend in a terminal (Run `khoj`) ```bash 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 - Let Khoj backend index the markdown, pdf, Github markdown 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) #### Khoj in Emacs, Browser [KhojEmacs](https://user-images.githubusercontent.com/6413477/184735169-92c78bf1-d827-4663-9087-a1ea194b8f4b.mp4 ':include :type=mp4') ##### Installation - Install Khoj via pip - Start Khoj app - Add this readme and [khoj.el readme](https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs) as org-mode for Khoj to index - Search \"*Setup editor*\" on the Web and Emacs. Re-rank the results for better accuracy - Top result is what we are looking for, the [section to Install Khoj.el on Emacs](https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#2-Install-Khojel) ##### Analysis - The results do not have any words used in the query - *Based on the top result it seems the re-ranking model understands that Emacs is an editor?* - The results incrementally update as the query is entered - The results are re-ranked, for better accuracy, once user hits enter