@@ -23,10 +23,9 @@
⚠️ Jan is currently in Development: Expect breaking changes and bugs!
-
Jan is a ChatGPT-alternative that runs 100% offline on your device. Our goal is to make it easy for a layperson to download and run LLMs and use AI with **full control** and **privacy**.
-Jan is powered by [Cortex](https://github.com/janhq/cortex.cpp), our embeddable local AI engine that runs on any hardware.
+Jan is powered by [Cortex](https://github.com/menloresearch/cortex.cpp), our embeddable local AI engine that runs on any hardware.
From PCs to multi-GPU clusters, Jan & Cortex supports universal architectures:
- [x] NVIDIA GPUs (fast)
@@ -36,7 +35,8 @@ From PCs to multi-GPU clusters, Jan & Cortex supports universal architectures:
- [x] Windows x64
#### Features:
-- [Model Library](https://jan.ai/docs/models/manage-models#add-models) with popular LLMs like Llama, Gemma, Mistral, or Qwen
+
+- [Model Library](https://jan.ai/docs/models/manage-models#add-models) with popular LLMs like Llama, Gemma, Mistral, or Qwen
- Connect to [Remote AI APIs](https://jan.ai/docs/remote-models/openai) like Groq and OpenRouter
- Local API Server with OpenAI-equivalent API
- [Extensions](https://jan.ai/docs/extensions) for customizing Jan
@@ -54,25 +54,25 @@ From PCs to multi-GPU clusters, Jan & Cortex supports universal architectures:
diff --git a/electron/package.json b/electron/package.json
index 660a5e264..8b673114b 100644
--- a/electron/package.json
+++ b/electron/package.json
@@ -5,7 +5,7 @@
"author": "Jan ",
"license": "MIT",
"productName": "Jan",
- "homepage": "https://github.com/janhq/jan/tree/main/electron",
+ "homepage": "https://github.com/menloresearch/jan/tree/main/electron",
"description": "Use offline LLMs with your own data. Run open source models like Llama2 or Falcon on your internal computers/servers.",
"build": {
"appId": "jan.ai.app",
diff --git a/extensions/assistant-extension/README.md b/extensions/assistant-extension/README.md
index f9690da09..b9595b6e1 100644
--- a/extensions/assistant-extension/README.md
+++ b/extensions/assistant-extension/README.md
@@ -70,6 +70,6 @@ There are a few things to keep in mind when writing your extension code:
```
For more information about the Jan Extension Core module, see the
- [documentation](https://github.com/janhq/jan/blob/main/core/README.md).
+ [documentation](https://github.com/menloresearch/jan/blob/main/core/README.md).
So, what are you waiting for? Go ahead and start customizing your extension!
diff --git a/extensions/inference-cortex-extension/README.md b/extensions/inference-cortex-extension/README.md
index f9690da09..b9595b6e1 100644
--- a/extensions/inference-cortex-extension/README.md
+++ b/extensions/inference-cortex-extension/README.md
@@ -70,6 +70,6 @@ There are a few things to keep in mind when writing your extension code:
```
For more information about the Jan Extension Core module, see the
- [documentation](https://github.com/janhq/jan/blob/main/core/README.md).
+ [documentation](https://github.com/menloresearch/jan/blob/main/core/README.md).
So, what are you waiting for? Go ahead and start customizing your extension!
diff --git a/extensions/inference-cortex-extension/download.bat b/extensions/inference-cortex-extension/download.bat
index 045bb3cf3..ca2930bdd 100644
--- a/extensions/inference-cortex-extension/download.bat
+++ b/extensions/inference-cortex-extension/download.bat
@@ -5,11 +5,11 @@ set /p CORTEX_VERSION=<./bin/version.txt
set ENGINE_VERSION=0.1.55
@REM Download cortex.llamacpp binaries
-set DOWNLOAD_URL=https://github.com/janhq/cortex.llamacpp/releases/download/v%ENGINE_VERSION%/cortex.llamacpp-%ENGINE_VERSION%-windows-amd64
-set CUDA_DOWNLOAD_URL=https://github.com/janhq/cortex.llamacpp/releases/download/v%ENGINE_VERSION%
+set DOWNLOAD_URL=https://github.com/menloresearch/cortex.llamacpp/releases/download/v%ENGINE_VERSION%/cortex.llamacpp-%ENGINE_VERSION%-windows-amd64
+set CUDA_DOWNLOAD_URL=https://github.com/menloresearch/cortex.llamacpp/releases/download/v%ENGINE_VERSION%
set SUBFOLDERS=windows-amd64-noavx-cuda-12-0 windows-amd64-noavx-cuda-11-7 windows-amd64-avx2-cuda-12-0 windows-amd64-avx2-cuda-11-7 windows-amd64-noavx windows-amd64-avx windows-amd64-avx2 windows-amd64-avx512 windows-amd64-vulkan
-call .\node_modules\.bin\download -e --strip 1 -o %BIN_PATH% https://github.com/janhq/cortex.cpp/releases/download/v%CORTEX_VERSION%/cortex-%CORTEX_VERSION%-windows-amd64.tar.gz
+call .\node_modules\.bin\download -e --strip 1 -o %BIN_PATH% https://github.com/menloresearch/cortex.cpp/releases/download/v%CORTEX_VERSION%/cortex-%CORTEX_VERSION%-windows-amd64.tar.gz
call .\node_modules\.bin\download %DOWNLOAD_URL%-avx2-cuda-12-0.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-avx2-cuda-12-0/v%ENGINE_VERSION%
call .\node_modules\.bin\download %DOWNLOAD_URL%-avx2-cuda-11-7.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-avx2-cuda-11-7/v%ENGINE_VERSION%
call .\node_modules\.bin\download %DOWNLOAD_URL%-noavx-cuda-12-0.tar.gz -e --strip 1 -o %SHARED_PATH%/engines/cortex.llamacpp/windows-amd64-noavx-cuda-12-0/v%ENGINE_VERSION%
diff --git a/extensions/inference-cortex-extension/download.sh b/extensions/inference-cortex-extension/download.sh
index c88dffc72..3476708bb 100755
--- a/extensions/inference-cortex-extension/download.sh
+++ b/extensions/inference-cortex-extension/download.sh
@@ -3,9 +3,9 @@
# Read CORTEX_VERSION
CORTEX_VERSION=$(cat ./bin/version.txt)
ENGINE_VERSION=0.1.55
-CORTEX_RELEASE_URL="https://github.com/janhq/cortex.cpp/releases/download"
-ENGINE_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}/cortex.llamacpp-${ENGINE_VERSION}"
-CUDA_DOWNLOAD_URL="https://github.com/janhq/cortex.llamacpp/releases/download/v${ENGINE_VERSION}"
+CORTEX_RELEASE_URL="https://github.com/menloresearch/cortex.cpp/releases/download"
+ENGINE_DOWNLOAD_URL="https://github.com/menloresearch/cortex.llamacpp/releases/download/v${ENGINE_VERSION}/cortex.llamacpp-${ENGINE_VERSION}"
+CUDA_DOWNLOAD_URL="https://github.com/menloresearch/cortex.llamacpp/releases/download/v${ENGINE_VERSION}"
BIN_PATH=./bin
SHARED_PATH="../../electron/shared"
# Detect platform
diff --git a/extensions/model-extension/README.md b/extensions/model-extension/README.md
index f9690da09..b9595b6e1 100644
--- a/extensions/model-extension/README.md
+++ b/extensions/model-extension/README.md
@@ -70,6 +70,6 @@ There are a few things to keep in mind when writing your extension code:
```
For more information about the Jan Extension Core module, see the
- [documentation](https://github.com/janhq/jan/blob/main/core/README.md).
+ [documentation](https://github.com/menloresearch/jan/blob/main/core/README.md).
So, what are you waiting for? Go ahead and start customizing your extension!
diff --git a/server/cortex.json b/server/cortex.json
index 9d62a8b03..ecf94952b 100644
--- a/server/cortex.json
+++ b/server/cortex.json
@@ -2668,7 +2668,7 @@
},
"url": {
"type": "string",
- "example": "https://api.github.com/repos/janhq/cortex.llamacpp/releases/186479804"
+ "example": "https://api.github.com/repos/menloresearch/cortex.llamacpp/releases/186479804"
}
}
}
@@ -4561,11 +4561,11 @@
"type": "string",
"enum": ["text", "audio"]
},
- "description": "Specifies the modalities (types of input) supported by the model. Currently, cortex only support text modalities. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582).",
+ "description": "Specifies the modalities (types of input) supported by the model. Currently, cortex only support text modalities. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582).",
"example": ["text"]
},
"audio": {
- "description": "Parameters for audio output. Required when audio output is requested with `modalities: ['audio']`. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582).",
+ "description": "Parameters for audio output. Required when audio output is requested with `modalities: ['audio']`. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582).",
"type": "object",
"properties": {
"voice": {
@@ -4582,13 +4582,13 @@
},
"store": {
"type": "boolean",
- "description": "Whether or not to store the output of this chat completion request for use in our model distillation or evals products. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582).",
+ "description": "Whether or not to store the output of this chat completion request for use in our model distillation or evals products. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582).",
"default": false,
"example": false
},
"metadata": {
"type": "object",
- "description": "Developer-defined tags and values used for filtering completions in the dashboard. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582).",
+ "description": "Developer-defined tags and values used for filtering completions in the dashboard. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582).",
"example": {
"type": "conversation"
}
@@ -4620,7 +4620,7 @@
},
"response_format": {
"type": "object",
- "description": "An object specifying the format that the model must output. Setting to { \"type\": \"json_object\" } enables JSON mode, which guarantees the message the model generates is valid JSON. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582).",
+ "description": "An object specifying the format that the model must output. Setting to { \"type\": \"json_object\" } enables JSON mode, which guarantees the message the model generates is valid JSON. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582).",
"properties": {
"type": {
"type": "string",
@@ -4638,7 +4638,7 @@
},
"service_tier": {
"type": "string",
- "description": "Specifies the latency tier to use for processing the request. This parameter is relevant for customers subscribed to the scale tier service:\n\n - If set to 'auto', and the Project is Scale tier enabled, the system will utilize scale tier credits until they are exhausted.\n- If set to 'auto', and the Project is not Scale tier enabled, the request will be processed using the default service tier with a lower uptime SLA and no latency guarentee.\n- If set to 'default', the request will be processed using the default service tier with a lower uptime SLA and no latency guarentee.\nWhen not set, the default behavior is 'auto'.\nWhen this parameter is set, the response body will include the service_tier utilized.\n\n We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582)."
+ "description": "Specifies the latency tier to use for processing the request. This parameter is relevant for customers subscribed to the scale tier service:\n\n - If set to 'auto', and the Project is Scale tier enabled, the system will utilize scale tier credits until they are exhausted.\n- If set to 'auto', and the Project is not Scale tier enabled, the request will be processed using the default service tier with a lower uptime SLA and no latency guarentee.\n- If set to 'default', the request will be processed using the default service tier with a lower uptime SLA and no latency guarentee.\nWhen not set, the default behavior is 'auto'.\nWhen this parameter is set, the response body will include the service_tier utilized.\n\n We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582)."
},
"stream_options": {
"type": "object",
@@ -4704,7 +4704,7 @@
},
"user": {
"type": "string",
- "description": "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/janhq/cortex.cpp/issues/1582)."
+ "description": "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. We are actively working on this feature to bring cortex as fully OpenAI compatible platform. Planning and roadmap for this feature can be found [**here**](https://github.com/menloresearch/cortex.cpp/issues/1582)."
},
"dynatemp_range": {
"type": "number",
diff --git a/specs/QA-checklist.md b/specs/QA-checklist.md
index 8bb5168dd..ddfee32d2 100644
--- a/specs/QA-checklist.md
+++ b/specs/QA-checklist.md
@@ -26,7 +26,6 @@
- [ ] :key::warning: Uninstallation process removes the app successfully from the system.
- [ ] Clean the data folder and open the app to check if it creates all the necessary folders, especially models and extensions.
-
## B. Overview
### 1. Shortcut key
@@ -38,7 +37,7 @@
- [ ] :key: The app correctly displays the state of the loading model (e.g., loading, ready, error).
- [ ] :key: Confirm that the app allows users to switch between models if multiple are available.
- [ ] Check that the app provides feedback or instructions if the model fails to load.
-- [ ] Verify the troubleshooting assistant correctly capture hardware / log info [#1784](https://github.com/janhq/jan/issues/1784)
+- [ ] Verify the troubleshooting assistant correctly capture hardware / log info [#1784](https://github.com/menloresearch/jan/issues/1784)
## C. Thread
@@ -70,26 +69,29 @@
- [ ] :key: Users switch between threads with different models, the app can handle it.
### 3. Model dropdown
+
- :key: Model list should highlight recommended based on user RAM (this is not really correct, I think it's based on static formula)
- [ ] Model size should display (for both installed and imported models)
### 4. Users can click on a history thread
+
- [ ] Chat window displays the entire conversation from the selected history thread without any missing messages.
- [ ] Historical threads reflect the exact state of the chat at that time, including settings.
- [ ] :key: Ability to delete or clean old threads.
- [ ] Changing the title of the thread updates correctly.
### 5. Users can config instructions for the assistant.
+
- [ ] Instructions set by the user are being followed by the assistant in subsequent conversations.
- [ ] :key: Changes to instructions are updated in real time and do not require a restart of the application or session.
- [ ] :key: Ability to reset instructions to default or clear them completely.
- [ ] :key: RAG - Users can import documents and the system should process queries about the uploaded file, providing accurate and appropriate responses in the conversation thread.
-- [ ] :key: Jan can see - Users can import image and Model with vision can generate responses (e.g. LLaVa model). [#294](https://github.com/janhq/jan/issues/294)
-
+- [ ] :key: Jan can see - Users can import image and Model with vision can generate responses (e.g. LLaVa model). [#294](https://github.com/menloresearch/jan/issues/294)
## D. Hub
### 1. Users can discover recommended models
+
- :key: Each model's recommendations are consistent with the user’s activity and preferences.
- [ ] Search models and verify results / action on the results
@@ -99,10 +101,10 @@
- [ ] :key: Ensure that models are labeled with RAM requirements.
- [ ] :key: Check the download model functionality and validate if the cancel download feature works correctly.
-### 3. Users can download models via a HuggingFace URL [#1740](https://github.com/janhq/jan/issues/1740)
+### 3. Users can download models via a HuggingFace URL [#1740](https://github.com/menloresearch/jan/issues/1740)
- [ ] :key: Import via Hugging Face Id / full HuggingFace URL, check the progress bar reflects the download process
-- [ ] :key: Test deeplink import [#2876](https://github.com/janhq/jan/issues/2876)
+- [ ] :key: Test deeplink import [#2876](https://github.com/menloresearch/jan/issues/2876)
- [ ] :key: Users can use / remove the imported model.
### 4. Users can import new models to the Hub
@@ -112,16 +114,16 @@
- [ ] Users can add more info to the imported model / edit name
- [ ] :key: Ensure the new model updates after restarting the app.
-
### 5. Users can use the model as they want
-- [ ] :key: Check `start` / `stop` / `delete` button response exactly what it does.
+- [ ] :key: Check `start` / `stop` / `delete` button response exactly what it does.
- [ ] Check if starting another model stops the other model entirely.
- [ ] :rocket: Navigate to `hub` > Click `Use` button to use model. Expect to jump to thread and see the model in dropdown model selector.
- [ ] :key: Check when deleting a model it will delete all the files on the user's computer.
- [ ] :warning:The recommended tags should present right for the user's hardware.
### 6. Users can Integrate With a Remote Server
+
- [ ] :key: Import openAI GPT model https://jan.ai/guides/using-models/integrate-with-remote-server/ and the model displayed in Hub / Thread dropdown
- [ ] Users can use the remote model properly (openAI GPT, Groq)
@@ -129,7 +131,7 @@
### 1. Users can see disk and RAM utilization
-- [ ] :key: Verify that the RAM and VRAM utilization graphs accurately reported in real time.
+- [ ] :key: Verify that the RAM and VRAM utilization graphs accurately reported in real time.
- [ ] :key: Validate that the utilization percentages reflect the actual usage compared to the system's total available resources.
- [ ] :key: Ensure that the system monitors updates dynamically as the models run and stop.
@@ -157,21 +159,21 @@
- [ ] :key: Users can set valid Endpoint and API Key to use remote models
- [ ] Monitoring extension should allow users to enable / disable log and set log Cleaning Interval
-
### 4. Advanced settings
- [ ] :key: Test the `Experimental Mode` toggle to confirm it enables or disables experimental features as intended.
- [ ] :key: Check the functionality of `Open App Directory` to ensure it opens the correct folder in the system file explorer.
- [ ] Users can move **Jan data folder**
- [ ] Validate that changes in advanced settings are applied immediately or provide appropriate instructions if a restart is needed.
-- [ ] Attemp to test downloading model from hub using **HTTP Proxy** [guideline](https://github.com/janhq/jan/pull/1562)
+- [ ] Attemp to test downloading model from hub using **HTTP Proxy** [guideline](https://github.com/menloresearch/jan/pull/1562)
- [ ] Logs that are older than 7 days or exceed 1MB in size will be automatically cleared upon starting the application.
- [ ] Users can click on Reset button to **factory reset** app settings to its original state & delete all usage data.
- - [ ] Keep the current app data location
- - [ ] Reset the current app data location
+ - [ ] Keep the current app data location
+ - [ ] Reset the current app data location
- [ ] Users can enable the setting and chat using quick ask.
### 5. Engine
+
- [ ] :key: TensorRT Engine - Users able to chat with the model
- [ ] :key: Onnx Engine - Users able to chat with the model
- [ ] :key: Other remote Engine - Users able to chat with the model
@@ -179,9 +181,10 @@
## G. Local API server
### 1. Local Server Usage with Server Options
+
- [ ] :key: Explore API Reference: Swagger API for sending/receiving requests
- - [ ] Use default server option
- - [ ] Configure and use custom server options
+ - [ ] Use default server option
+ - [ ] Configure and use custom server options
- [ ] Test starting/stopping the local API server with different Model/Model settings
- [ ] Server logs captured with correct Server Options provided
- [ ] Verify functionality of Open logs/Clear feature
diff --git a/web/containers/Layout/BottomPanel/UpdateFailedModal/index.tsx b/web/containers/Layout/BottomPanel/UpdateFailedModal/index.tsx
index 8021a63e0..3591b4c6a 100644
--- a/web/containers/Layout/BottomPanel/UpdateFailedModal/index.tsx
+++ b/web/containers/Layout/BottomPanel/UpdateFailedModal/index.tsx
@@ -21,7 +21,7 @@ const UpdatedFailedModal = () => {
{error}. We appreciate your
help with{' '}
@@ -35,7 +35,10 @@ const UpdatedFailedModal = () => {
{
- window.open('https://github.com/janhq/jan#download', '_blank')
+ window.open(
+ 'https://github.com/menloresearch/jan#download',
+ '_blank'
+ )
setError(undefined)
}}
>
diff --git a/web/containers/Layout/BottomPanel/index.tsx b/web/containers/Layout/BottomPanel/index.tsx
index 90d9d84ba..4dd4a742c 100644
--- a/web/containers/Layout/BottomPanel/index.tsx
+++ b/web/containers/Layout/BottomPanel/index.tsx
@@ -23,7 +23,7 @@ const menuLinks = [
{
name: 'Github',
icon: ,
- link: 'https://github.com/janhq/jan',
+ link: 'https://github.com/menloresearch/jan',
},
]
diff --git a/web/hooks/useGetLatestRelease.ts b/web/hooks/useGetLatestRelease.ts
index 3b76c2127..58de2ddb8 100644
--- a/web/hooks/useGetLatestRelease.ts
+++ b/web/hooks/useGetLatestRelease.ts
@@ -2,7 +2,9 @@
import useSWR from 'swr'
const fetchLatestRelease = async (includeBeta: boolean) => {
- const res = await fetch('https://api.github.com/repos/janhq/jan/releases')
+ const res = await fetch(
+ 'https://api.github.com/repos/menloresearch/jan/releases'
+ )
if (!res.ok) throw new Error('Failed to fetch releases')
const releases = await res.json()