mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-08 21:29:12 +00:00
Disable Chat, Search on Web if Khoj not configured & show next steps
This commit is contained in:
@@ -87,7 +87,14 @@
|
|||||||
.then(data => {
|
.then(data => {
|
||||||
if (data.detail) {
|
if (data.detail) {
|
||||||
// If the server returns a 500 error with detail, render it as a message.
|
// If the server returns a 500 error with detail, render it as a message.
|
||||||
renderMessage(data.detail + " You can configure Khoj chat in your <a class='inline-chat-link' href='/config'>settings</a>.", "khoj");
|
renderMessage("Hi 👋🏾, to get started <br/>1. Get your <a class='inline-chat-link' href='https://platform.openai.com/account/api-keys'>OpenAI API key</a><br/>2. Save it in the Khoj <a class='inline-chat-link' href='/config/processor/conversation'>chat settings</a> <br/>3. Click Configure on the Khoj <a class='inline-chat-link' href='/config'>settings page</a>", "khoj");
|
||||||
|
|
||||||
|
// Disable chat input field and update placeholder text
|
||||||
|
document.getElementById("chat-input").setAttribute("disabled", "disabled");
|
||||||
|
document.getElementById("chat-input").setAttribute("placeholder", "Configure Khoj to enable chat");
|
||||||
|
} else {
|
||||||
|
// Set welcome message on load
|
||||||
|
renderMessage("Hey 👋🏾, what's up?", "khoj");
|
||||||
}
|
}
|
||||||
return data.response;
|
return data.response;
|
||||||
})
|
})
|
||||||
@@ -101,9 +108,6 @@
|
|||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Set welcome message on load
|
|
||||||
renderMessage("Hey, what's up?", "khoj");
|
|
||||||
|
|
||||||
// Fill query field with value passed in URL query parameters, if any.
|
// Fill query field with value passed in URL query parameters, if any.
|
||||||
var query_via_url = new URLSearchParams(window.location.search).get("q");
|
var query_via_url = new URLSearchParams(window.location.search).get("q");
|
||||||
if (query_via_url) {
|
if (query_via_url) {
|
||||||
|
|||||||
@@ -161,6 +161,14 @@
|
|||||||
fetch("/api/config/types")
|
fetch("/api/config/types")
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(enabled_types => {
|
.then(enabled_types => {
|
||||||
|
// Show warning if no content types are enabled
|
||||||
|
if (enabled_types.detail) {
|
||||||
|
document.getElementById("results").innerHTML = "<div id='results-error'>To use Khoj search, setup your content plugins on the Khoj <a class='inline-chat-link' href='/config'>settings page</a>.</div>";
|
||||||
|
document.getElementById("query").setAttribute("disabled", "disabled");
|
||||||
|
document.getElementById("query").setAttribute("placeholder", "Configure Khoj to enable search");
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
document.getElementById("type").innerHTML =
|
document.getElementById("type").innerHTML =
|
||||||
enabled_types
|
enabled_types
|
||||||
.map(type => `<option value="${type}">${type.slice(0,1).toUpperCase() + type.slice(1)}</option>`)
|
.map(type => `<option value="${type}">${type.slice(0,1).toUpperCase() + type.slice(1)}</option>`)
|
||||||
@@ -407,6 +415,7 @@
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div#results-error,
|
||||||
div.results-markdown,
|
div.results-markdown,
|
||||||
div.results-org,
|
div.results-org,
|
||||||
div.results-pdf {
|
div.results-pdf {
|
||||||
@@ -418,6 +427,10 @@
|
|||||||
border: 4px solid rgb(229, 229, 229);
|
border: 4px solid rgb(229, 229, 229);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div#results-error {
|
||||||
|
box-shadow: 2px 2px 2px #FF5722;
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
}
|
}
|
||||||
@@ -481,8 +494,7 @@
|
|||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
var khojBannerSubmit = document.getElementById("khoj-banner-submit");
|
var khojBannerSubmit = document.getElementById("khoj-banner-submit");
|
||||||
|
khojBannerSubmit?.addEventListener("click", function(event) {
|
||||||
khojBannerSubmit.addEventListener("click", function(event) {
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
var email = document.getElementById("khoj-banner-email").value;
|
var email = document.getElementById("khoj-banner-email").value;
|
||||||
fetch("https://lantern.khoj.dev/beta/users/", {
|
fetch("https://lantern.khoj.dev/beta/users/", {
|
||||||
|
|||||||
@@ -408,7 +408,7 @@ async def chat(
|
|||||||
or state.processor_config.conversation.openai_api_key is None
|
or state.processor_config.conversation.openai_api_key is None
|
||||||
):
|
):
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=500, detail="Chat processor not configured. Configure OpenAI API key on server and restart it."
|
status_code=500, detail="Set your OpenAI API key via Khoj settings and restart it to use Khoj Chat."
|
||||||
)
|
)
|
||||||
|
|
||||||
# Load Conversation History
|
# Load Conversation History
|
||||||
|
|||||||
Reference in New Issue
Block a user