* Eslint import order * Initial Uikit * Rename file with camelCase * Remove unused code * Remove unused code * Set position traficlight mac * Grouping Ribbon, Topbar and Bottombar as layout * Added image brand * Moving feature toggle into context folder * Fix active state of setting menu * Cleanup downloadModel atom helper * Cleanup useGetConfigureModel * Added wave animation * Create useMainViewState intead of import helper atom * Remove unused code * Take a back switch ui * Toggle using switch component * Add dynamic primary color * Cleanup import * Added uikit scroll area * Add best practice form * Added toaster container * Fix loader container * Add hooks useDownloadState * Added tooltip on ribbon menu * Added case user multiple download model * Adjust input style with bigger ring * Restyle my model screen * Replace useStartStop model with useActiveModel * Import icon using Icon name * Fix missing login loading start and stop model * WIP integrate with cmdk * Move layout search bar on middle of app * Added function cancel download * Cleanup model explore * Cleanup unused code * Move app version in bototmbar or footer * WIP chat screen * WIP chat screen * Cleanup style and remove unsed code * Added command for showing downloaded model * Fix missing keyframe loader dot animation * Conditional loader of plugin setting * WIP history list message * chore: rebase main * Adding script ui into root package * Fix different version react hooks form * Add close toaster * Added status model active or not on list of command * Conditional showing info if user don't have a model * Disabled toolbar chat when user not yet have convo * chore: fix state * fix: get resource atom * Fix conditional bottom bar * fix: model download state * Fix font * Improve icon my model * Add toaster delete chat * Remove test classname * Fix scroll chat body * Fix scrolling chat body * chore: add message update * Add uikit into depedencies on root package * Update chat flow * Fix hot reload ui changes * Increate background color chat screen light mode * Added visual conversation active state * Added build:uikit on gh actions * chore: attempt to fix CI * fix: deps * fix: tests * chore: attempt to fix CI --------- Co-authored-by: Louis <louis@jan.ai>
Jan - Personal AI
Getting Started - Docs - Changelog - Bug reports - Discord
⚠️ Jan is currently in Development: Expect breaking changes and bugs!
Jan is a tool to build your own Personal AI, that runs privately on your personal computer.
Jan is free and open source, under the AGPLv3 license.
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 Jan at https://jan.ai/
Demo
Video: Jan v0.3.0 on Mac Air M2, 16GB Ventura
Quicklinks
- Developer docs (WIP)
- Mobile App shell: App Store | Android
- Nitro Github: Jan's AI engine
Plugins
Jan supports core & 3rd party extensions:
- LLM chat: Self-hosted Llama2 and LLMs
- Model Manager: 1-click to install, swap, and delete models with HuggingFace integration
- Storage: Optionally save conversation history and other data in SQLite
- 3rd-party AIs: Connect to ChatGPT, Claude via API Key (in progress)
- Cross device support: Mobile & Web support for custom shared servers (in progress)
- File retrieval: User can chat with docs
- Multi-user support: Share a single server across a team/friends (planned)
- Compliance: Auditing and flagging features (planned)
Nitro (Jan's AI engine)
In the background, Jan runs Nitro, an open source, C++ inference engine. It runs various model formats (GGUF/TensorRT) on various hardware (Mac M1/M2/Intel, Windows, Linux, and datacenter-grade Nvidia GPUs) with optional GPU acceleration.
See the open source Nitro codebase at https://nitro.jan.ai.
Troubleshooting
As Jan is development mode, you might get stuck on a broken build.
To reset your installation:
-
Delete Jan Application from /Applications
-
Clear cache:
rm -rf /Users/$(whoami)/Library/Application\ Support/jan-electronORrm -rf /Users/$(whoami)/Library/Application\ Support/jan
Contributing
Contributions are welcome! Please read the CONTRIBUTING.md file
Pre-requisites
- node >= 20.0.0
- yarn >= 1.22.0
Instructions
Note: This instruction is tested on MacOS only.
- Clone the Repository:
git clone https://github.com/janhq/jan
git checkout DESIRED_BRANCH
cd jan
- Install dependencies:
yarn install
# Build core module
yarn build:core
# Packing base plugins
yarn build:plugins
-
Run development and Using Jan Desktop
yarn devThis will start the development server and open the desktop app. In this step, there are a few notification about installing base plugin, just click
OKandNextto continue.
For production build
# Do step 1 and 2 in previous section
git clone https://github.com/janhq/jan
cd jan
yarn install
# Build core module
yarn build:core
# Package base plugins
yarn build:plugins
# Build the app
yarn build
This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.
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