{"id":13452942,"url":"https://github.com/janhq/jan","last_synced_at":"2026-02-15T13:01:24.683Z","repository":{"id":192728206,"uuid":"679506386","full_name":"janhq/jan","owner":"janhq","description":"Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)","archived":false,"fork":false,"pushed_at":"2024-10-29T09:57:32.000Z","size":898317,"stargazers_count":22956,"open_issues_count":174,"forks_count":1329,"subscribers_count":130,"default_branch":"dev","last_synced_at":"2024-10-29T11:57:49.314Z","etag":null,"topics":["electron","gpt","llama2","llamacpp","localai","self-hosted"],"latest_commit_sha":null,"homepage":"https://jan.ai/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-17T02:17:10.000Z","updated_at":"2024-10-29T11:11:48.000Z","dependencies_parsed_at":"2023-09-27T20:13:29.063Z","dependency_job_id":"1a55f5a3-1120-4682-a6dd-332f0ef8f25f","html_url":"https://github.com/janhq/jan","commit_stats":{"total_commits":2843,"total_committers":74,"mean_commits":38.41891891891892,"dds":0.8575448469926135,"last_synced_commit":"02190c5cbdb2734a8280ebdcdf91c0e5033432d9"},"previous_names":["janhq/jan"],"tags_count":143,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janhq%2Fjan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janhq%2Fjan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janhq%2Fjan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janhq%2Fjan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janhq","download_url":"https://codeload.github.com/janhq/jan/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244111411,"owners_count":20399767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","gpt","llama2","llamacpp","localai","self-hosted"],"created_at":"2024-07-31T08:00:28.863Z","updated_at":"2026-02-15T13:01:19.482Z","avatar_url":"https://github.com/janhq.png","language":"TypeScript","readme":"# Jan - Turn your computer into an AI computer\n\n![Jan banner](https://github.com/janhq/jan/assets/89722390/35daac7d-b895-487c-a6ac-6663daaad78e)\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n  \u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/m/janhq/jan\"/\u003e\n  \u003cimg alt=\"Github Last Commit\" src=\"https://img.shields.io/github/last-commit/janhq/jan\"/\u003e\n  \u003cimg alt=\"Github Contributors\" src=\"https://img.shields.io/github/contributors/janhq/jan\"/\u003e\n  \u003cimg alt=\"GitHub closed issues\" src=\"https://img.shields.io/github/issues-closed/janhq/jan\"/\u003e\n  \u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1107178041848909847?label=discord\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://jan.ai/guides\"\u003eGetting Started\u003c/a\u003e \n  - \u003ca href=\"https://jan.ai/docs\"\u003eDocs\u003c/a\u003e \n  - \u003ca href=\"https://github.com/janhq/jan/releases\"\u003eChangelog\u003c/a\u003e \n  - \u003ca href=\"https://github.com/janhq/jan/issues\"\u003eBug reports\u003c/a\u003e \n  - \u003ca href=\"https://discord.gg/AsJ8krTT3N\"\u003eDiscord\u003c/a\u003e\n\u003c/p\u003e\n\n\u003e[!Warning]\n\u003e**Jan is currently in Development**: Expect breaking changes and bugs!\n\nJan is an open-source ChatGPT alternative that runs 100% offline on your computer.\n\n**Jan runs on any hardware.** From PCs to multi-GPU clusters, Jan supports universal architectures:\n\n- [x] NVIDIA GPUs (fast)\n- [x] Apple M-series (fast)\n- [x] Apple Intel\n- [x] Linux Debian\n- [x] Windows x64\n\n## Download\n\n\u003ctable\u003e\n  \u003ctr style=\"text-align:center\"\u003e\n    \u003ctd style=\"text-align:center\"\u003e\u003cb\u003eVersion Type\u003c/b\u003e\u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\u003cb\u003eWindows\u003c/b\u003e\u003c/td\u003e\n    \u003ctd colspan=\"2\" style=\"text-align:center\"\u003e\u003cb\u003eMacOS\u003c/b\u003e\u003c/td\u003e\n    \u003ctd colspan=\"2\" style=\"text-align:center\"\u003e\u003cb\u003eLinux\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr style=\"text-align:center\"\u003e\n    \u003ctd style=\"text-align:center\"\u003e\u003cb\u003eStable (Recommended)\u003c/b\u003e\u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/latest/win-x64'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/windows.png' style=\"height:14px; width: 14px\" /\u003e\n        \u003cb\u003ejan.exe\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/latest/mac-x64'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/mac.png' style=\"height:15px; width: 15px\" /\u003e\n        \u003cb\u003eIntel\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/latest/mac-arm64'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/mac.png' style=\"height:15px; width: 15px\" /\u003e\n        \u003cb\u003eM1/M2/M3/M4\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/latest/linux-amd64-deb'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/linux.png' style=\"height:14px; width: 14px\" /\u003e\n        \u003cb\u003ejan.deb\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/latest/linux-amd64-appimage'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/linux.png' style=\"height:14px; width: 14px\" /\u003e\n        \u003cb\u003ejan.AppImage\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr style=\"text-align:center\"\u003e\n    \u003ctd style=\"text-align:center\"\u003e\u003cb\u003eExperimental (Nightly Build)\u003c/b\u003e\u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/nightly/win-x64'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/windows.png' style=\"height:14px; width: 14px\" /\u003e\n        \u003cb\u003ejan.exe\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/nightly/mac-x64'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/mac.png' style=\"height:15px; width: 15px\" /\u003e\n        \u003cb\u003eIntel\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/nightly/mac-arm64'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/mac.png' style=\"height:15px; width: 15px\" /\u003e\n        \u003cb\u003eM1/M2/M3/M4\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/nightly/linux-amd64-deb'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/linux.png' style=\"height:14px; width: 14px\" /\u003e\n        \u003cb\u003ejan.deb\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"text-align:center\"\u003e\n      \u003ca href='https://app.jan.ai/download/nightly/linux-amd64-appimage'\u003e\n        \u003cimg src='https://github.com/janhq/docs/blob/main/static/img/linux.png' style=\"height:14px; width: 14px\" /\u003e\n        \u003cb\u003ejan.AppImage\u003c/b\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nDownload the latest version of Jan at https://jan.ai/ or visit the **[GitHub Releases](https://github.com/janhq/jan/releases)** to download any previous release.\n\n## Demo\n\n![Demo](/demo.gif)\n\n_Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14_\n\n## Quicklinks\n\n#### Jan\n\n- [Jan website](https://jan.ai/)\n- [Jan GitHub](https://github.com/janhq/jan)\n- [User Guides](https://jan.ai/guides/)\n- [Developer docs](https://jan.ai/developer/)\n- [API reference](https://jan.ai/api-reference/)\n- [Specs](https://jan.ai/docs/)\n\n#### Nitro\n\nNitro 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.\n\n- [Nitro Website](https://nitro.jan.ai)\n- [Nitro GitHub](https://github.com/janhq/nitro)\n- [Documentation](https://nitro.jan.ai/docs)\n- [API Reference](https://nitro.jan.ai/api-reference)\n\n## Troubleshooting\n\nAs Jan is in development mode, you might get stuck on a broken build.\n\nTo reset your installation:\n\n1. Use the following commands to remove any dangling backend processes:\n\n   ```sh\n   ps aux | grep nitro\n   ```\n\n   Look for processes like \"nitro\" and \"nitro_arm_64,\" and kill them one by one with:\n\n   ```sh\n   kill -9 \u003cPID\u003e\n   ```\n\n2. **Remove Jan from your Applications folder and Cache folder**\n\n   ```bash\n   make clean\n   ```\n\n   This will remove all build artifacts and cached files:\n\n   - Delete Jan extension from your `~/jan/extensions` folder\n   - Delete all `node_modules` in current folder\n   - Clear Application cache in `~/Library/Caches/jan`\n\n## Requirements for running Jan\n\n- MacOS: 13 or higher\n- Windows:\n  - Windows 10 or higher\n  - To enable GPU support:\n    - Nvidia GPU with CUDA Toolkit 11.7 or higher\n    - Nvidia driver 470.63.01 or higher\n- Linux:\n  - glibc 2.27 or higher (check with `ldd --version`)\n  - gcc 11, g++ 11, cpp 11 or higher, refer to this [link](https://jan.ai/guides/troubleshooting/gpu-not-used/#specific-requirements-for-linux) for more information\n  - To enable GPU support:\n    - Nvidia GPU with CUDA Toolkit 11.7 or higher\n    - Nvidia driver 470.63.01 or higher\n\n## Contributing\n\nContributions are welcome! Please read the [CONTRIBUTING.md](CONTRIBUTING.md) file\n\n### Pre-requisites\n\n- node \u003e= 20.0.0\n- yarn \u003e= 1.22.0\n- make \u003e= 3.81\n\n### Instructions\n\n1. **Clone the repository and prepare:**\n\n   ```bash\n   git clone https://github.com/janhq/jan\n   cd jan\n   git checkout -b DESIRED_BRANCH\n   ```\n\n2. **Run development and use Jan Desktop**\n\n   ```bash\n   make dev\n   ```\n\nThis will start the development server and open the desktop app.\n\n3. (Optional) **Run the API server without frontend**\n\n   ```bash\n   yarn dev:server\n   ```\n\n### For production build\n\n```bash\n# Do steps 1 and 2 in the previous section\n# Build the app\nmake build\n```\n\nThis will build the app MacOS m1/m2 for production (with code signing already done) and put the result in `dist` folder.\n\n### Docker mode\n\n- Supported OS: Linux, WSL2 Docker\n- Pre-requisites:\n\n  - Docker Engine and Docker Compose are required to run Jan in Docker mode. Follow the [instructions](https://docs.docker.com/engine/install/ubuntu/) below to get started with Docker Engine on Ubuntu.\n\n    ```bash\n    curl -fsSL https://get.docker.com -o get-docker.sh\n    sudo sh ./get-docker.sh --dry-run\n    ```\n\n  - If you intend to run Jan in GPU mode, you need to install `nvidia-driver` and `nvidia-docker2`. Follow the instruction [here](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) for installation.\n\n- Run Jan in Docker mode\n  \u003e User can choose between `docker-compose.yml` with latest prebuilt docker image or `docker-compose-dev.yml` with local docker build\n\n| Docker compose Profile | Description                                  |\n| ---------------------- | -------------------------------------------- |\n| `cpu-fs`               | Run Jan in CPU mode with default file system |\n| `cpu-s3fs`             | Run Jan in CPU mode with S3 file system      |\n| `gpu-fs`               | Run Jan in GPU mode with default file system |\n| `gpu-s3fs`             | Run Jan in GPU mode with S3 file system      |\n\n| Environment Variable    | Description                                                                                             |\n| ----------------------- | ------------------------------------------------------------------------------------------------------- |\n| `S3_BUCKET_NAME`        | S3 bucket name - leave blank for default file system                                                    |\n| `AWS_ACCESS_KEY_ID`     | AWS access key ID - leave blank for default file system                                                 |\n| `AWS_SECRET_ACCESS_KEY` | AWS secret access key - leave blank for default file system                                             |\n| `AWS_ENDPOINT`          | AWS endpoint URL - leave blank for default file system                                                  |\n| `AWS_REGION`            | AWS region - leave blank for default file system                                                        |\n| `API_BASE_URL`          | Jan Server URL, please modify it as your public ip address or domain name default http://localhost:1377 |\n\n- **Option 1**: Run Jan in CPU mode\n\n  ```bash\n  # cpu mode with default file system\n  docker compose --profile cpu-fs up -d\n\n  # cpu mode with S3 file system\n  docker compose --profile cpu-s3fs up -d\n  ```\n\n- **Option 2**: Run Jan in GPU mode\n\n  - **Step 1**: Check CUDA compatibility with your NVIDIA driver by running `nvidia-smi` and check the CUDA version in the output\n\n    ```bash\n    nvidia-smi\n\n    # Output\n    +---------------------------------------------------------------------------------------+\n    | NVIDIA-SMI 531.18                 Driver Version: 531.18       CUDA Version: 12.1     |\n    |-----------------------------------------+----------------------+----------------------+\n    | GPU  Name                      TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |\n    | Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\n    |                                         |                      |               MIG M. |\n    |=========================================+======================+======================|\n    |   0  NVIDIA GeForce RTX 4070 Ti    WDDM | 00000000:01:00.0  On |                  N/A |\n    |  0%   44C    P8               16W / 285W|   1481MiB / 12282MiB |      2%      Default |\n    |                                         |                      |                  N/A |\n    +-----------------------------------------+----------------------+----------------------+\n    |   1  NVIDIA GeForce GTX 1660 Ti    WDDM | 00000000:02:00.0 Off |                  N/A |\n    |  0%   49C    P8               14W / 120W|      0MiB /  6144MiB |      0%      Default |\n    |                                         |                      |                  N/A |\n    +-----------------------------------------+----------------------+----------------------+\n    |   2  NVIDIA GeForce GTX 1660 Ti    WDDM | 00000000:05:00.0 Off |                  N/A |\n    | 29%   38C    P8               11W / 120W|      0MiB /  6144MiB |      0%      Default |\n    |                                         |                      |                  N/A |\n    +-----------------------------------------+----------------------+----------------------+\n\n    +---------------------------------------------------------------------------------------+\n    | Processes:                                                                            |\n    |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |\n    |        ID   ID                                                             Usage      |\n    |=======================================================================================|\n    ```\n\n  - **Step 2**: Visit [NVIDIA NGC Catalog ](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags) and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -\u003e 12.1.0)\n\n  - **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`)\n\n  - **Step 4**: Run command to start Jan in GPU mode\n\n    ```bash\n    # GPU mode with default file system\n    docker compose --profile gpu-fs up -d\n\n    # GPU mode with S3 file system\n    docker compose --profile gpu-s3fs up -d\n    ```\n\nThis will start the web server and you can access Jan at `http://localhost:3000`.\n\n\u003e Note: RAG feature is not supported in Docker mode with s3fs yet.\n\n## Acknowledgements\n\nJan builds on top of other open-source projects:\n\n- [llama.cpp](https://github.com/ggerganov/llama.cpp)\n- [LangChain](https://github.com/langchain-ai)\n- [TensorRT](https://github.com/NVIDIA/TensorRT)\n- [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM)\n\n## Contact\n\n- Bugs \u0026 requests: file a GitHub ticket\n- For discussion: join our Discord [here](https://discord.gg/FTk2MvZwJH)\n- For business inquiries: email hello@jan.ai\n- For jobs: please email hr@jan.ai\n\n## Trust \u0026 Safety\n\nBeware of scams.\n\n- We will never ask you for personal info\n- We are a free product; there's no paid version\n- We don't have a token or ICO\n- We are not actively fundraising or seeking donations\n\n## License\n\nJan is free and open source, under the AGPLv3 license.\n","funding_links":[],"categories":["TypeScript","Artificial Intelligence","Top","A01_文本生成_文本对话","Others","Project List","UIs","🛠️ AI 工具与框架","Repos","推理 Inference","Learning","AI Agent Frameworks \u0026 SDKs","HarmonyOS","Application Recommendation","self-hosted","🏠 Local and Self-Hosted AI","tauri","Table of Contents","Open-Source Local LLM Projects","Runtime","Industry Strength Natural Language Processing","LLMs ChatUI"],"sub_categories":["Android Launcher","大语言对话模型及数据","\u003cspan id=\"tool\"\u003eLLM (LLM \u0026 Tool)\u003c/span\u003e","Desktop applications","LLM 推理与部署","Repositories","Multi-Agent Collaboration Systems","Windows Manager","🧠 AI Applications","Local LLM Runners","LLM GUI","Chatbot"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanhq%2Fjan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanhq%2Fjan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanhq%2Fjan/lists"}