← All open source projects

Jan

janhq/jan

Jan is an open source desktop app for chatting with local LLMs.

Forks 2,871
Author janhq
Language TypeScript
License NOASSERTION
Synced 2026-06-27

What it is

Jan is a desktop app for working with LLMs, focused on local execution and open source code. It gives users a familiar chat interface while keeping more control over models and data.

The project became noticeable with the rise of local models. Not every scenario needs a cloud service; privacy, predictable cost, or local experimentation may matter more.

What is inside

The repository contains a TypeScript app, desktop shell, model management, chat UI, settings, local storage, and integrations with model runtimes.

Jan sits between product UI and model infrastructure. It must feel simple while handling large model files, hardware, and system limits.

How it is used

A user installs the app, chooses or downloads a model, and chats locally. For developers, it is an example of packaging LLM use into a desktop product.

Quality depends on the model, memory, CPU, or GPU. Local control does not guarantee speed or answer quality on weak hardware.

Strengths and limits

The strength is a clear user layer over local models, lowering the barrier for people who do not want to assemble command-line tools.

The limit is supporting many models and platforms. The app needs to explain slow models, loading failures, and memory needs.

It is a notable example of LLM use moving from a cloud tab into a local open source app.

The practical value of Jan is easiest to see through a small verifiable scenario: take the task the project was made for and follow it to a result. Jan brings local LLMs closer to a normal desktop app: chat, models, settings, local data, and use without mandatory cloud dependency. That separates real usefulness from a nice description.

If Jan stays in use beyond the first experiment, maintenance starts to matter as much as features: updates, clear responsibility boundaries, testable examples, and the project’s place in the existing system. That is where real strengths and limits usually appear.

Example

Локальный сценарий Jan

Пример показывает общий пользовательский путь: выбрать модель, открыть чат и держать данные локально.

Language: Plain text
1. Install Jan
2. Download a local model
3. Start a chat
4. Keep conversations on the device