diff --git a/documentation/docs/advanced/litellm.md b/documentation/docs/advanced/litellm.md index ad482e50..d7bdea88 100644 --- a/documentation/docs/advanced/litellm.md +++ b/documentation/docs/advanced/litellm.md @@ -34,4 +34,4 @@ Using LiteLLM with Khoj makes it possible to turn any LLM behind an API into you 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/settings) and select the model you just created in the chat model dropdown. diff --git a/documentation/docs/advanced/lmstudio.md b/documentation/docs/advanced/lmstudio.md index d8d42664..a7df6d3c 100644 --- a/documentation/docs/advanced/lmstudio.md +++ b/documentation/docs/advanced/lmstudio.md @@ -27,4 +27,4 @@ LM Studio can expose an [OpenAI API compatible server](https://lmstudio.ai/docs/ 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/settings) and select the model you just created in the chat model dropdown. diff --git a/documentation/docs/advanced/ollama.md b/documentation/docs/advanced/ollama.md index 4679b1d0..0819a013 100644 --- a/documentation/docs/advanced/ollama.md +++ b/documentation/docs/advanced/ollama.md @@ -31,6 +31,6 @@ Ollama exposes a local [OpenAI API compatible server](https://github.com/ollama/ 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/settings) and select the model you just created in the chat model dropdown. That's it! You should now be able to chat with your Ollama model from Khoj. If you want to add additional models running on Ollama, repeat step 6 for each model. diff --git a/documentation/docs/advanced/use-openai-proxy.md b/documentation/docs/advanced/use-openai-proxy.md index 0479b6fe..e67b5800 100644 --- a/documentation/docs/advanced/use-openai-proxy.md +++ b/documentation/docs/advanced/use-openai-proxy.md @@ -34,4 +34,4 @@ For specific integrations, see our [Ollama](/advanced/ollama), [LMStudio](/advan 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/settings) and select the model you just created in the chat model dropdown. diff --git a/documentation/docs/clients/desktop.md b/documentation/docs/clients/desktop.md index 6c089424..d32d1ac4 100644 --- a/documentation/docs/clients/desktop.md +++ b/documentation/docs/clients/desktop.md @@ -23,7 +23,7 @@ Khoj will keep these files in sync to provide contextual responses when you sear ## Setup 1. Install the [Khoj Desktop app](https://khoj.dev/downloads) for your OS -2. Generate an API key on the [Khoj Web App](https://app.khoj.dev/config#clients) +2. Generate an API key on the [Khoj Web App](https://app.khoj.dev/settings#clients) 3. Set your Khoj API Key on the *Settings* page of the Khoj Desktop app 4. [Optional] Add any files, folders you'd like Khoj to be aware of on the *Settings* page and Click *Save* These files and folders will be automatically kept in sync for you diff --git a/documentation/docs/clients/emacs.md b/documentation/docs/clients/emacs.md index 3252c598..6c751927 100644 --- a/documentation/docs/clients/emacs.md +++ b/documentation/docs/clients/emacs.md @@ -30,7 +30,7 @@ sidebar_position: 2 | ![khoj search on emacs](/img/khoj_search_on_emacs.png) | ![khoj chat on emacs](/img/khoj_chat_on_emacs.png) | ## Setup -1. Generate an API key on the [Khoj Web App](https://app.khoj.dev/config#clients) +1. Generate an API key on the [Khoj Web App](https://app.khoj.dev/settings#clients) 2. Add below snippet to your Emacs config file, usually at `~/.emacs.d/init.el` diff --git a/documentation/docs/clients/obsidian.md b/documentation/docs/clients/obsidian.md index 37a2526e..0372ecbe 100644 --- a/documentation/docs/clients/obsidian.md +++ b/documentation/docs/clients/obsidian.md @@ -23,7 +23,7 @@ sidebar_position: 3 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 - 3. Generate an API key on the [Khoj Web App](https://app.khoj.dev/config#clients) + 3. Generate an API key on the [Khoj Web App](https://app.khoj.dev/settings#clients) 4. Set your Khoj API Key in the Khoj plugin settings in Obsidian See the official [Obsidian Plugin Docs](https://help.obsidian.md/Extending+Obsidian/Community+plugins) for more details on installing Obsidian plugins. diff --git a/documentation/docs/clients/whatsapp.md b/documentation/docs/clients/whatsapp.md index fc0d38e1..4c182f6a 100644 --- a/documentation/docs/clients/whatsapp.md +++ b/documentation/docs/clients/whatsapp.md @@ -10,7 +10,7 @@ Text [+1 (848) 800 4242](https://wa.me/18488004242) or scan [this QR code](https Without any desktop clients, you can start chatting with Khoj on WhatsApp. Bear in mind you do need one of the desktop clients in order to share and sync your data with Khoj. The WhatsApp AI bot will work right away for answering generic queries and using Khoj in default mode. -In order to use Khoj on WhatsApp with your own data, you need to setup a Khoj Cloud account and connect your WhatsApp account to it. This is a one time setup and you can do it from the [Khoj Cloud config page](https://app.khoj.dev/config). +In order to use Khoj on WhatsApp with your own data, you need to setup a Khoj Cloud account and connect your WhatsApp account to it. This is a one time setup and you can do it from the [Khoj Cloud config page](https://app.khoj.dev/settings). If you hit usage limits for the WhatsApp bot, upgrade to [a paid plan](https://khoj.dev/pricing) on Khoj Cloud. diff --git a/documentation/docs/data-sources/github_integration.md b/documentation/docs/data-sources/github_integration.md index 77e5bd1b..1507b4a8 100644 --- a/documentation/docs/data-sources/github_integration.md +++ b/documentation/docs/data-sources/github_integration.md @@ -4,11 +4,11 @@ The Github integration allows you to index as many repositories as you want. It' # Configure your settings -1. Go to [https://app.khoj.dev/config](https://app.khoj.dev/config) and enter in settings for the data sources you want to index. You'll have to specify the file paths. +1. Go to [https://app.khoj.dev/settings](https://app.khoj.dev/settings) and enter in settings for the data sources you want to index. You'll have to specify the file paths. ## Use the Github plugin 1. Generate a [classic PAT (personal access token)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) from [Github](https://github.com/settings/tokens) with `repo` and `admin:org` scopes at least. -2. Navigate to [https://app.khoj.dev/config/content-source/github](https://app.khoj.dev/config/content-source/github) to configure your Github settings. Enter in your PAT, along with details for each repository you want to index. +2. Navigate to [https://app.khoj.dev/settings/content/github](https://app.khoj.dev/settings/content/github) to configure your Github settings. Enter in your PAT, along with details for each repository you want to index. 3. Click `Save`. Go back to the settings page and click `Configure`. 4. Go to [https://app.khoj.dev/](https://app.khoj.dev/) and start searching! diff --git a/documentation/docs/data-sources/notion_integration.md b/documentation/docs/data-sources/notion_integration.md index 23fe9f32..7fdf00e1 100644 --- a/documentation/docs/data-sources/notion_integration.md +++ b/documentation/docs/data-sources/notion_integration.md @@ -2,7 +2,7 @@ The Notion integration allows you to search/chat with your Notion workspaces. [Notion](https://notion.so/) is a platform people use for taking notes, especially for collaboration. -Go to https://app.khoj.dev/config to connect your Notion workspace(s) to Khoj. +Go to https://app.khoj.dev/settings to connect your Notion workspace(s) to Khoj. ![notion_integration](https://assets.khoj.dev/notion_integration.gif) @@ -13,7 +13,7 @@ Go to https://app.khoj.dev/config to connect your Notion workspace(s) to Khoj. ![setup_new_integration](https://github.com/khoj-ai/khoj/assets/65192171/b056e057-d4dc-47dc-aad3-57b59a22c68b) 3. Share all the workspaces that you want to integrate with the Khoj integration you just made in the previous step ![enable_workspace](https://github.com/khoj-ai/khoj/assets/65192171/98290303-b5b8-4cb0-b32c-f68c6923a3d0) -4. In the first step, you generated an API key. Use the newly generated API Key in your Khoj settings, by default at http://localhost:42110/config/content-source/notion. Click `Save`. -5. Click `Configure` in http://localhost:42110/config to index your Notion workspace(s). +4. In the first step, you generated an API key. Use the newly generated API Key in your Khoj settings, by default at http://localhost:42110/settings/content/notion. Click `Save`. +5. Click `Configure` in http://localhost:42110/settings to index your Notion workspace(s). That's it! You should be ready to start searching and chatting. Make sure you've configured your [chat settings](/get-started/setup#2-configure). diff --git a/src/interface/desktop/main.js b/src/interface/desktop/main.js index 12d486e9..76abe63c 100644 --- a/src/interface/desktop/main.js +++ b/src/interface/desktop/main.js @@ -253,7 +253,7 @@ function pushDataToKhoj (regenerate = false) { console.error(error); state["completed"] = false; if (error?.response?.status === 429 && (BrowserWindow.getAllWindows().find(win => win.webContents.getURL().includes('config')))) { - state["error"] = `Looks like you're out of space to sync your files. Upgrade your plan to unlock more space.`; + state["error"] = `Looks like you're out of space to sync your files. Upgrade your plan to unlock more space.`; const win = BrowserWindow.getAllWindows().find(win => win.webContents.getURL().includes('config')); if (win) win.webContents.send('needsSubscription', true); } else if (error?.code === 'ECONNREFUSED') { diff --git a/src/interface/desktop/renderer.js b/src/interface/desktop/renderer.js index a571bb3d..683db49e 100644 --- a/src/interface/desktop/renderer.js +++ b/src/interface/desktop/renderer.js @@ -182,7 +182,7 @@ window.updateStateAPI.onUpdateState((event, state) => { window.needsSubscriptionAPI.onNeedsSubscription((event, needsSubscription) => { console.log("needs subscription", needsSubscription); if (needsSubscription) { - window.alert("Looks like you're out of space to sync your files. Upgrade your plan to unlock more space here: https://app.khoj.dev/config"); + window.alert("Looks like you're out of space to sync your files. Upgrade your plan to unlock more space here: https://app.khoj.dev/settings"); needsSubscriptionElement.style.display = 'block'; } }); diff --git a/src/interface/desktop/search.html b/src/interface/desktop/search.html index 1f2133fe..6a6cf694 100644 --- a/src/interface/desktop/search.html +++ b/src/interface/desktop/search.html @@ -212,12 +212,12 @@ const headers = { 'Authorization': `Bearer ${khojToken}` }; // Populate type dropdown field with enabled content types only - fetch(`${hostURL}/api/config/types`, { headers }) + fetch(`${hostURL}/api/configure/types`, { headers }) .then(response => response.json()) .then(enabled_types => { // Show warning if no content types are enabled if (enabled_types.detail) { - document.getElementById("results").innerHTML = "
To use Khoj search, setup your content plugins on the Khoj settings page.
"; + document.getElementById("results").innerHTML = "
To use Khoj search, setup your content plugins on the Khoj settings page.
"; document.getElementById("query").setAttribute("disabled", "disabled"); document.getElementById("query").setAttribute("placeholder", "Configure Khoj to enable search"); return []; diff --git a/src/interface/desktop/config.html b/src/interface/desktop/settings.html similarity index 100% rename from src/interface/desktop/config.html rename to src/interface/desktop/settings.html diff --git a/src/interface/desktop/utils.js b/src/interface/desktop/utils.js index c880a7cd..a5679127 100644 --- a/src/interface/desktop/utils.js +++ b/src/interface/desktop/utils.js @@ -85,7 +85,7 @@ async function populateHeaderPane() { ` : ''} diff --git a/src/interface/emacs/khoj.el b/src/interface/emacs/khoj.el index ca805815..c5a07cde 100644 --- a/src/interface/emacs/khoj.el +++ b/src/interface/emacs/khoj.el @@ -99,7 +99,7 @@ :type 'boolean) (defcustom khoj-api-key nil - "API Key to your Khoj. Default at https://app.khoj.dev/config#clients." + "API Key to your Khoj. Default at https://app.khoj.dev/settings#clients." :group 'khoj :type 'string) @@ -697,7 +697,7 @@ Optionally apply CALLBACK with JSON parsed response and CBARGS." (defun khoj--get-enabled-content-types () "Get content types enabled for search from API." - (khoj--call-api "/api/config/types" "GET" nil `(lambda (item) (mapcar #'intern item)))) + (khoj--call-api "/api/configure/types" "GET" nil `(lambda (item) (mapcar #'intern item)))) (defun khoj--query-search-api-and-render-results (query content-type buffer-name &optional rerank is-find-similar) "Query Khoj Search API with QUERY, CONTENT-TYPE and RERANK as query params. diff --git a/src/interface/obsidian/src/utils.ts b/src/interface/obsidian/src/utils.ts index 4a969793..5c8b3cf9 100644 --- a/src/interface/obsidian/src/utils.ts +++ b/src/interface/obsidian/src/utils.ts @@ -201,12 +201,12 @@ export function getBackendStatusMessage( ): string { // Welcome message with default settings. Khoj cloud always expects an API key. if (!khojApiKey && khojUrl === 'https://app.khoj.dev') - return `🌈 Welcome to Khoj! Get your API key from ${khojUrl}/config#clients and set it in the Khoj plugin settings on Obsidian`; + return `🌈 Welcome to Khoj! Get your API key from ${khojUrl}/settings#clients and set it in the Khoj plugin settings on Obsidian`; if (!connectedToServer) return `❗️Could not connect to Khoj at ${khojUrl}. Ensure your can access it`; else if (!userEmail) - return `✅ Connected to Khoj. ❗️Get a valid API key from ${khojUrl}/config#clients to log in`; + return `✅ Connected to Khoj. ❗️Get a valid API key from ${khojUrl}/settings#clients to log in`; else if (userEmail === 'default@example.com') // Logged in as default user in anonymous mode return `✅ Signed in to Khoj`; diff --git a/src/interface/web/.eslintrc.json b/src/interface/web/.eslintrc.json index 2324a052..6e688e15 100644 --- a/src/interface/web/.eslintrc.json +++ b/src/interface/web/.eslintrc.json @@ -6,6 +6,6 @@ ], "plugins": ["prettier"], "rules": { - "prettier/prettier": "error" + "prettier/prettier": "off" } } diff --git a/src/interface/web/app/components/modelPicker/modelPicker.tsx b/src/interface/web/app/components/modelPicker/modelPicker.tsx index 3691cf6a..8e77db41 100644 --- a/src/interface/web/app/components/modelPicker/modelPicker.tsx +++ b/src/interface/web/app/components/modelPicker/modelPicker.tsx @@ -68,8 +68,8 @@ interface ModelPickerProps { } export const ModelPicker: React.FC = (props: ModelPickerProps) => { - const { data: models } = useOptionsRequest('/api/config/data/conversation/model/options'); - const { data: selectedModel } = useSelectedModel('/api/config/data/conversation/model'); + const { data: models } = useOptionsRequest('/api/configure/chat/model/options'); + const { data: selectedModel } = useSelectedModel('/api/configure/chat/model'); const [openLoginDialog, setOpenLoginDialog] = React.useState(false); let userData = useAuthenticatedData(); @@ -94,7 +94,7 @@ export const ModelPicker: React.FC = (props: ModelPickerProps) => { props.setModelUsed(model); } - fetch('/api/config/data/conversation/model' + '?id=' + String(model.id), { method: 'POST', body: JSON.stringify(model) }) + fetch('/api/configure/chat/model' + '?id=' + String(model.id), { method: 'POST', body: JSON.stringify(model) }) .then((response) => { if (!response.ok) { throw new Error('Failed to select model'); diff --git a/src/interface/web/app/components/navMenu/navMenu.tsx b/src/interface/web/app/components/navMenu/navMenu.tsx index 5eaad6cd..726a9a36 100644 --- a/src/interface/web/app/components/navMenu/navMenu.tsx +++ b/src/interface/web/app/components/navMenu/navMenu.tsx @@ -128,7 +128,7 @@ export default function NavMenu(props: NavMenuProps) { Profile - Settings + Settings Help @@ -172,7 +172,7 @@ export default function NavMenu(props: NavMenuProps) { {userData && <> - + Settings diff --git a/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx b/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx index ced5c4e4..33ee1552 100644 --- a/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx +++ b/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx @@ -148,7 +148,7 @@ interface FilesMenuProps { function FilesMenu(props: FilesMenuProps) { // Use SWR to fetch files - const { data: files, error } = useSWR(props.conversationId ? '/api/config/data/computer' : null, fetcher); + const { data: files, error } = useSWR(props.conversationId ? '/api/configure/content/computer' : null, fetcher); const { data: selectedFiles, error: selectedFilesError } = useSWR(props.conversationId ? `/api/chat/conversation/file-filters/${props.conversationId}` : null, fetcher); const [isOpen, setIsOpen] = useState(false); const [unfilteredFiles, setUnfilteredFiles] = useState([]); @@ -604,7 +604,7 @@ function UserProfileComponent(props: UserProfileProps) { return (
- + diff --git a/src/interface/web/app/factchecker/page.tsx b/src/interface/web/app/factchecker/page.tsx index 01748c9a..5f2a9845 100644 --- a/src/interface/web/app/factchecker/page.tsx +++ b/src/interface/web/app/factchecker/page.tsx @@ -533,7 +533,7 @@ export default function FactChecker() {

- Try with a particular model. You must be subscribed to configure the model. + Try with a particular model. You must be subscribed to configure the model.

} diff --git a/src/interface/web/app/share/chat/page.tsx b/src/interface/web/app/share/chat/page.tsx index e9653dd0..f1a62e78 100644 --- a/src/interface/web/app/share/chat/page.tsx +++ b/src/interface/web/app/share/chat/page.tsx @@ -299,7 +299,9 @@ export default function SharedChat() { + uploadedFiles={uploadedFiles} + isMobileWidth={isMobileWidth} + />
diff --git a/src/interface/web/package.json b/src/interface/web/package.json index fbb4e926..654d6662 100644 --- a/src/interface/web/package.json +++ b/src/interface/web/package.json @@ -35,7 +35,6 @@ "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-toast": "^1.2.1", "@radix-ui/react-toggle": "^1.1.0", - "@tailwindcss/line-clamp": "^0.4.4", "@types/dompurify": "^3.0.5", "@types/katex": "^0.16.7", "@types/markdown-it": "^14.1.1", diff --git a/src/interface/web/tailwind.config.ts b/src/interface/web/tailwind.config.ts index f65744f5..1a3f4ed0 100644 --- a/src/interface/web/tailwind.config.ts +++ b/src/interface/web/tailwind.config.ts @@ -76,7 +76,6 @@ const config = { }, plugins: [ require("tailwindcss-animate"), - require('@tailwindcss/line-clamp'), ], } satisfies Config diff --git a/src/interface/web/yarn.lock b/src/interface/web/yarn.lock index 65b65b92..33846339 100644 --- a/src/interface/web/yarn.lock +++ b/src/interface/web/yarn.lock @@ -1090,11 +1090,6 @@ "@swc/counter" "^0.1.3" tslib "^2.4.0" -"@tailwindcss/line-clamp@^0.4.4": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz#767cf8e5d528a5d90c9740ca66eb079f5e87d423" - integrity sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g== - "@ts-morph/common@~0.19.0": version "0.19.0" resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.19.0.tgz#927fcd81d1bbc09c89c4a310a84577fb55f3694e" diff --git a/src/khoj/configure.py b/src/khoj/configure.py index 6c4d8484..819fc15d 100644 --- a/src/khoj/configure.py +++ b/src/khoj/configure.py @@ -316,7 +316,7 @@ def configure_routes(app): app.include_router(api, prefix="/api") app.include_router(api_chat, prefix="/api/chat") app.include_router(api_agents, prefix="/api/agents") - app.include_router(api_config, prefix="/api/config") + app.include_router(api_config, prefix="/api/configure") app.include_router(indexer, prefix="/api/v1/index") app.include_router(notion_router, prefix="/api/notion") app.include_router(web_client) @@ -336,7 +336,7 @@ def configure_routes(app): if is_twilio_enabled(): from khoj.routers.api_phone import api_phone - app.include_router(api_phone, prefix="/api/config/phone") + app.include_router(api_phone, prefix="/api/configure/phone") logger.info("📞 Enabled Twilio") diff --git a/src/khoj/interface/web/chat.html b/src/khoj/interface/web/chat.html index ad8ced27..38007ce2 100644 --- a/src/khoj/interface/web/chat.html +++ b/src/khoj/interface/web/chat.html @@ -44,7 +44,7 @@ Hi, I am Khoj, your open, personal AI 👋🏽. I can: - 📚 Understand files you drag & drop here - 👩🏾‍🚀 Be tuned to your conversation needs via [agents](./agents) -Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), [Emacs](https://docs.khoj.dev/clients/emacs#setup) apps to search, chat with your 🖥️ computer docs. You can manage all the files you've shared with me at any time by going to [your settings](/config/content-source/computer/). +Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), [Emacs](https://docs.khoj.dev/clients/emacs#setup) apps to search, chat with your 🖥️ computer docs. You can manage all the files you've shared with me at any time by going to [your settings](/settings/content/computer/). To get started, just start typing below. You can also type / to see a list of commands. `.trim() @@ -1333,7 +1333,7 @@ To get started, just start typing below. You can also type / to see a list of co - 📚 Understand files you drag & drop here - 👩🏾‍🚀 Be tuned to your conversation needs via [agents](./agents) -Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), or [Emacs](https://docs.khoj.dev/clients/emacs#setup) app to keep your files in sync. You can manage all the files you've shared with me at any time by going to [your settings](/config/content-source/computer/). +Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), or [Emacs](https://docs.khoj.dev/clients/emacs#setup) app to keep your files in sync. You can manage all the files you've shared with me at any time by going to [your settings](/settings/content/computer/). To get started, just start typing below. You can also type / to see a list of commands. @@ -1954,7 +1954,7 @@ To get started, just start typing below. You can also type / to see a list of co } var allFiles; function renderAllFiles() { - fetch('/api/config/data/computer') + fetch('/api/configure/content/computer') .then(response => response.json()) .then(data => { var indexedFiles = document.getElementsByClassName("indexed-files")[0]; diff --git a/src/khoj/interface/web/content_source_computer_input.html b/src/khoj/interface/web/content_source_computer_input.html index ac3209c3..e0ffc4e9 100644 --- a/src/khoj/interface/web/content_source_computer_input.html +++ b/src/khoj/interface/web/content_source_computer_input.html @@ -32,7 +32,7 @@