khoj 1.20.5.dev15__py3-none-any.whl → 1.20.5.dev18__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- khoj/configure.py +5 -32
- khoj/database/adapters/__init__.py +61 -20
- khoj/database/admin.py +4 -2
- khoj/database/migrations/0057_remove_serverchatsettings_default_model_and_more.py +51 -0
- khoj/database/models/__init__.py +5 -4
- khoj/interface/compiled/404/index.html +1 -1
- khoj/interface/compiled/_next/static/chunks/{9178-ef3257c08d8973c8.js → 9178-b9ab3fa2e9be8287.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/page-c2ebc47a09abc8ae.js +1 -0
- khoj/interface/compiled/_next/static/chunks/app/settings/page-1a2acc46cdabaf4a.js +1 -0
- khoj/interface/compiled/_next/static/css/{2bfe35fbe2c97a56.css → 9369a9dea99c97e8.css} +1 -1
- khoj/interface/compiled/agents/index.html +1 -1
- khoj/interface/compiled/agents/index.txt +1 -1
- khoj/interface/compiled/automations/index.html +1 -1
- khoj/interface/compiled/automations/index.txt +1 -1
- khoj/interface/compiled/chat/index.html +1 -1
- khoj/interface/compiled/chat/index.txt +2 -2
- khoj/interface/compiled/factchecker/index.html +1 -1
- khoj/interface/compiled/factchecker/index.txt +2 -2
- khoj/interface/compiled/index.html +1 -1
- khoj/interface/compiled/index.txt +1 -1
- khoj/interface/compiled/search/index.html +1 -1
- khoj/interface/compiled/search/index.txt +1 -1
- khoj/interface/compiled/settings/index.html +1 -1
- khoj/interface/compiled/settings/index.txt +2 -2
- khoj/interface/compiled/share/chat/index.html +1 -1
- khoj/interface/compiled/share/chat/index.txt +2 -2
- khoj/processor/tools/online_search.py +10 -5
- khoj/routers/api_chat.py +22 -9
- khoj/routers/helpers.py +28 -12
- {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev18.dist-info}/METADATA +1 -1
- {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev18.dist-info}/RECORD +36 -35
- khoj/interface/compiled/_next/static/chunks/app/chat/page-37ff98d93e65b5a4.js +0 -1
- khoj/interface/compiled/_next/static/chunks/app/settings/page-b0fae6e054ca311e.js +0 -1
- /khoj/interface/compiled/_next/static/{K0mF1QxJRVM2LVZZQ_Edc → StJQhDfsnRaHEWnrxvjj3}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{K0mF1QxJRVM2LVZZQ_Edc → StJQhDfsnRaHEWnrxvjj3}/_ssgManifest.js +0 -0
- {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev18.dist-info}/WHEEL +0 -0
- {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev18.dist-info}/entry_points.txt +0 -0
- {khoj-1.20.5.dev15.dist-info → khoj-1.20.5.dev18.dist-info}/licenses/LICENSE +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9d5b867ec04494a6.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a22d83f18a32957e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2bfe35fbe2c97a56.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-072d1cbdec7e1782.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-52c1be60135eb057.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><script src="/_next/static/chunks/9001-acbca3e19b1a5ddf.js" async=""></script><script src="/_next/static/chunks/3062-a42d847c919a9ea4.js" async=""></script><script src="/_next/static/chunks/3678-8c0e55c3b5d83a22.js" async=""></script><script src="/_next/static/chunks/1603-fb2d80ae73990df3.js" async=""></script><script src="/_next/static/chunks/app/settings/page-b0fae6e054ca311e.js" async=""></script><script src="/_next/static/chunks/4504-1629487c8bc82203.js" async=""></script><script src="/_next/static/chunks/app/settings/layout-6f9314b0d7a26046.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><title>Khoj AI - Settings</title><meta name="description" content="Configure Khoj to get personalized, deeper assistance."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Settings"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/settings/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Settings"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><html lang="en"><body class="__className_90df87"><div class="bg-background opacity-50 flex items-center justify-center h-screen"><div>Loading<!-- --> <span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="inline animate-spin h-5 w-5"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></svg></span></div></div><div role="region" aria-label="Notifications (F8)" tabindex="-1" style="pointer-events:none"><ol tabindex="-1" class="fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]"></ol></div><script src="/_next/static/chunks/webpack-072d1cbdec7e1782.js" async=""></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/9d5b867ec04494a6.css\",\"style\"]\n4:HL[\"/_next/static/css/a22d83f18a32957e.css\",\"style\"]\n5:HL[\"/_next/static/css/2bfe35fbe2c97a56.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"6:I[95751,[],\"\"]\n8:I[66513,[],\"ClientPageRoot\"]\n9:I[95982,[\"9001\",\"static/chunks/9001-acbca3e19b1a5ddf.js\",\"3062\",\"static/chunks/3062-a42d847c919a9ea4.js\",\"3678\",\"static/chunks/3678-8c0e55c3b5d83a22.js\",\"1603\",\"static/chunks/1603-fb2d80ae73990df3.js\",\"6938\",\"static/chunks/app/settings/page-b0fae6e054ca311e.js\"],\"default\"]\na:I[39275,[],\"\"]\nb:I[61343,[],\"\"]\nc:I[23367,[\"9001\",\"static/chunks/9001-acbca3e19b1a5ddf.js\",\"4504\",\"static/chunks/4504-1629487c8bc82203.js\",\"3474\",\"static/chunks/app/settings/layout-6f9314b0d7a26046.js\"],\"Toaster\"]\ne:I[76130,[],\"\"]\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9d5b867ec04494a6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"buildId\":\"K0mF1QxJRVM2LVZZQ_Edc\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/settings/\",\"initialTree\":[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"$L8\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$9\"}]],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"settings\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a22d83f18a32957e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2bfe35fbe2c97a56.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}],[\"$\",\"$Lc\",null,{}]]}]]}],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Settings\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Configure Khoj to get personalized, deeper assistance.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Settings\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/settings/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Settings\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"20\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"21\",{\"name\":\"next-size-adjust\"}]]\n7:null\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9d5b867ec04494a6.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a22d83f18a32957e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9369a9dea99c97e8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-072d1cbdec7e1782.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-52c1be60135eb057.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><script src="/_next/static/chunks/9001-acbca3e19b1a5ddf.js" async=""></script><script src="/_next/static/chunks/3062-a42d847c919a9ea4.js" async=""></script><script src="/_next/static/chunks/3678-8c0e55c3b5d83a22.js" async=""></script><script src="/_next/static/chunks/1603-fb2d80ae73990df3.js" async=""></script><script src="/_next/static/chunks/app/settings/page-1a2acc46cdabaf4a.js" async=""></script><script src="/_next/static/chunks/4504-1629487c8bc82203.js" async=""></script><script src="/_next/static/chunks/app/settings/layout-6f9314b0d7a26046.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><title>Khoj AI - Settings</title><meta name="description" content="Configure Khoj to get personalized, deeper assistance."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Settings"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/settings/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Settings"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><html lang="en"><body class="__className_90df87"><div class="bg-background opacity-50 flex items-center justify-center h-screen"><div>Loading<!-- --> <span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="inline animate-spin h-5 w-5"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></svg></span></div></div><div role="region" aria-label="Notifications (F8)" tabindex="-1" style="pointer-events:none"><ol tabindex="-1" class="fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]"></ol></div><script src="/_next/static/chunks/webpack-072d1cbdec7e1782.js" async=""></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/9d5b867ec04494a6.css\",\"style\"]\n4:HL[\"/_next/static/css/a22d83f18a32957e.css\",\"style\"]\n5:HL[\"/_next/static/css/9369a9dea99c97e8.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"6:I[95751,[],\"\"]\n8:I[66513,[],\"ClientPageRoot\"]\n9:I[95982,[\"9001\",\"static/chunks/9001-acbca3e19b1a5ddf.js\",\"3062\",\"static/chunks/3062-a42d847c919a9ea4.js\",\"3678\",\"static/chunks/3678-8c0e55c3b5d83a22.js\",\"1603\",\"static/chunks/1603-fb2d80ae73990df3.js\",\"6938\",\"static/chunks/app/settings/page-1a2acc46cdabaf4a.js\"],\"default\"]\na:I[39275,[],\"\"]\nb:I[61343,[],\"\"]\nc:I[23367,[\"9001\",\"static/chunks/9001-acbca3e19b1a5ddf.js\",\"4504\",\"static/chunks/4504-1629487c8bc82203.js\",\"3474\",\"static/chunks/app/settings/layout-6f9314b0d7a26046.js\"],\"Toaster\"]\ne:I[76130,[],\"\"]\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9d5b867ec04494a6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"buildId\":\"StJQhDfsnRaHEWnrxvjj3\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/settings/\",\"initialTree\":[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"$L8\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$9\"}]],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"settings\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a22d83f18a32957e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9369a9dea99c97e8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}],[\"$\",\"$Lc\",null,{}]]}]]}],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Settings\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Configure Khoj to get personalized, deeper assistance.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Settings\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/settings/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Settings\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"20\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"21\",{\"name\":\"next-size-adjust\"}]]\n7:null\n"])</script></body></html>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
2:I[66513,[],"ClientPageRoot"]
|
|
2
|
-
3:I[95982,["9001","static/chunks/9001-acbca3e19b1a5ddf.js","3062","static/chunks/3062-a42d847c919a9ea4.js","3678","static/chunks/3678-8c0e55c3b5d83a22.js","1603","static/chunks/1603-fb2d80ae73990df3.js","6938","static/chunks/app/settings/page-
|
|
2
|
+
3:I[95982,["9001","static/chunks/9001-acbca3e19b1a5ddf.js","3062","static/chunks/3062-a42d847c919a9ea4.js","3678","static/chunks/3678-8c0e55c3b5d83a22.js","1603","static/chunks/1603-fb2d80ae73990df3.js","6938","static/chunks/app/settings/page-1a2acc46cdabaf4a.js"],"default"]
|
|
3
3
|
4:I[39275,[],""]
|
|
4
4
|
5:I[61343,[],""]
|
|
5
5
|
6:I[23367,["9001","static/chunks/9001-acbca3e19b1a5ddf.js","4504","static/chunks/4504-1629487c8bc82203.js","3474","static/chunks/app/settings/layout-6f9314b0d7a26046.js"],"Toaster"]
|
|
6
|
-
0:["
|
|
6
|
+
0:["StJQhDfsnRaHEWnrxvjj3",[[["",{"children":["settings",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["settings",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}]],null],null]},[["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":[["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/a22d83f18a32957e.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/9369a9dea99c97e8.css","precedence":"next","crossOrigin":"$undefined"}]]}],["$","$L6",null,{}]]}]]}],null],null]},[["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1538cedb321e3a97.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/9d5b867ec04494a6.css","precedence":"next","crossOrigin":"$undefined"}]],"$L7"]]]]
|
|
7
7
|
7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Khoj AI - Settings"}],["$","meta","3",{"name":"description","content":"Configure Khoj to get personalized, deeper assistance."}],["$","link","4",{"rel":"manifest","href":"/static/khoj.webmanifest","crossOrigin":"use-credentials"}],["$","meta","5",{"property":"og:title","content":"Khoj AI - Settings"}],["$","meta","6",{"property":"og:description","content":"Your Second Brain."}],["$","meta","7",{"property":"og:url","content":"https://app.khoj.dev/settings/"}],["$","meta","8",{"property":"og:site_name","content":"Khoj AI"}],["$","meta","9",{"property":"og:image","content":"https://assets.khoj.dev/khoj_lantern_256x256.png"}],["$","meta","10",{"property":"og:image:width","content":"256"}],["$","meta","11",{"property":"og:image:height","content":"256"}],["$","meta","12",{"property":"og:type","content":"website"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"Khoj AI - Settings"}],["$","meta","15",{"name":"twitter:description","content":"Your Second Brain."}],["$","meta","16",{"name":"twitter:image","content":"https://assets.khoj.dev/khoj_lantern_256x256.png"}],["$","meta","17",{"name":"twitter:image:width","content":"256"}],["$","meta","18",{"name":"twitter:image:height","content":"256"}],["$","link","19",{"rel":"icon","href":"/static/assets/icons/khoj_lantern.ico"}],["$","link","20",{"rel":"apple-touch-icon","href":"/static/assets/icons/khoj_lantern_256x256.png"}],["$","meta","21",{"name":"next-size-adjust"}]]
|
|
8
8
|
1:null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9d5b867ec04494a6.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b81e909d403fb2df.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2bfe35fbe2c97a56.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2272c73fc7a3b571.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-072d1cbdec7e1782.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-52c1be60135eb057.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><script src="/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js" async=""></script><script src="/_next/static/chunks/9001-acbca3e19b1a5ddf.js" async=""></script><script src="/_next/static/chunks/3062-a42d847c919a9ea4.js" async=""></script><script src="/_next/static/chunks/743-1a64254447cda71f.js" async=""></script><script src="/_next/static/chunks/7071-b4711cecca6619a8.js" async=""></script><script src="/_next/static/chunks/2614-7cf01576d4457a75.js" async=""></script><script src="/_next/static/chunks/9693-91b03052c5cabded.js" async=""></script><script src="/_next/static/chunks/1603-fb2d80ae73990df3.js" async=""></script><script src="/_next/static/chunks/9417-5d14ac74aaab2c66.js" async=""></script><script src="/_next/static/chunks/9178-ef3257c08d8973c8.js" async=""></script><script src="/_next/static/chunks/8423-898d821eaab634af.js" async=""></script><script src="/_next/static/chunks/app/share/chat/page-0ae8f5b868af65c1.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><title>Khoj AI - Chat</title><meta name="description" content="Use this page to view a chat with Khoj AI."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Home"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Home"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><html lang="en"><body class="__className_90df87"><div class="bg-background opacity-50 flex items-center justify-center h-screen"><div>Loading<!-- --> <span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="inline animate-spin h-5 w-5"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></svg></span></div></div><script src="/_next/static/chunks/webpack-072d1cbdec7e1782.js" async=""></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/9d5b867ec04494a6.css\",\"style\"]\n4:HL[\"/_next/static/css/b81e909d403fb2df.css\",\"style\"]\n5:HL[\"/_next/static/css/2bfe35fbe2c97a56.css\",\"style\"]\n6:HL[\"/_next/static/css/2272c73fc7a3b571.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"7:I[95751,[],\"\"]\n9:I[66513,[],\"ClientPageRoot\"]\na:I[5506,[\"3954\",\"static/chunks/d3ac728e-a9e3522eef9b6b28.js\",\"9001\",\"static/chunks/9001-acbca3e19b1a5ddf.js\",\"3062\",\"static/chunks/3062-a42d847c919a9ea4.js\",\"743\",\"static/chunks/743-1a64254447cda71f.js\",\"7071\",\"static/chunks/7071-b4711cecca6619a8.js\",\"2614\",\"static/chunks/2614-7cf01576d4457a75.js\",\"9693\",\"static/chunks/9693-91b03052c5cabded.js\",\"1603\",\"static/chunks/1603-fb2d80ae73990df3.js\",\"9417\",\"static/chunks/9417-5d14ac74aaab2c66.js\",\"9178\",\"static/chunks/9178-ef3257c08d8973c8.js\",\"8423\",\"static/chunks/8423-898d821eaab634af.js\",\"3111\",\"static/chunks/app/share/chat/page-0ae8f5b868af65c1.js\"],\"default\"]\nb:I[39275,[],\"\"]\nc:I[61343,[],\"\"]\ne:I[76130,[],\"\"]\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9d5b867ec04494a6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"buildId\":\"K0mF1QxJRVM2LVZZQ_Edc\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/share/chat/\",\"initialTree\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{},[[\"$L8\",[\"$\",\"$L9\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$a\"}]],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\",\"chat\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b81e909d403fb2df.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2bfe35fbe2c97a56.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2272c73fc7a3b571.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}]}]]}],null],null]},[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Chat\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Use this page to view a chat with Khoj AI.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e790e04fd40ad16-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/1538cedb321e3a97.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9d5b867ec04494a6.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b81e909d403fb2df.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9369a9dea99c97e8.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2272c73fc7a3b571.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-072d1cbdec7e1782.js"/><script src="/_next/static/chunks/fd9d1056-2b978342deb60015.js" async=""></script><script src="/_next/static/chunks/7023-52c1be60135eb057.js" async=""></script><script src="/_next/static/chunks/main-app-6d6ee3495efe03d4.js" async=""></script><script src="/_next/static/chunks/d3ac728e-a9e3522eef9b6b28.js" async=""></script><script src="/_next/static/chunks/9001-acbca3e19b1a5ddf.js" async=""></script><script src="/_next/static/chunks/3062-a42d847c919a9ea4.js" async=""></script><script src="/_next/static/chunks/743-1a64254447cda71f.js" async=""></script><script src="/_next/static/chunks/7071-b4711cecca6619a8.js" async=""></script><script src="/_next/static/chunks/2614-7cf01576d4457a75.js" async=""></script><script src="/_next/static/chunks/9693-91b03052c5cabded.js" async=""></script><script src="/_next/static/chunks/1603-fb2d80ae73990df3.js" async=""></script><script src="/_next/static/chunks/9417-5d14ac74aaab2c66.js" async=""></script><script src="/_next/static/chunks/9178-b9ab3fa2e9be8287.js" async=""></script><script src="/_next/static/chunks/8423-898d821eaab634af.js" async=""></script><script src="/_next/static/chunks/app/share/chat/page-0ae8f5b868af65c1.js" async=""></script><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><meta http-equiv="Content-Security-Policy" content="default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"/><title>Khoj AI - Chat</title><meta name="description" content="Use this page to view a chat with Khoj AI."/><link rel="manifest" href="/static/khoj.webmanifest" crossorigin="use-credentials"/><meta property="og:title" content="Khoj AI - Home"/><meta property="og:description" content="Your Second Brain."/><meta property="og:url" content="https://app.khoj.dev/"/><meta property="og:site_name" content="Khoj AI"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta property="og:image:width" content="256"/><meta property="og:image:height" content="256"/><meta property="og:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Khoj AI - Home"/><meta name="twitter:description" content="Your Second Brain."/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_256x256.png"/><meta name="twitter:image:width" content="256"/><meta name="twitter:image:height" content="256"/><meta name="twitter:image" content="https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/static/assets/icons/khoj_lantern.ico"/><link rel="apple-touch-icon" href="/static/assets/icons/khoj_lantern_256x256.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_90df87"><html lang="en"><body class="__className_90df87"><div class="bg-background opacity-50 flex items-center justify-center h-screen"><div>Loading<!-- --> <span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="inline animate-spin h-5 w-5"><path d="M232,128a104,104,0,0,1-208,0c0-41,23.81-78.36,60.66-95.27a8,8,0,0,1,6.68,14.54C60.15,61.59,40,93.27,40,128a88,88,0,0,0,176,0c0-34.73-20.15-66.41-51.34-80.73a8,8,0,0,1,6.68-14.54C208.19,49.64,232,87,232,128Z"></path></svg></span></div></div><script src="/_next/static/chunks/webpack-072d1cbdec7e1782.js" async=""></script></body></html><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/0e790e04fd40ad16-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/1538cedb321e3a97.css\",\"style\"]\n3:HL[\"/_next/static/css/9d5b867ec04494a6.css\",\"style\"]\n4:HL[\"/_next/static/css/b81e909d403fb2df.css\",\"style\"]\n5:HL[\"/_next/static/css/9369a9dea99c97e8.css\",\"style\"]\n6:HL[\"/_next/static/css/2272c73fc7a3b571.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"7:I[95751,[],\"\"]\n9:I[66513,[],\"ClientPageRoot\"]\na:I[5506,[\"3954\",\"static/chunks/d3ac728e-a9e3522eef9b6b28.js\",\"9001\",\"static/chunks/9001-acbca3e19b1a5ddf.js\",\"3062\",\"static/chunks/3062-a42d847c919a9ea4.js\",\"743\",\"static/chunks/743-1a64254447cda71f.js\",\"7071\",\"static/chunks/7071-b4711cecca6619a8.js\",\"2614\",\"static/chunks/2614-7cf01576d4457a75.js\",\"9693\",\"static/chunks/9693-91b03052c5cabded.js\",\"1603\",\"static/chunks/1603-fb2d80ae73990df3.js\",\"9417\",\"static/chunks/9417-5d14ac74aaab2c66.js\",\"9178\",\"static/chunks/9178-b9ab3fa2e9be8287.js\",\"8423\",\"static/chunks/8423-898d821eaab634af.js\",\"3111\",\"static/chunks/app/share/chat/page-0ae8f5b868af65c1.js\"],\"default\"]\nb:I[39275,[],\"\"]\nc:I[61343,[],\"\"]\ne:I[76130,[],\"\"]\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1538cedb321e3a97.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9d5b867ec04494a6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"buildId\":\"StJQhDfsnRaHEWnrxvjj3\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/share/chat/\",\"initialTree\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"share\",{\"children\":[\"chat\",{\"children\":[\"__PAGE__\",{},[[\"$L8\",[\"$\",\"$L9\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$a\"}]],null],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\",\"chat\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b81e909d403fb2df.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9369a9dea99c97e8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2272c73fc7a3b571.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}]}]]}],null],null]},[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"share\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';\"}],[\"$\",\"body\",null,{\"className\":\"__className_90df87\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Khoj AI - Chat\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Use this page to view a chat with Khoj AI.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"manifest\",\"href\":\"/static/khoj.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://app.khoj.dev/\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Khoj AI\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Khoj AI - Home\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Your Second Brain.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"256\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"256\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/static/assets/icons/khoj_lantern.ico\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/static/assets/icons/khoj_lantern_256x256.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\n"])</script></body></html>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
2:I[66513,[],"ClientPageRoot"]
|
|
2
|
-
3:I[5506,["3954","static/chunks/d3ac728e-a9e3522eef9b6b28.js","9001","static/chunks/9001-acbca3e19b1a5ddf.js","3062","static/chunks/3062-a42d847c919a9ea4.js","743","static/chunks/743-1a64254447cda71f.js","7071","static/chunks/7071-b4711cecca6619a8.js","2614","static/chunks/2614-7cf01576d4457a75.js","9693","static/chunks/9693-91b03052c5cabded.js","1603","static/chunks/1603-fb2d80ae73990df3.js","9417","static/chunks/9417-5d14ac74aaab2c66.js","9178","static/chunks/9178-
|
|
2
|
+
3:I[5506,["3954","static/chunks/d3ac728e-a9e3522eef9b6b28.js","9001","static/chunks/9001-acbca3e19b1a5ddf.js","3062","static/chunks/3062-a42d847c919a9ea4.js","743","static/chunks/743-1a64254447cda71f.js","7071","static/chunks/7071-b4711cecca6619a8.js","2614","static/chunks/2614-7cf01576d4457a75.js","9693","static/chunks/9693-91b03052c5cabded.js","1603","static/chunks/1603-fb2d80ae73990df3.js","9417","static/chunks/9417-5d14ac74aaab2c66.js","9178","static/chunks/9178-b9ab3fa2e9be8287.js","8423","static/chunks/8423-898d821eaab634af.js","3111","static/chunks/app/share/chat/page-0ae8f5b868af65c1.js"],"default"]
|
|
3
3
|
4:I[39275,[],""]
|
|
4
4
|
5:I[61343,[],""]
|
|
5
|
-
0:["
|
|
5
|
+
0:["StJQhDfsnRaHEWnrxvjj3",[[["",{"children":["share",{"children":["chat",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["share",{"children":["chat",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}]],null],null]},[["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","share","children","chat","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b81e909d403fb2df.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/9369a9dea99c97e8.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/2272c73fc7a3b571.css","precedence":"next","crossOrigin":"$undefined"}]]}]}]]}],null],null]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","share","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}],null]},[["$","html",null,{"lang":"en","children":[["$","meta",null,{"httpEquiv":"Content-Security-Policy","content":"default-src 'self' https://assets.khoj.dev; media-src * blob:; script-src 'self' https://assets.khoj.dev 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://ipapi.co/json ws://localhost:42110; style-src 'self' https://assets.khoj.dev 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://*.khoj.dev https://*.googleusercontent.com https://*.google.com/ https://*.gstatic.com; font-src 'self' https://assets.khoj.dev https://fonts.gstatic.com; child-src 'none'; object-src 'none';"}],["$","body",null,{"className":"__className_90df87","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1538cedb321e3a97.css","precedence":"next","crossOrigin":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/9d5b867ec04494a6.css","precedence":"next","crossOrigin":"$undefined"}]],"$L6"]]]]
|
|
6
6
|
6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Khoj AI - Chat"}],["$","meta","3",{"name":"description","content":"Use this page to view a chat with Khoj AI."}],["$","link","4",{"rel":"manifest","href":"/static/khoj.webmanifest","crossOrigin":"use-credentials"}],["$","meta","5",{"property":"og:title","content":"Khoj AI - Home"}],["$","meta","6",{"property":"og:description","content":"Your Second Brain."}],["$","meta","7",{"property":"og:url","content":"https://app.khoj.dev/"}],["$","meta","8",{"property":"og:site_name","content":"Khoj AI"}],["$","meta","9",{"property":"og:image","content":"https://assets.khoj.dev/khoj_lantern_256x256.png"}],["$","meta","10",{"property":"og:image:width","content":"256"}],["$","meta","11",{"property":"og:image:height","content":"256"}],["$","meta","12",{"property":"og:image","content":"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"}],["$","meta","13",{"property":"og:image:width","content":"1200"}],["$","meta","14",{"property":"og:image:height","content":"630"}],["$","meta","15",{"property":"og:type","content":"website"}],["$","meta","16",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","17",{"name":"twitter:title","content":"Khoj AI - Home"}],["$","meta","18",{"name":"twitter:description","content":"Your Second Brain."}],["$","meta","19",{"name":"twitter:image","content":"https://assets.khoj.dev/khoj_lantern_256x256.png"}],["$","meta","20",{"name":"twitter:image:width","content":"256"}],["$","meta","21",{"name":"twitter:image:height","content":"256"}],["$","meta","22",{"name":"twitter:image","content":"https://assets.khoj.dev/khoj_lantern_logomarktype_1200x630.png"}],["$","meta","23",{"name":"twitter:image:width","content":"1200"}],["$","meta","24",{"name":"twitter:image:height","content":"630"}],["$","link","25",{"rel":"icon","href":"/static/assets/icons/khoj_lantern.ico"}],["$","link","26",{"rel":"apple-touch-icon","href":"/static/assets/icons/khoj_lantern_256x256.png"}],["$","meta","27",{"name":"next-size-adjust"}]]
|
|
7
7
|
1:null
|
|
@@ -53,6 +53,7 @@ async def search_online(
|
|
|
53
53
|
conversation_history: dict,
|
|
54
54
|
location: LocationData,
|
|
55
55
|
user: KhojUser,
|
|
56
|
+
subscribed: bool = False,
|
|
56
57
|
send_status_func: Optional[Callable] = None,
|
|
57
58
|
custom_filters: List[str] = [],
|
|
58
59
|
):
|
|
@@ -91,12 +92,15 @@ async def search_online(
|
|
|
91
92
|
# Read, extract relevant info from the retrieved web pages
|
|
92
93
|
if webpages:
|
|
93
94
|
webpage_links = [link for link, _, _ in webpages]
|
|
94
|
-
logger.info(f"
|
|
95
|
+
logger.info(f"Reading web pages at: {list(webpage_links)}")
|
|
95
96
|
if send_status_func:
|
|
96
97
|
webpage_links_str = "\n- " + "\n- ".join(list(webpage_links))
|
|
97
98
|
async for event in send_status_func(f"**Reading web pages**: {webpage_links_str}"):
|
|
98
99
|
yield {ChatEvent.STATUS: event}
|
|
99
|
-
tasks = [
|
|
100
|
+
tasks = [
|
|
101
|
+
read_webpage_and_extract_content(subquery, link, content, subscribed=subscribed)
|
|
102
|
+
for link, subquery, content in webpages
|
|
103
|
+
]
|
|
100
104
|
results = await asyncio.gather(*tasks)
|
|
101
105
|
|
|
102
106
|
# Collect extracted info from the retrieved web pages
|
|
@@ -132,6 +136,7 @@ async def read_webpages(
|
|
|
132
136
|
conversation_history: dict,
|
|
133
137
|
location: LocationData,
|
|
134
138
|
user: KhojUser,
|
|
139
|
+
subscribed: bool = False,
|
|
135
140
|
send_status_func: Optional[Callable] = None,
|
|
136
141
|
):
|
|
137
142
|
"Infer web pages to read from the query and extract relevant information from them"
|
|
@@ -146,7 +151,7 @@ async def read_webpages(
|
|
|
146
151
|
webpage_links_str = "\n- " + "\n- ".join(list(urls))
|
|
147
152
|
async for event in send_status_func(f"**Reading web pages**: {webpage_links_str}"):
|
|
148
153
|
yield {ChatEvent.STATUS: event}
|
|
149
|
-
tasks = [read_webpage_and_extract_content(query, url) for url in urls]
|
|
154
|
+
tasks = [read_webpage_and_extract_content(query, url, subscribed=subscribed) for url in urls]
|
|
150
155
|
results = await asyncio.gather(*tasks)
|
|
151
156
|
|
|
152
157
|
response: Dict[str, Dict] = defaultdict(dict)
|
|
@@ -157,14 +162,14 @@ async def read_webpages(
|
|
|
157
162
|
|
|
158
163
|
|
|
159
164
|
async def read_webpage_and_extract_content(
|
|
160
|
-
subquery: str, url: str, content: str = None
|
|
165
|
+
subquery: str, url: str, content: str = None, subscribed: bool = False
|
|
161
166
|
) -> Tuple[str, Union[None, str], str]:
|
|
162
167
|
try:
|
|
163
168
|
if is_none_or_empty(content):
|
|
164
169
|
with timer(f"Reading web page at '{url}' took", logger):
|
|
165
170
|
content = await read_webpage_with_olostep(url) if OLOSTEP_API_KEY else await read_webpage_with_jina(url)
|
|
166
171
|
with timer(f"Extracting relevant information from web page at '{url}' took", logger):
|
|
167
|
-
extracted_info = await extract_relevant_info(subquery, content)
|
|
172
|
+
extracted_info = await extract_relevant_info(subquery, content, subscribed=subscribed)
|
|
168
173
|
return subquery, extracted_info, url
|
|
169
174
|
except Exception as e:
|
|
170
175
|
logger.error(f"Failed to read web page at '{url}' with {e}")
|
khoj/routers/api_chat.py
CHANGED
|
@@ -4,14 +4,14 @@ import logging
|
|
|
4
4
|
import time
|
|
5
5
|
from datetime import datetime
|
|
6
6
|
from functools import partial
|
|
7
|
-
from typing import
|
|
7
|
+
from typing import Dict, Optional
|
|
8
8
|
from urllib.parse import unquote
|
|
9
9
|
|
|
10
10
|
from asgiref.sync import sync_to_async
|
|
11
11
|
from fastapi import APIRouter, Depends, HTTPException, Request
|
|
12
12
|
from fastapi.requests import Request
|
|
13
13
|
from fastapi.responses import Response, StreamingResponse
|
|
14
|
-
from starlette.authentication import requires
|
|
14
|
+
from starlette.authentication import has_required_scope, requires
|
|
15
15
|
|
|
16
16
|
from khoj.app.settings import ALLOWED_HOSTS
|
|
17
17
|
from khoj.database.adapters import (
|
|
@@ -59,7 +59,7 @@ from khoj.utils.rawconfig import FileFilterRequest, FilesFilterRequest, Location
|
|
|
59
59
|
# Initialize Router
|
|
60
60
|
logger = logging.getLogger(__name__)
|
|
61
61
|
conversation_command_rate_limiter = ConversationCommandRateLimiter(
|
|
62
|
-
trial_rate_limit=
|
|
62
|
+
trial_rate_limit=100, subscribed_rate_limit=100, slug="command"
|
|
63
63
|
)
|
|
64
64
|
|
|
65
65
|
|
|
@@ -518,6 +518,7 @@ async def set_conversation_title(
|
|
|
518
518
|
|
|
519
519
|
|
|
520
520
|
@api_chat.get("")
|
|
521
|
+
@requires(["authenticated"])
|
|
521
522
|
async def chat(
|
|
522
523
|
request: Request,
|
|
523
524
|
common: CommonQueryParams,
|
|
@@ -532,10 +533,10 @@ async def chat(
|
|
|
532
533
|
country: Optional[str] = None,
|
|
533
534
|
timezone: Optional[str] = None,
|
|
534
535
|
rate_limiter_per_minute=Depends(
|
|
535
|
-
ApiUserRateLimiter(requests=
|
|
536
|
+
ApiUserRateLimiter(requests=60, subscribed_requests=60, window=60, slug="chat_minute")
|
|
536
537
|
),
|
|
537
538
|
rate_limiter_per_day=Depends(
|
|
538
|
-
ApiUserRateLimiter(requests=
|
|
539
|
+
ApiUserRateLimiter(requests=600, subscribed_requests=600, window=60 * 60 * 24, slug="chat_day")
|
|
539
540
|
),
|
|
540
541
|
):
|
|
541
542
|
async def event_generator(q: str):
|
|
@@ -544,6 +545,7 @@ async def chat(
|
|
|
544
545
|
chat_metadata: dict = {}
|
|
545
546
|
connection_alive = True
|
|
546
547
|
user: KhojUser = request.user.object
|
|
548
|
+
subscribed: bool = has_required_scope(request, ["premium"])
|
|
547
549
|
event_delimiter = "␃🔚␗"
|
|
548
550
|
q = unquote(q)
|
|
549
551
|
|
|
@@ -632,7 +634,9 @@ async def chat(
|
|
|
632
634
|
is_automated_task = conversation_commands == [ConversationCommand.AutomatedTask]
|
|
633
635
|
|
|
634
636
|
if conversation_commands == [ConversationCommand.Default] or is_automated_task:
|
|
635
|
-
conversation_commands = await aget_relevant_information_sources(
|
|
637
|
+
conversation_commands = await aget_relevant_information_sources(
|
|
638
|
+
q, meta_log, is_automated_task, subscribed=subscribed
|
|
639
|
+
)
|
|
636
640
|
conversation_commands_str = ", ".join([cmd.value for cmd in conversation_commands])
|
|
637
641
|
async for result in send_event(
|
|
638
642
|
ChatEvent.STATUS, f"**Chose Data Sources to Search:** {conversation_commands_str}"
|
|
@@ -687,7 +691,7 @@ async def chat(
|
|
|
687
691
|
):
|
|
688
692
|
yield result
|
|
689
693
|
|
|
690
|
-
response = await extract_relevant_summary(q, contextual_data)
|
|
694
|
+
response = await extract_relevant_summary(q, contextual_data, subscribed=subscribed)
|
|
691
695
|
response_log = str(response)
|
|
692
696
|
async for result in send_llm_response(response_log):
|
|
693
697
|
yield result
|
|
@@ -775,6 +779,8 @@ async def chat(
|
|
|
775
779
|
|
|
776
780
|
if not is_none_or_empty(compiled_references):
|
|
777
781
|
headings = "\n- " + "\n- ".join(set([c.get("compiled", c).split("\n")[0] for c in compiled_references]))
|
|
782
|
+
# Strip only leading # from headings
|
|
783
|
+
headings = headings.replace("#", "")
|
|
778
784
|
async for result in send_event(ChatEvent.STATUS, f"**Found Relevant Notes**: {headings}"):
|
|
779
785
|
yield result
|
|
780
786
|
|
|
@@ -792,7 +798,13 @@ async def chat(
|
|
|
792
798
|
if ConversationCommand.Online in conversation_commands:
|
|
793
799
|
try:
|
|
794
800
|
async for result in search_online(
|
|
795
|
-
defiltered_query,
|
|
801
|
+
defiltered_query,
|
|
802
|
+
meta_log,
|
|
803
|
+
location,
|
|
804
|
+
user,
|
|
805
|
+
subscribed,
|
|
806
|
+
partial(send_event, ChatEvent.STATUS),
|
|
807
|
+
custom_filters,
|
|
796
808
|
):
|
|
797
809
|
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
|
798
810
|
yield result[ChatEvent.STATUS]
|
|
@@ -809,7 +821,7 @@ async def chat(
|
|
|
809
821
|
if ConversationCommand.Webpage in conversation_commands:
|
|
810
822
|
try:
|
|
811
823
|
async for result in read_webpages(
|
|
812
|
-
defiltered_query, meta_log, location, user, partial(send_event, ChatEvent.STATUS)
|
|
824
|
+
defiltered_query, meta_log, location, user, subscribed, partial(send_event, ChatEvent.STATUS)
|
|
813
825
|
):
|
|
814
826
|
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
|
815
827
|
yield result[ChatEvent.STATUS]
|
|
@@ -853,6 +865,7 @@ async def chat(
|
|
|
853
865
|
location_data=location,
|
|
854
866
|
references=compiled_references,
|
|
855
867
|
online_results=online_results,
|
|
868
|
+
subscribed=subscribed,
|
|
856
869
|
send_status_func=partial(send_event, ChatEvent.STATUS),
|
|
857
870
|
):
|
|
858
871
|
if isinstance(result, dict) and ChatEvent.STATUS in result:
|
khoj/routers/helpers.py
CHANGED
|
@@ -252,7 +252,7 @@ async def acreate_title_from_query(query: str) -> str:
|
|
|
252
252
|
return response.strip()
|
|
253
253
|
|
|
254
254
|
|
|
255
|
-
async def aget_relevant_information_sources(query: str, conversation_history: dict, is_task: bool):
|
|
255
|
+
async def aget_relevant_information_sources(query: str, conversation_history: dict, is_task: bool, subscribed: bool):
|
|
256
256
|
"""
|
|
257
257
|
Given a query, determine which of the available tools the agent should use in order to answer appropriately.
|
|
258
258
|
"""
|
|
@@ -273,7 +273,9 @@ async def aget_relevant_information_sources(query: str, conversation_history: di
|
|
|
273
273
|
)
|
|
274
274
|
|
|
275
275
|
with timer("Chat actor: Infer information sources to refer", logger):
|
|
276
|
-
response = await send_message_to_model_wrapper(
|
|
276
|
+
response = await send_message_to_model_wrapper(
|
|
277
|
+
relevant_tools_prompt, response_type="json_object", subscribed=subscribed
|
|
278
|
+
)
|
|
277
279
|
|
|
278
280
|
try:
|
|
279
281
|
response = response.strip()
|
|
@@ -434,7 +436,7 @@ async def schedule_query(q: str, conversation_history: dict) -> Tuple[str, ...]:
|
|
|
434
436
|
raise AssertionError(f"Invalid response for scheduling query: {raw_response}")
|
|
435
437
|
|
|
436
438
|
|
|
437
|
-
async def extract_relevant_info(q: str, corpus: str) -> Union[str, None]:
|
|
439
|
+
async def extract_relevant_info(q: str, corpus: str, subscribed: bool) -> Union[str, None]:
|
|
438
440
|
"""
|
|
439
441
|
Extract relevant information for a given query from the target corpus
|
|
440
442
|
"""
|
|
@@ -447,18 +449,19 @@ async def extract_relevant_info(q: str, corpus: str) -> Union[str, None]:
|
|
|
447
449
|
corpus=corpus.strip(),
|
|
448
450
|
)
|
|
449
451
|
|
|
450
|
-
|
|
452
|
+
chat_model: ChatModelOptions = await ConversationAdapters.aget_default_conversation_config()
|
|
451
453
|
|
|
452
454
|
with timer("Chat actor: Extract relevant information from data", logger):
|
|
453
455
|
response = await send_message_to_model_wrapper(
|
|
454
456
|
extract_relevant_information,
|
|
455
457
|
prompts.system_prompt_extract_relevant_information,
|
|
456
|
-
chat_model_option=
|
|
458
|
+
chat_model_option=chat_model,
|
|
459
|
+
subscribed=subscribed,
|
|
457
460
|
)
|
|
458
461
|
return response.strip()
|
|
459
462
|
|
|
460
463
|
|
|
461
|
-
async def extract_relevant_summary(q: str, corpus: str) -> Union[str, None]:
|
|
464
|
+
async def extract_relevant_summary(q: str, corpus: str, subscribed: bool = False) -> Union[str, None]:
|
|
462
465
|
"""
|
|
463
466
|
Extract relevant information for a given query from the target corpus
|
|
464
467
|
"""
|
|
@@ -471,13 +474,14 @@ async def extract_relevant_summary(q: str, corpus: str) -> Union[str, None]:
|
|
|
471
474
|
corpus=corpus.strip(),
|
|
472
475
|
)
|
|
473
476
|
|
|
474
|
-
|
|
477
|
+
chat_model: ChatModelOptions = await ConversationAdapters.aget_default_conversation_config()
|
|
475
478
|
|
|
476
479
|
with timer("Chat actor: Extract relevant information from data", logger):
|
|
477
480
|
response = await send_message_to_model_wrapper(
|
|
478
481
|
extract_relevant_information,
|
|
479
482
|
prompts.system_prompt_extract_relevant_summary,
|
|
480
|
-
chat_model_option=
|
|
483
|
+
chat_model_option=chat_model,
|
|
484
|
+
subscribed=subscribed,
|
|
481
485
|
)
|
|
482
486
|
return response.strip()
|
|
483
487
|
|
|
@@ -489,6 +493,7 @@ async def generate_better_image_prompt(
|
|
|
489
493
|
note_references: List[Dict[str, Any]],
|
|
490
494
|
online_results: Optional[dict] = None,
|
|
491
495
|
model_type: Optional[str] = None,
|
|
496
|
+
subscribed: bool = False,
|
|
492
497
|
) -> str:
|
|
493
498
|
"""
|
|
494
499
|
Generate a better image prompt from the given query
|
|
@@ -533,10 +538,12 @@ async def generate_better_image_prompt(
|
|
|
533
538
|
online_results=simplified_online_results,
|
|
534
539
|
)
|
|
535
540
|
|
|
536
|
-
|
|
541
|
+
chat_model: ChatModelOptions = await ConversationAdapters.aget_default_conversation_config()
|
|
537
542
|
|
|
538
543
|
with timer("Chat actor: Generate contextual image prompt", logger):
|
|
539
|
-
response = await send_message_to_model_wrapper(
|
|
544
|
+
response = await send_message_to_model_wrapper(
|
|
545
|
+
image_prompt, chat_model_option=chat_model, subscribed=subscribed
|
|
546
|
+
)
|
|
540
547
|
response = response.strip()
|
|
541
548
|
if response.startswith(('"', "'")) and response.endswith(('"', "'")):
|
|
542
549
|
response = response[1:-1]
|
|
@@ -549,13 +556,18 @@ async def send_message_to_model_wrapper(
|
|
|
549
556
|
system_message: str = "",
|
|
550
557
|
response_type: str = "text",
|
|
551
558
|
chat_model_option: ChatModelOptions = None,
|
|
559
|
+
subscribed: bool = False,
|
|
552
560
|
):
|
|
553
561
|
conversation_config: ChatModelOptions = (
|
|
554
562
|
chat_model_option or await ConversationAdapters.aget_default_conversation_config()
|
|
555
563
|
)
|
|
556
564
|
|
|
557
565
|
chat_model = conversation_config.chat_model
|
|
558
|
-
max_tokens =
|
|
566
|
+
max_tokens = (
|
|
567
|
+
conversation_config.subscribed_max_prompt_size
|
|
568
|
+
if subscribed and conversation_config.subscribed_max_prompt_size
|
|
569
|
+
else conversation_config.max_prompt_size
|
|
570
|
+
)
|
|
559
571
|
tokenizer = conversation_config.tokenizer
|
|
560
572
|
|
|
561
573
|
if conversation_config.model_type == "offline":
|
|
@@ -786,6 +798,7 @@ async def text_to_image(
|
|
|
786
798
|
location_data: LocationData,
|
|
787
799
|
references: List[Dict[str, Any]],
|
|
788
800
|
online_results: Dict[str, Any],
|
|
801
|
+
subscribed: bool = False,
|
|
789
802
|
send_status_func: Optional[Callable] = None,
|
|
790
803
|
):
|
|
791
804
|
status_code = 200
|
|
@@ -822,6 +835,7 @@ async def text_to_image(
|
|
|
822
835
|
note_references=references,
|
|
823
836
|
online_results=online_results,
|
|
824
837
|
model_type=text_to_image_config.model_type,
|
|
838
|
+
subscribed=subscribed,
|
|
825
839
|
)
|
|
826
840
|
|
|
827
841
|
if send_status_func:
|
|
@@ -1359,7 +1373,9 @@ def get_user_config(user: KhojUser, request: Request, is_detailed: bool = False)
|
|
|
1359
1373
|
current_notion_config = get_user_notion_config(user)
|
|
1360
1374
|
notion_token = current_notion_config.token if current_notion_config else ""
|
|
1361
1375
|
|
|
1362
|
-
selected_chat_model_config =
|
|
1376
|
+
selected_chat_model_config = (
|
|
1377
|
+
ConversationAdapters.get_conversation_config(user) or ConversationAdapters.get_default_conversation_config()
|
|
1378
|
+
)
|
|
1363
1379
|
chat_models = ConversationAdapters.get_conversation_processor_options().all()
|
|
1364
1380
|
chat_model_options = list()
|
|
1365
1381
|
for chat_model in chat_models:
|