Jan — Open-source ChatGPT replacement
Overview
Jan is a desktop-first, open-source application that provides a privacy-focused way to run and interact with large language models (LLMs). It supports both fully-local model execution and optional cloud integrations, offers custom assistant creation, and exposes an OpenAI-compatible local server for other apps to use.
Key features
- Local LLMs: download and run models (Llama, Gemma, Qwen, GPT-oss and others) from HuggingFace and compatible repositories.
- Cloud integrations: connect to OpenAI, Anthropic (Claude), Mistral, Groq, and similar providers when cloud inference is desired.
- Custom assistants: build specialized assistants with custom prompts, tools, and behaviors.
- OpenAI-compatible API: runs a local API (default at localhost:1337) so other apps can call Jan as if it were an OpenAI endpoint.
- MCP support: integrates Model Context Protocol (MCP) to enable agentic capabilities and richer tooling.
- Cross-platform desktop apps: builds available for Windows, macOS, and Linux (AppImage / .deb). Official distribution via jan.ai, Microsoft Store, and Flathub.
- Privacy-focused: everything can run fully offline; network calls only occur for chosen cloud providers or optional updates.
Installation & quick start
Jan provides prebuilt desktop packages and an easy developer workflow:
- Download installers from jan.ai or GitHub Releases (Windows, macOS, Linux AppImage/.deb).
- For development: Node.js ≥ 20, Yarn, Make and Rust (for Tauri) — clone repo and run
make dev. - The app handles model downloads and local runtime management; GPU acceleration supported when available.
Architecture & models
Jan is a desktop application using a native wrapper (Tauri) with a local core to manage model runtimes and extensions. It can run inference on CPU or GPU (depending on your hardware and model), and supports popular community runtimes (e.g., llama.cpp backends). The project exposes extension/plugin points and a local HTTP API compatible with OpenAI’s HTTP semantics for broad interoperability.
Privacy, offline use, and performance
Jan emphasizes privacy-first operation: users can choose to run models 100% offline so prompts and data never leave their machine. For larger models or specialized capabilities, Jan also supports hybrid workflows where cloud providers are used selectively. System requirements are documented (e.g., RAM guidance for 3B/7B/13B models) and GPU acceleration is supported for better performance.
Integrations & extensibility
- OpenAI-compatible local API makes it easy to plug Jan into existing tools and scripts.
- MCP and plugin support enable agentic workflows and custom tool integrations.
- Community extensions and config files let users add new model sources, assistants, or UI behaviors.
Use cases
- Local/private chat assistants for sensitive data.
- Offline prototyping with open LLMs.
- Hybrid setups that route heavy tasks to cloud models while keeping sensitive work local.
- Developer toolchains that need an OpenAI-compatible endpoint without using external keys.
Community, contributing & support
Jan is actively developed on GitHub (janhq/jan) and maintains documentation at jan.ai/docs. Community support is available via Discord and GitHub issues. The project is open to contributions — build instructions, testing, and contribution guidelines are included in the repo.
License
Apache 2.0 — permissive open-source license that allows use, modification, and distribution.
Where to learn more
- Official site & docs: https://jan.ai/
- GitHub repo: https://github.com/janhq/jan
- Changelog, downloads, and community links detailed on the project pages.
