Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Jan - Turn your computer into an AI computer

Jan banner

GitHub commit activityGithub Last CommitGithub ContributorsGitHub closed issuesDiscord

Getting Started - Docs - Changelog - Bug reports - Discord

Warning

Jan is currently in Development: Expect breaking changes and bugs!

Jan is an open-source ChatGPT alternative that runs 100% offline on your computer.

Jan runs on any hardware. From PCs to multi-GPU clusters, Jan supports universal architectures:

  • NVIDIA GPUs (fast)
  • Apple M-series (fast)
  • Apple Intel
  • Linux Debian
  • Windows x64

Download

Version TypeWindowsMacOSLinux
Stable (Recommended)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage
Experimental (Nightly Build)jan.exeIntelM1/M2/M3/M4jan.debjan.AppImage

Download the latest version of Jan at https://jan.ai/ or visit the GitHub Releases to download any previous release.

Demo

Demo

Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14

Quicklinks

Jan

Nitro

Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.

Troubleshooting

As Jan is in development mode, you might get stuck on a broken build.

To reset your installation:

  1. Use the following commands to remove any dangling backend processes:

    ps aux | grep nitro

    Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:

    kill -9 <PID>
  2. Remove Jan from your Applications folder and Cache folder

    make clean

    This will remove all build artifacts and cached files:

    • Delete Jan extension from your ~/jan/extensions folder
    • Delete all node_modules in current folder
    • Clear Application cache in ~/Library/Caches/jan

Requirements for running Jan

  • MacOS: 13 or higher
  • Windows:
    • Windows 10 or higher
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher
  • Linux:
    • glibc 2.27 or higher (check with ldd --version)
    • gcc 11, g++ 11, cpp 11 or higher, refer to this link for more information
    • To enable GPU support:
      • Nvidia GPU with CUDA Toolkit 11.7 or higher
      • Nvidia driver 470.63.01 or higher

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0
  • make >= 3.81

Instructions

  1. Clone the repository and prepare:

    git clone https://github.com/janhq/jan
    cd jan
    git checkout -b DESIRED_BRANCH
  2. Run development and use Jan Desktop

    make dev

This will start the development server and open the desktop app.

  1. (Optional) Run the API server without frontend

    yarn dev:server

For production build

# Do steps 1 and 2 in the previous section# Build the app
make build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Docker mode

  • Supported OS: Linux, WSL2 Docker

  • Pre-requisites:

    • Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the instructions below to get started with Docker Engine on Ubuntu.

      curl -fsSL https://get.docker.com -o get-docker.sh
      sudo sh ./get-docker.sh --dry-run
    • If you intend to run Jan in GPU mode, you need to install nvidia-driver and nvidia-docker2. Follow the instruction here for installation.

  • Run Jan in Docker mode

    User can choose between docker-compose.yml with latest prebuilt docker image or docker-compose-dev.yml with local docker build

Docker compose ProfileDescription
cpu-fsRun Jan in CPU mode with default file system
cpu-s3fsRun Jan in CPU mode with S3 file system
gpu-fsRun Jan in GPU mode with default file system
gpu-s3fsRun Jan in GPU mode with S3 file system
Environment VariableDescription
S3_BUCKET_NAMES3 bucket name - leave blank for default file system
AWS_ACCESS_KEY_IDAWS access key ID - leave blank for default file system
AWS_SECRET_ACCESS_KEYAWS secret access key - leave blank for default file system
AWS_ENDPOINTAWS endpoint URL - leave blank for default file system
AWS_REGIONAWS region - leave blank for default file system
API_BASE_URLJan Server URL, please modify it as your public ip address or domain name default http://localhost:1377
  • Option 1: Run Jan in CPU mode

    # cpu mode with default file system
    docker compose --profile cpu-fs up -d
    # cpu mode with S3 file system
    docker compose --profile cpu-s3fs up -d
  • Option 2: Run Jan in GPU mode

    • Step 1: Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output

      nvidia-smi
      # Output
      +---------------------------------------------------------------------------------------+
      | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 ||-----------------------------------------+----------------------+----------------------+
      | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |||| MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A || 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A || 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A || 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default |||| N/A |
      +-----------------------------------------+----------------------+----------------------+
      +---------------------------------------------------------------------------------------+
      | Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|
    • Step 2: Visit NVIDIA NGC Catalog and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0)

    • Step 3: Update the Dockerfile.gpu line number 5 with the latest minor version of the image tag from step 2 (e.g. change FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base to FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base)

    • Step 4: Run command to start Jan in GPU mode

      # GPU mode with default file system
      docker compose --profile gpu-fs up -d
      # GPU mode with S3 file system
      docker compose --profile gpu-s3fs up -d

This will start the web server and you can access Jan at http://localhost:3000.

Note: RAG feature is not supported in Docker mode with s3fs yet.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a GitHub ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai

Trust & Safety

Beware of scams.

  • We will never ask you for personal info
  • We are a free product; there's no paid version
  • We don't have a token or ICO
  • We are not actively fundraising or seeking donations

License

Jan is free and open source, under the AGPLv3 license.

About

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages