From 3abe947319599107c4e5a00d3b824e83b7be4cbe Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Wed, 17 Jul 2024 12:59:06 +0530 Subject: [PATCH] Expose web, desktop settings page under /settings, not /configure --- documentation/docs/advanced/ollama.md | 2 +- documentation/docs/advanced/use-openai-proxy.md | 2 +- documentation/docs/clients/desktop.md | 2 +- documentation/docs/clients/emacs.md | 2 +- documentation/docs/clients/obsidian.md | 2 +- documentation/docs/clients/whatsapp.md | 2 +- documentation/docs/data-sources/github_integration.md | 4 ++-- documentation/docs/data-sources/notion_integration.md | 6 +++--- src/interface/desktop/main.js | 2 +- src/interface/desktop/renderer.js | 2 +- src/interface/desktop/search.html | 2 +- .../desktop/{configure.html => settings.html} | 0 src/interface/desktop/utils.js | 2 +- src/interface/emacs/khoj.el | 2 +- src/interface/obsidian/src/utils.ts | 4 ++-- src/interface/web/app/components/navMenu/navMenu.tsx | 6 +++--- .../app/components/sidePanel/chatHistorySidePanel.tsx | 2 +- src/khoj/interface/web/chat.html | 4 ++-- src/khoj/interface/web/public_conversation.html | 2 +- src/khoj/interface/web/search.html | 2 +- src/khoj/interface/web/{config.html => settings.html} | 8 ++++---- src/khoj/interface/web/utils.html | 2 +- src/khoj/routers/api.py | 2 +- src/khoj/routers/helpers.py | 4 ++-- src/khoj/routers/web_client.py | 10 +++++----- 25 files changed, 39 insertions(+), 39 deletions(-) rename src/interface/desktop/{configure.html => settings.html} (100%) rename src/khoj/interface/web/{config.html => settings.html} (99%) diff --git a/documentation/docs/advanced/ollama.md b/documentation/docs/advanced/ollama.md index 7a8f72e5d..0819a0139 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/configure) 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 5fa4a70ae..e67b58007 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/configure) 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 97ce555c1..d32d1ac4d 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/configure#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 4bbb2c68c..6c751927c 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/configure#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 cbd249ed7..0372ecbe5 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/configure#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 f2f6465fa..4c182f6af 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/configure). +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 1f6d73ba1..1507b4a84 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/configure](https://app.khoj.dev/configure) 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/configure/content/github](https://app.khoj.dev/configure/content/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 8b5e926ff..7fdf00e1b 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/configure 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/configure 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/configure/content/notion. Click `Save`. -5. Click `Configure` in http://localhost:42110/configure 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 1b8bc6b10..76abe63cb 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 7b287e862..683db49ed 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/configure"); + 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 7d8563eda..6a6cf6941 100644 --- a/src/interface/desktop/search.html +++ b/src/interface/desktop/search.html @@ -217,7 +217,7 @@ .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/configure.html b/src/interface/desktop/settings.html similarity index 100% rename from src/interface/desktop/configure.html rename to src/interface/desktop/settings.html diff --git a/src/interface/desktop/utils.js b/src/interface/desktop/utils.js index bf7280f74..a56791278 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 71e9e87b7..c5a07cde2 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/configure#clients." + "API Key to your Khoj. Default at https://app.khoj.dev/settings#clients." :group 'khoj :type 'string) diff --git a/src/interface/obsidian/src/utils.ts b/src/interface/obsidian/src/utils.ts index 592e53cd4..5c8b3cf91 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}/configure#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}/configure#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/app/components/navMenu/navMenu.tsx b/src/interface/web/app/components/navMenu/navMenu.tsx index efa8a5f8b..726a9a362 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 - Configure + Settings Help @@ -172,8 +172,8 @@ export default function NavMenu(props: NavMenuProps) { {userData && <> - - Configure + + Settings diff --git a/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx b/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx index 8bb871cb1..33ee1552f 100644 --- a/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx +++ b/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx @@ -604,7 +604,7 @@ function UserProfileComponent(props: UserProfileProps) { return (
- + diff --git a/src/khoj/interface/web/chat.html b/src/khoj/interface/web/chat.html index 05ca28eea..38007ce27 100644 --- a/src/khoj/interface/web/chat.html +++ b/src/khoj/interface/web/chat.html @@ -44,7 +44,7 @@ - 📚 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](/configure/content/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 @@ - 📚 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](/configure/content/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. diff --git a/src/khoj/interface/web/public_conversation.html b/src/khoj/interface/web/public_conversation.html index 1976eb329..be67cb002 100644 --- a/src/khoj/interface/web/public_conversation.html +++ b/src/khoj/interface/web/public_conversation.html @@ -34,7 +34,7 @@ - 📚 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](/configure/content/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() diff --git a/src/khoj/interface/web/search.html b/src/khoj/interface/web/search.html index 772b100f5..172d1d2ae 100644 --- a/src/khoj/interface/web/search.html +++ b/src/khoj/interface/web/search.html @@ -214,7 +214,7 @@ .then(enabled_types => { // Show warning if no content types are enabled, or just one ("all") if (enabled_types[0] === "all" && enabled_types.length === 1) { - 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/khoj/interface/web/config.html b/src/khoj/interface/web/settings.html similarity index 99% rename from src/khoj/interface/web/config.html rename to src/khoj/interface/web/settings.html index 6049a029d..ccb388f92 100644 --- a/src/khoj/interface/web/config.html +++ b/src/khoj/interface/web/settings.html @@ -44,7 +44,7 @@

Manage files from your computer

{% if enabled_content_source.notion %} - + Update @@ -120,7 +120,7 @@

{% else %} - + Setup diff --git a/src/khoj/interface/web/utils.html b/src/khoj/interface/web/utils.html index 92bdce29b..1ccd256b8 100644 --- a/src/khoj/interface/web/utils.html +++ b/src/khoj/interface/web/utils.html @@ -36,7 +36,7 @@ {% endif %}
{{ username }}
- Settings + Settings GitHub Help Logout diff --git a/src/khoj/routers/api.py b/src/khoj/routers/api.py index 07e527994..c14017a6e 100644 --- a/src/khoj/routers/api.py +++ b/src/khoj/routers/api.py @@ -189,7 +189,7 @@ def update( ): user = request.user.object if not state.config: - error_msg = f"🚨 Khoj is not configured.\nConfigure it via http://localhost:42110/configure, plugins or by editing {state.config_file}." + error_msg = f"🚨 Khoj is not configured.\nConfigure it via http://localhost:42110/settings, plugins or by editing {state.config_file}." logger.warning(error_msg) raise HTTPException(status_code=500, detail=error_msg) try: diff --git a/src/khoj/routers/helpers.py b/src/khoj/routers/helpers.py index a137f4bf2..818305e17 100644 --- a/src/khoj/routers/helpers.py +++ b/src/khoj/routers/helpers.py @@ -920,7 +920,7 @@ def __call__(self, request: Request): ) raise HTTPException( status_code=429, - detail="We're glad you're enjoying Khoj! You've exceeded your usage limit for today. Come back tomorrow or subscribe to increase your usage limit via [your settings](https://app.khoj.dev/configure).", + detail="We're glad you're enjoying Khoj! You've exceeded your usage limit for today. Come back tomorrow or subscribe to increase your usage limit via [your settings](https://app.khoj.dev/settings).", ) # Add the current request to the cache @@ -959,7 +959,7 @@ async def update_and_check_if_valid(self, request: Request, conversation_command if not subscribed and count_requests >= self.trial_rate_limit: raise HTTPException( status_code=429, - detail=f"We're glad you're enjoying Khoj! You've exceeded your `/{conversation_command.value}` command usage limit for today. Subscribe to increase your usage limit via [your settings](https://app.khoj.dev/configure).", + detail=f"We're glad you're enjoying Khoj! You've exceeded your `/{conversation_command.value}` command usage limit for today. Subscribe to increase your usage limit via [your settings](https://app.khoj.dev/settings).", ) await UserRequests.objects.acreate(user=user, slug=command_slug) return diff --git a/src/khoj/routers/web_client.py b/src/khoj/routers/web_client.py index da9e29c5a..21be774a5 100644 --- a/src/khoj/routers/web_client.py +++ b/src/khoj/routers/web_client.py @@ -138,16 +138,16 @@ def agent_page(request: Request, agent_slug: str): return templates.TemplateResponse("agent.html", context=user_config) -@web_client.get("/configure", response_class=HTMLResponse) +@web_client.get("/settings", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def config_page(request: Request): user: KhojUser = request.user.object user_config = get_user_config(user, request, is_detailed=True) - return templates.TemplateResponse("config.html", context=user_config) + return templates.TemplateResponse("settings.html", context=user_config) -@web_client.get("/configure/content/github", response_class=HTMLResponse) +@web_client.get("/settings/content/github", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def github_config_page(request: Request): user = request.user.object @@ -177,7 +177,7 @@ def github_config_page(request: Request): return templates.TemplateResponse("content_source_github_input.html", context=user_config) -@web_client.get("/configure/content/notion", response_class=HTMLResponse) +@web_client.get("/settings/content/notion", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def notion_config_page(request: Request): user = request.user.object @@ -192,7 +192,7 @@ def notion_config_page(request: Request): return templates.TemplateResponse("content_source_notion_input.html", context=user_config) -@web_client.get("/configure/content/computer", response_class=HTMLResponse) +@web_client.get("/settings/content/computer", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def computer_config_page(request: Request): user = request.user.object if request.user.is_authenticated else None