khoj/docs/emacs.md
Debanjum Singh Solanky 35b469e488 Simplify setup, features since Khoj cloud in docs
- No Khoj server setup required to start using Khoj from Obsidian, Emacs
- Use tabs for install, upgrade in Emacs with different package
  managers
- Use default subtitles in Khoj Docs
- Deduplicate query filters, remove backend setup instructions in
  plugin pages
- Remove stale Setup demo on Khoj Obsidian plugin docs
2023-11-18 17:25:52 -08:00

5 KiB

Khoj Logo Emacs

An AI copilot for your Second Brain in Emacs

Melpa Stable Badge Melpa Badge Build Badge Test Badge

Features

  • Chat
    • Faster answers: Find answers quickly, from your private notes or the public internet
    • Assisted creativity: Smoothly weave across retrieving answers and generating content
    • Iterative discovery: Iteratively explore and re-discover your notes
  • Search
    • Natural: Advanced natural language understanding using Transformer based ML Models
    • Incremental: Incremental search for a fast, search-as-you-type experience

Interface

khoj search on emacs

Chat

khoj chat on emacs

Setup

  1. Generate an API key on the Khoj Web App
  2. Add below snippet to your Emacs config file, usually at ~/.emacs.d/init.el

Direct Install

Khoj will index your org-agenda files, by default

;; Install Khoj.el
M-x package-install khoj

; Set your Khoj API key
(setq khoj-api-key "YOUR_KHOJ_CLOUD_API_KEY")

Minimal Install

Khoj will index your org-agenda files, by default

;; Install Khoj client from MELPA Stable
(use-package khoj
  :ensure t
  :pin melpa-stable
  :bind ("C-c s" . 'khoj)
  :config (setq khoj-api-key "YOUR_KHOJ_CLOUD_API_KEY"))

Standard Install

Configures the specified org files, directories to be indexed by Khoj

;; Install Khoj client from MELPA Stable
(use-package khoj
  :ensure t
  :pin melpa-stable
  :bind ("C-c s" . 'khoj)
  :config (setq khoj-api-key "YOUR_KHOJ_CLOUD_API_KEY"
                khoj-org-directories '("~/docs/org-roam" "~/docs/notes")
                khoj-org-files '("~/docs/todo.org" "~/docs/work.org")))

Straight.el

Configures the specified org files, directories to be indexed by Khoj

;; Install Khoj client using Straight.el
(use-package khoj
  :after org
  :straight (khoj :type git :host github :repo "khoj-ai/khoj" :files (:defaults "src/interface/emacs/khoj.el"))
  :bind ("C-c s" . 'khoj)
  :config (setq khoj-api-key "YOUR_KHOJ_CLOUD_API_KEY"
                khoj-org-directories '("~/docs/org-roam" "~/docs/notes")
                khoj-org-files '("~/docs/todo.org" "~/docs/work.org")))

Use

Search

See Khoj Search for details

  1. Hit C-c s s (or M-x khoj RET s) to open khoj search
  2. Enter your query in natural language
    E.g "What is the meaning of life?", "My life goals for 2023"

Chat

See Khoj Chat for details

  1. Hit C-c s c (or M-x khoj RET c) to open khoj chat
  2. Ask questions in a natural, conversational style
    E.g "When did I file my taxes last year?"

Find Similar Entries

This feature finds entries similar to the one you are currently on.

  1. Move cursor to the org-mode entry, markdown section or text paragraph you want to find similar entries for
  2. Hit C-c s f (or M-x khoj RET f) to find similar entries

Advanced Usage

  • Add query filters during search to narrow down results further e.g What is the meaning of life? -"god" +"none" dt>"last week"

  • Use C-c C-o 2 to open the current result at cursor in its source org file

    • This calls M-x org-open-at-point on the current entry and opens the second link in the entry.
    • The second link is the entries org-id, if set, or the heading text. The first link is the line number of the entry in the source file. This link is less robust to file changes.
    • Note: If you have speed keys enabled, o 2 will also work

Khoj Menu

Hit C-c s (or M-x khoj) to open the khoj menu above. Then:

  • Hit t until you preferred content type is selected in the khoj menu Content Type specifies the content to perform Search, Update or Find Similar actions on
  • Hit n twice and then enter number of results you want to see Results Count is used by the Search and Find Similar actions
  • Hit -f u to force update the khoj content index The Force Update switch is only used by the Update action

Upgrade

Use your Emacs package manager to upgrade khoj.el

With MELPA

  1. Run M-x package-refresh-content
  2. Run M-x package-reinstall khoj

With Straight.el

  • Run M-x straight-pull-package khoj