mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-04 05:39:06 +00:00
Merge branch 'master' of github.com:khoj-ai/khoj into parallelize-search-across-all-asymmetric-text-content-types
Conflicts: - src/khoj/routers/api.py: Use theirs
This commit is contained in:
@@ -1,25 +1,27 @@
|
||||
* Khoj Emacs 🦅
|
||||
[[https://stable.melpa.org/#/khoj][file:https://stable.melpa.org/packages/khoj-badge.svg]] [[https://melpa.org/#/khoj][file:https://melpa.org/packages/khoj-badge.svg]] [[https://github.com/debanjum/khoj/actions/workflows/build_khoj_el.yml][https://github.com/debanjum/khoj/actions/workflows/build_khoj_el.yml/badge.svg?]] [[https://github.com/debanjum/khoj/actions/workflows/test_khoj_el.yml][https://github.com/debanjum/khoj/actions/workflows/test_khoj_el.yml/badge.svg?]]
|
||||
[[https://github.com/khoj-ai/khoj/edit/master/src/interface/emacs/README.org][file:/src/khoj/interface/web/assets/icons/khoj-logo-sideways-200.png]] Emacs
|
||||
|
||||
|
||||
[[https://stable.melpa.org/#/khoj][file:https://stable.melpa.org/packages/khoj-badge.svg]] [[https://melpa.org/#/khoj][file:https://melpa.org/packages/khoj-badge.svg]] [[https://github.com/khoj-ai/khoj/actions/workflows/build_khoj_el.yml][https://github.com/khoj-ai/khoj/actions/workflows/build_khoj_el.yml/badge.svg?]] [[https://github.com/khoj-ai/khoj/actions/workflows/test_khoj_el.yml][https://github.com/khoj-ai/khoj/actions/workflows/test_khoj_el.yml/badge.svg?]]
|
||||
|
||||
/An AI personal assistant for your digital brain/
|
||||
|
||||
** Table of Contents
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#features][Features]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Interface][Interface]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Setup][Setup]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Direct-Install][Direct Install]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Minimal-Install][Minimal Install]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Standard-Install][Standard Install]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#With-Straight.el][With Straight.el]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Use][Use]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Search][Search]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Chat][Chat]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Find-similar-entries][Find Similar Entries]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Advanced-usage][Advanced Usage]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Khoj-menu][Khoj Menu]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Upgrade][Upgrade]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Upgrade-Khoj-Backend][Upgrade Backend]]
|
||||
- [[https://github.com/debanjum/khoj/tree/master/src/interface/emacs#Upgrade-Khojel][Upgrade Khoj.el]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#features][Features]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Interface][Interface]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Setup][Setup]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Direct-Install][Direct Install]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Minimal-Install][Minimal Install]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Standard-Install][Standard Install]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#With-Straight.el][With Straight.el]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Use][Use]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Search][Search]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Chat][Chat]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Find-similar-entries][Find Similar Entries]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Advanced-usage][Advanced Usage]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Khoj-menu][Khoj Menu]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Upgrade][Upgrade]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Upgrade-Khoj-Backend][Upgrade Backend]]
|
||||
- [[https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs#Upgrade-Khojel][Upgrade Khoj.el]]
|
||||
|
||||
** Features
|
||||
- *Search*
|
||||
@@ -42,7 +44,7 @@
|
||||
- /Make sure [[https://realpython.com/installing-python/][python]] (version 3.10 or lower) and [[https://pip.pypa.io/en/stable/installation/][pip]] are installed on your machine/
|
||||
|
||||
- /khoj.el attempts to automatically install, start and configure the khoj server./
|
||||
If this fails, follow [[https://github.com/debanjum/khoj/tree/master/#Setup][these instructions]] to manually setup the khoj server.
|
||||
If this fails, follow [[https://github.com/khoj-ai/khoj/tree/master/#Setup][these instructions]] to manually setup the khoj server.
|
||||
|
||||
*** Direct Install
|
||||
#+begin_src elisp
|
||||
@@ -89,7 +91,7 @@
|
||||
;; 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"))
|
||||
: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-org-directories '("~/docs/org-roam" "~/docs/notes")
|
||||
khoj-org-files '("~/docs/todo.org" "~/docs/work.org")
|
||||
@@ -111,7 +113,7 @@
|
||||
|
||||
E.g "When did I file my taxes last year?"
|
||||
|
||||
See [[https://github.com/debanjum/khoj/tree/master/#Khoj-Chat][Khoj Chat]] for more details
|
||||
See [[https://github.com/khoj-ai/khoj/tree/master/#Khoj-Chat][Khoj Chat]] for more details
|
||||
|
||||
*** Find Similar Entries
|
||||
This feature finds entries similar to the one you are currently on.
|
||||
@@ -119,7 +121,7 @@
|
||||
2. Hit ~C-c s f~ (or ~M-x khoj RET f~) to find similar entries
|
||||
|
||||
*** Advanced Usage
|
||||
- Add [[https://github.com/debanjum/khoj/#query-filters][query filters]] during search to narrow down results further
|
||||
- Add [[https://github.com/khoj-ai/khoj/#query-filters][query filters]] during search to narrow down results further
|
||||
|
||||
e.g `What is the meaning of life? -"god" +"none" dt>"last week"`
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
;; Keywords: search, chat, org-mode, outlines, markdown, pdf, beancount, image
|
||||
;; Version: 0.6.2
|
||||
;; Package-Requires: ((emacs "27.1") (transient "0.3.0") (dash "2.19.1"))
|
||||
;; URL: https://github.com/debanjum/khoj/tree/master/src/interface/emacs
|
||||
;; URL: https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs
|
||||
|
||||
;; This file is NOT part of GNU Emacs.
|
||||
|
||||
@@ -106,13 +106,13 @@
|
||||
(defvar khoj--minibuffer-window nil
|
||||
"Minibuffer window used to enter query.")
|
||||
|
||||
(defconst khoj--query-prompt "🦅Khoj: "
|
||||
(defconst khoj--query-prompt "🏮 Khoj: "
|
||||
"Query prompt shown in the minibuffer.")
|
||||
|
||||
(defconst khoj--search-buffer-name "*🦅Khoj Search*"
|
||||
(defconst khoj--search-buffer-name "*🏮 Khoj Search*"
|
||||
"Name of buffer to show search results from Khoj.")
|
||||
|
||||
(defconst khoj--chat-buffer-name "*🦅Khoj Chat*"
|
||||
(defconst khoj--chat-buffer-name "*🏮 Khoj Chat*"
|
||||
"Name of chat buffer for Khoj.")
|
||||
|
||||
(defvar khoj--content-type "org"
|
||||
@@ -784,7 +784,7 @@ Render results in BUFFER-NAME using QUERY, CONTENT-TYPE."
|
||||
(progn
|
||||
(org-set-startup-visibility)
|
||||
(visual-line-mode)
|
||||
(re-search-backward "^\*+ 🦅" nil t))))
|
||||
(re-search-backward "^\*+ 🏮" nil t))))
|
||||
|
||||
(defun khoj--query-chat-api (query)
|
||||
"Send QUERY to Khoj Chat API."
|
||||
@@ -809,7 +809,7 @@ RECEIVE-DATE is the message receive date."
|
||||
(let ((first-message-line (car (split-string message "\n" t)))
|
||||
(rest-message-lines (string-join (cdr (split-string message "\n" t)) "\n"))
|
||||
(heading-level (if (equal sender "you") "**" "***"))
|
||||
(emojified-sender (if (equal sender "you") "🤔 *You*" "🦅 *Khoj*"))
|
||||
(emojified-sender (if (equal sender "you") "🤔 *You*" "🏮 *Khoj*"))
|
||||
(suffix-newlines (if (equal sender "khoj") "\n\n" ""))
|
||||
(received (or receive-date (format-time-string "%F %T"))))
|
||||
(format "%s %s: %s\n :PROPERTIES:\n :RECEIVED: [%s]\n :END:\n%s\n%s"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;; Author: Debanjum Singh Solanky <debanjum@gmail.com>
|
||||
;; Version: 0.0.0
|
||||
;; Package-Requires: ((emacs "27.1") (transient "0.3.0") (dash "2.19.1") (org "9.0.0"))
|
||||
;; URL: https://github.com/debanjum/khoj/tree/master/src/interface/emacs
|
||||
;; URL: https://github.com/khoj-ai/khoj/tree/master/src/interface/emacs
|
||||
|
||||
;;; License:
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Khoj Obsidian 🦅
|
||||
> Natural language search for your Obsidian notes using [Khoj](https://github.com/debanjum/khoj)
|
||||
<img src="/src/khoj/interface/web/assets/icons/khoj-logo-sideways.svg" width="200" alt="Khoj Logo">Obsidian
|
||||
|
||||
> Natural language search for your Obsidian notes using [Khoj](https://github.com/khoj-ai/khoj)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@@ -35,7 +36,7 @@
|
||||
|
||||
## Demo
|
||||
### Search Demo
|
||||
https://github.com/debanjum/khoj/assets/6413477/3e33d8ea-25bb-46c8-a3bf-c92f78d0f56b
|
||||
https://github.com/khoj-ai/khoj/assets/6413477/3e33d8ea-25bb-46c8-a3bf-c92f78d0f56b
|
||||
|
||||
<details><summary>Description</summary>
|
||||
|
||||
@@ -51,10 +52,10 @@ https://github.com/debanjum/khoj/assets/6413477/3e33d8ea-25bb-46c8-a3bf-c92f78d0
|
||||
|
||||
## Interfaces
|
||||
### Search Modal
|
||||

|
||||

|
||||
|
||||
### Chat Modal
|
||||

|
||||

|
||||
|
||||
## Setup
|
||||
- *Make sure [python](https://realpython.com/installing-python/) (version 3.10 or lower) and [pip](https://pip.pypa.io/en/stable/installation/) are installed on your machine*
|
||||
@@ -88,9 +89,9 @@ 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.*
|
||||
|
||||
See [Khoj Chat](https://github.com/debanjum/khoj/tree/master/#Khoj-Chat) for more details
|
||||
See [Khoj Chat](https://github.com/khoj-ai/khoj/tree/master/#Khoj-Chat) for more details
|
||||
|
||||

|
||||

|
||||
|
||||
### 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)
|
||||
@@ -144,7 +145,7 @@ To see other notes similar to the current one, run *Khoj: Find Similar Notes* fr
|
||||
So notes across multiple vaults **cannot** be searched at the same time
|
||||
|
||||
## Visualize Codebase
|
||||
<img src="https://github.com/debanjum/khoj/blob/master/src/interface/obsidian/docs/khoj_obsidian_codebase_visualization_0.2.1.png" width="700" />
|
||||
<img src="https://github.com/khoj-ai/khoj/blob/master/src/interface/obsidian/docs/khoj_obsidian_codebase_visualization_0.2.1.png" width="700" />
|
||||
|
||||
## Implementation
|
||||
The plugin implements the following functionality to search your notes with Khoj:
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"name": "Khoj",
|
||||
"version": "0.6.2",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "An AI Personal Assistant for your Digital Brain 🦅",
|
||||
"description": "An AI Personal Assistant for your Digital Brain",
|
||||
"author": "Debanjum Singh Solanky",
|
||||
"authorUrl": "https://github.com/debanjum",
|
||||
"isDesktopOnly": false
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Khoj",
|
||||
"version": "0.6.2",
|
||||
"description": "An AI Personal Assistant for your Digital Brain 🦅",
|
||||
"description": "An AI Personal Assistant for your Digital Brain",
|
||||
"main": "src/main.js",
|
||||
"scripts": {
|
||||
"dev": "node esbuild.config.mjs",
|
||||
|
||||
@@ -49,7 +49,7 @@ export class KhojChatModal extends Modal {
|
||||
type: "text",
|
||||
id: "khoj-chat-input",
|
||||
autofocus: "autofocus",
|
||||
placeholder: "Chat with Khoj 🦅 [Hit Enter to send message]",
|
||||
placeholder: "Chat with Khoj [Hit Enter to send message]",
|
||||
class: "khoj-chat-input option"
|
||||
}
|
||||
})
|
||||
@@ -81,7 +81,7 @@ export class KhojChatModal extends Modal {
|
||||
|
||||
renderMessage(message: string, sender: string, dt?: Date): Element | null {
|
||||
let message_time = this.formatDate(dt ?? new Date());
|
||||
let emojified_sender = sender == "khoj" ? "🦅 Khoj" : "🤔 You";
|
||||
let emojified_sender = sender == "khoj" ? "🏮 Khoj" : "🤔 You";
|
||||
|
||||
// Append message to conversation history HTML element.
|
||||
// The chat logs should display above the message input box to follow standard UI semantics
|
||||
|
||||
@@ -63,7 +63,7 @@ export class KhojSearchModal extends SuggestModal<SearchResult> {
|
||||
this.setInstructions(modalInstructions);
|
||||
|
||||
// Set Placeholder Text for Modal
|
||||
this.setPlaceholder('Search with Khoj 🦅...');
|
||||
this.setPlaceholder('Search with Khoj...');
|
||||
}
|
||||
|
||||
async onOpen() {
|
||||
|
||||
Reference in New Issue
Block a user