Files
khoj/src/interface/emacs

Khoj Emacs 🦅

https://stable.melpa.org/packages/khoj-badge.svg https://melpa.org/packages/khoj-badge.svg

Natural language search from within Emacs using Khoj

Features

  • Natural: Advanced natural language understanding using Transformer based ML Models
  • Local: Your personal data stays local. All search, indexing is done on your machine*
  • Incremental: Incremental search for a fast, search-as-you-type experience

Interface

/docs/khoj_on_emacs.png

Setup

1. Setup Backend

  pip install khoj-assistant && khoj

2. Install Khoj.el

Using MELPA
 M-x package-install khoj

Add below snippet to your Emacs config file

;; Install Khoj Package from MELPA Stable
(use-package khoj
   :ensure t
   :pin melpa-stable
   :bind ("C-c s" . 'khoj))

Note: Install khoj.el from MELPA (instead of MELPA Stable) if you installed the pre-release version of khoj

  • That is, use :pin melpa to install khoj.el in above snippet if khoj was installed with pip install --pre khoj-assistant
  • Else use :pin melpa-stable to install khoj.el in above snippet if khoj was installed with pip install khoj-assistant
  • This ensures both khoj.el and khoj app are from the same version (tagged or latest)
Using Straight.el

Add below snippet to your Emacs config file

  ;; Install Khoj Package using Straight.el
  (use-package khoj
    :after org
    :straight (khoj :type git :host github :repo "debanjum/khoj" :files (:defaults "src/interface/emacs/khoj.el"))
    :bind ("C-c s" . 'khoj))

Use

  1. Open Query Interface on Client

  2. Query Incrementally in Natural Language e.g "What is the meaning of life?" "What are my life goals?"
  3. Apply filters to narrow down results further. See query filters for details Include/Exclude specific words or date range from results by updating query with below query format e.g `What is the meaning of life? -"god" +"none" dt>"last week"`

Upgrade

Upgrade Khoj Backend

  pip install --upgrade khoj-assistant

Upgrade Khoj.el

Use your Emacs package manager to upgrade khoj.el

  • For khoj.el from MELPA

    • Method 1

      • Run M-x package-list-packages to list all packages
      • Press U on khoj to mark it for upgrade
      • Press x to execute the marked actions
    • Method 2

      • Run M-x package-refresh-content
      • Run M-x package-reinstall khoj
  • For khoj.el from Straight

    • Run M-x straight-pull-package khoj