jan

janhq活跃维护

在本地电脑上离线运行大模型的桌面客户端,是 ChatGPT 的开源替代品,无需联网即可对话,数据不出本机。

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

v0.8.8发布于 2026-10-28 03:31 UTC45,655star +113 / 7 天3,171fork同步于 2026-11-10 17:19 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/janhq/jan
cd jan
make dev
硬件要求按 README 说明

macOS 需 13.6+,8GB 内存跑 3B 模型、16GB 跑 7B、32GB 跑 13B;Windows 10+ 支持 NVIDIA/AMD/Intel Arc GPU 加速;Linux 多数发行版可用并支持 GPU 加速。README 未给出具体显存要求。

支持 Apple Silicon需要 CUDA支持 ROCm / AMD
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源版 ChatGPT 桌面替代品,在本地离线跑大模型,数据不出本机

在本地电脑上离线运行大模型的桌面客户端,是 ChatGPT 的开源替代品,无需联网即可对话,数据不出本机。

核心能力

  • 从 HuggingFace 下载并本地运行 Llama、Gemma、Qwen 等模型
  • 可接入 OpenAI、Anthropic、Mistral、Groq 等云端模型
  • 在 localhost:1337 提供 OpenAI 兼容的本地 API 服务
  • 支持 MCP 协议,为助手扩展智能体能力
  • 可创建面向特定任务的定制助手

容易踩的坑

从源码构建需 Node.js ≥20、Yarn ≥4.5.3、Make ≥3.81 和 Rust(Tauri),macOS Apple Silicon 还需单独下载 MetalToolchain;Windows 上必须在 Git Bash 里跑 make,cmd.exe 不行,且需装 VS2022 Build Tools、LLVM、Ninja、CMake;模型需自行从 HuggingFace 下载,本地 API 默认占用 1337 端口。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.8.8
  1. v0.8.80.8.8最新正式版2026-10-28 · 2026-10-28 03:31 UTC

    Jan v0.8.8: security fixes, llama.cpp 0.7.0, and Trusted Hosts for the local API

    A security update to v0.8.7. We recommend updating. Your data and settings carry over; a few behaviours change, listed under What you might notice.

    Security

    • Links in chat open in your browser. Links in model replies, tool results, model cards and release notes now always open in your system browser, never inside Jan's window. Links that aren't web or email links are shown as plain text.
    • The local API server checks where browser requests come from. A web page can only call it if its origin is trusted: the same machine, Jan itself, or a host you list in Trusted Hosts. Requests without a browser origin (SDKs, scripts, curl, Claude Code) work as before.
    • Server-side tool execution stays opt-in for every endpoint. Requests to the local API run MCP tools only when Settings > Local API Server allows server-side tool execution.
    • Paths are checked before Jan reads or writes them. Thread and assistant ids, and the file operations extensions use, stay inside Jan's data folder.
    • The Claude Code integration writes your shell profile safely. Values are quoted, unusual variable names are refused, and Jan's lines are kept in one marked block that Reset removes completely without touching your own lines.
    • The agent's file tools no longer follow a link out of their workspace, and folders such as your home, credentials and startup folders can't be attached as writable.
    • Windows: Jan runs system tools from the Windows system folder, and sign-in links are opened without going through cmd.
    • MCP sign-in only uses web addresses (http/https) for its endpoints.

    What you might notice

    • Trusted Hosts for browser-based clients. A web app on another machine (for example Open WebUI's direct connection) or a browser extension calling Jan's API needs its host added to Settings > Local API Server > Trusted Hosts. Entries can include a scheme, so app://obsidian.md works for Obsidian plugins (thanks to @SnowingFox, #8608). Pages without a normal origin (local files, sandboxed frames) can be allowed by listing file:// or null.
    • The CORS switch now takes effect, and it starts on after updating. In earlier versions it was shown but had no effect.
    • Custom environment variables for Claude Code: keys that change how programs are found (PATH, PATHEXT, SystemRoot, ComSpec, LD_*, DYLD_*, JAN_* and the GPU runtime paths Jan uses) are refused with a message. Other variables, including NODE_OPTIONS, save as before.
    • Moving the data folder to a system folder, your home folder itself or a drive root (for example D:\) is refused; choose a folder such as D:\Jan.
    • MCP servers whose sign-in endpoints aren't web addresses now show a sign-in error.

    New

    llama.cpp engine 0.7.0.

    The bundled engine moves from 0.5.0 to 0.7.0 (b11669). New per-model settings: an MoE expert GPU cache for mixture-of-experts models, Probabilistic draft sampling and Draft batch size for speculative decoding. They default to the engine's own defaults, so nothing changes unless you set them. Saved prompt caches from the previous engine are discarded once and rebuilt. (#9399)

    Fixes

    Local models failed to load on Windows when the user name had non-English characters (for example Cyrillic). (#9418)

    With an HTTP proxy configured, documents with "Use embeddings" failed, because Jan's requests to its own engine went through the proxy. They now go direct; remote providers still use the proxy. (#9353)

    An attachment was sent again on every turn, adding a copy per message and defeating the prompt cache. It's now included once per request. Thanks to [@yaodong-shen](htt

  2. v0.8.70.8.72026-10-20 · 2026-10-20 04:33 UTC
    查看更新说明

    Jan v0.8.7: shell switch, image size limit, and fixes

    A minor update to v0.8.6. Your data and settings carry over; one MCP clean-up runs on first launch (below).

    New

    • Turn the shell tool off in chat. The chat input's tool menu has a Shell switch. Off, the model is not given the shell tool; web search, fetch and your MCP tools keep working. On by default, and shown when the shell can run sandboxed and the model supports tools (#9222).
    • A separate size limit for images. Settings > Attachments > Max Image Size (MB): default 10, range 1 to 100 (#9312).
    • Built-in subagents for the Jan agent: explore (read-only by default), research, review and debug, each with its own model (#9261).

    Fixes

    • A thread no longer leaves its project when you attach a document (#9197, thanks @enkynakamura).
    • Pasted code with @decorators is sent as typed; only an @ followed by a real file or folder is a reference (#9291).
    • Stop ends the whole turn, including a tool that is running or waiting for approval (#9241).
    • A web page read by the built-in fetch tool is kept within the model's context window (#9283).
    • Chat with a local model no longer fails behind a proxy or VPN: requests to Jan's own engine always go direct (#9182).
    • Windows: a ^ in a command name (cm^d runs cmd) now always asks for approval (#9315).
    • macOS explains why Jan asks for Local Network access (#9318).
    • The sidebar's Jan label is back on Windows and Linux (#9242).

    Migration

    • On first launch, the hosted Exa MCP server that v0.8.3 added to the default list is removed. Servers you added, and an Exa entry you configured with your own key, are kept (#9010).

    Jan agent and CLI

    • A sandboxed shell command can ask to run outside the sandbox, with your approval each time (#9239).
    • A tool call outside a run's allowed_tools is refused (#9254); a subagent's permission prompt is denied when nobody can answer it (#9259).
    • Windows: edits match CRLF files, and unusable file names such as con.txt are refused (#9262, #9263).
    • jan cli mcp add works on a fresh install (#9257); an MCP server that never answers is given up on (#9281).
    • Compaction summaries use your small model when one is set (#9252); the terminal UI gains search and clearer subagent and background-command rows.

    Also

    • On NVIDIA GPUs, the engine logs the driver version at start, and a crash caused by a driver too old for the engine says to update the driver.
    • A model download stopped by a network error says why in more cases (#9294), and a failed model-list fetch records the address it could not reach in the app log (#9292).

    Known issues

    • With Shell off, a model that calls the shell anyway ends its reply instead of continuing without it (#9319).
    • Auto compact needs Max Context Tokens set for remote models; Jan does not detect a remote model's context window yet (#9317).
    • Local models do not run on Intel Macs, as in v0.8.5.

    Full

  3. v0.8.60.8.62026-10-09 · 2026-10-09 09:03 UTC
    查看更新说明

    Jan v0.8.6: hotfix for v0.8.5

    Fixes only. If you're on 0.8.5, updating is recommended, especially on Linux (AppImage) and on older NVIDIA GPUs.

    Fixes

    • Linux AppImage crashed on every model load on some distributions (#9173, fixed in #9178). The AppImage bundled the build machine's Vulkan loader. It now uses your system's loader, and the build fails if a GPU loader is ever bundled again.
    • NVIDIA Turing GPUs (GTX 16xx, RTX 20xx) failed with "the provided PTX was compiled with an unsupported toolchain" (#9185, fixed in #9187). On drivers older than R595, the Windows and Linux CUDA engine could not run on these cards. It now ships native Turing code, as 0.8.4 did, so no driver update is needed.
    • Qwen3.8 with MTP (speculative decoding) slowed down sharply after updating to 0.8.5 (#9183, fixed in #9186). With Parallel Sequences on auto, the engine reserved memory for 4 slots. On cards with 12 GB or similar, that pushed the model into shared system memory. A model with MTP now uses one slot when Parallel Sequences is auto; a value you set yourself is respected.
    • Images returned by MCP tools now reach the model as images (#9188, building on #9176 by @cpius). Previously they were sent as base64 text, which the model could not read and which could exceed a provider's input limit. Models without vision get a short note instead, and long chats no longer drop your question when trimming history around an image.

    Also

    • Settings → Model Providers → Llama.cpp now links to how to use a different llama.cpp version (#9179). You run your own llama-server and add it as a custom provider. It's a workaround if the bundled engine misbehaves with a particular model, for example #9177, which remains open.

    Full Changelog: https://github.com/janhq/jan/compare/v0.8.5...v0.8.6

  4. v0.8.50.8.52026-10-08 · 2026-10-08 08:32 UTC
    查看更新说明

    This release is fixes only

    No new features are announced in v0.8.5. Work in progress stays in the nightly channel: Cowork and the current agent work ship there until they are announced, and a stable build does not show them.

    One thing a first launch will notice: the first-run setup is now a guided wizard - welcome, engine setup, a first model, and the consent page - instead of opening straight into the chat with no engine or model set up. It is onboarding rather than a new capability, so it is not a headline; it is written down here so a new install is not a surprise.


    Migration

    The llama.cpp engine now ships with the app.

    Jan no longer downloads a llama.cpp backend for your machine on first run or when one is updated. The engine (llama.cpp 0.5.0, build b11146) is bundled in the installer, runs in its own worker process, and updates together with the app, so the backend version and engine auto-update settings are gone. On Windows and Linux, NVIDIA GPUs use the bundled CUDA 13 build; other GPUs, and NVIDIA GPUs or drivers that cannot run CUDA 13 (Pascal cards such as the GTX 10 series, for example), use Vulkan. (In 0.8.4 such systems could download a CUDA 11 or 12 backend; that option is gone.) macOS uses Metal.

    Backends downloaded by earlier versions, in llamacpp/backends (and llamacpp/lib, if present) inside your Jan data folder, are no longer used and are safe to delete.

    Local models no longer run on Intel Macs.

    Intel-based Macs have not been supported since v0.8.0, and the bundled engine is built for Apple Silicon only. On an Intel Mac, Jan v0.8.5 still opens and works with remote and custom providers, but llama.cpp models will not load. If you rely on local models on an Intel Mac, stay on v0.8.4.

    The desktop executable is now Jan-Desktop.

    The app is still called Jan, and its menu entries, shortcuts and Jan.app bundle keep working, but the executable inside was renamed. On Linux the .deb installs /usr/bin/Jan-Desktop instead of /usr/bin/Jan, and on macOS it is Jan.app/Contents/MacOS/Jan-Desktop; scripts that launch the old path need updating. On Windows, the in-app update moves the Start-menu and desktop shortcuts to the new executable.

    The jan CLI is no longer part of the desktop app.

    The desktop app no longer bundles the jan command-line agent, installs it, or adds it to your PATH; it is now a separate install (see the agent quickstart).

    • macOS and Linux: a jan that v0.8.4 installed (in /usr/local/bin or ~/.local/bin) is left in place but stays at v0.8.4. Reinstall it from the quickstart to keep it current.
    • Windows: updating from v0.8.4 removes the jan.exe it put in the app's resources\bin folder, so jan stops working until you install the CLI from the quickstart. The Windows installer now puts it in %USERPROFILE%\.local\bin, the same place as on macOS and Linux, not in the desktop app's folder, so a later app update cannot remove it. The update leaves that folder's entry in your user PATH; you can delete the entry.

    The Local API Server checks Trusted Hosts when bound to 0.0.0.0.

    Previously, binding to 0.0.0.0 accepted any Host header. Now a request whose host is not localhost, host.docker.internal, a loopback or private LAN IP, or an entry in Trusted Hosts is rejected with 403. If clients reach Jan by another name - a machine name such as my-pc.local, a domain behind a reverse proxy, or a non-private IP - add it to Settings > Local API Server > Trusted Hosts (or * to allow any host).

    The agent's bash tool is now called shell.

    On Windows it runs in PowerShell, so Git Bash is no longer needed; on macOS and Linux it is still bash. Agent definitions and tool allowlists that name bash stop match

  5. v0.8.40.8.42026-07-23 · 2026-07-23 06:29 UTC
    查看更新说明

    Migration

    Settings and credentials now live in a backend-managed store.

    Provider settings and credentials previously persisted in the webview's localStorage. In 0.8.4, Jan reads and writes them from a backend-managed store instead (secrets go to the OS keyring). Your existing settings and API keys are copied over automatically on first launch - no manual action is needed, and from this version on all new changes are saved to the backend store.

    Your old localStorage data is not deleted - it's kept as a snapshot so you can downgrade to a pre-0.8.4 build and still have your previous settings. Any changes you make in 0.8.4+ live only in the backend store, so a downgrade sees the older snapshot, not your latest settings.


    What's Changed

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Jan - Open-source ChatGPT replacement

    Jan is bringing the best of open-source AI in an easy-to-use product. Download and run LLMs with full control and privacy.

    Installation

    The easiest way to get started is by downloading one of the following versions for your respective operating system:

    Download from jan.ai or GitHub Releases.

    Features

    • Local AI Models: Download and run LLMs (Llama, Gemma, Qwen, GPT-oss etc.) from HuggingFace
    • Cloud Integration: Connect to GPT models via OpenAI, Claude models via Anthropic, Mistral, Groq, MiniMax, and others
    • Custom Assistants: Create specialized AI assistants for your tasks
    • OpenAI-Compatible API: Local server at localhost:1337 for other applications
    • Model Context Protocol: MCP integration for agentic capabilities
    • Privacy First: Everything runs locally when you want it to

    Build from Source

    For those who enjoy the scenic route:

    Prerequisites

    • Node.js ≥ 20.0.0
    • Yarn ≥ 4.5.3
    • Make ≥ 3.81
    • Rust (for Tauri)
    • (macOS Apple Silicon only) MetalToolchain xcodebuild -downloadComponent MetalToolchain

    Run with Make

    git clone https://github.com/janhq/jan
    cd jan
    make dev
    

    This handles everything: installs dependencies, builds core components, and launches the app.

    Available make targets:

    • make dev - Full development setup and launch
    • make build - Production build
    • make test - Run tests and linting
    • make clean - Delete everything and start fresh

    Manual Commands

    yarn install
    yarn build
    yarn dev
    

    Building on Windows

    Run make dev from Git Bash (installed with Git for Windows) — make dispatches its recipes through sh, so a plain cmd.exe won't work.

    You do not need a "Native Tools Command Prompt for VS 2022". The bundled llama.cpp engine builds with Ninja + clang-cl, and clang-cl locates the MSVC toolchain and Windows SDK on its own. What has to be installed (and on PATH for ninja/clang-cl/cmake):

    • Visual Studio 2022 Build Tools (MSVC x64 workload + Windows SDK)
    • LLVM (provides clang-cl)
    • Ninja
    • CMake
    • CUDA Toolkit — only for JAN_ENGINE_VARIANT=cuda12/cuda13 builds

    Engine variants are picked with JAN_ENGINE_VARIANT (tokens: cpu, vulkan, metal, cuda12, cuda13, hip/rocm, joined by -), e.g.:

    make dev JAN_ENGINE_VARIANT=cuda13
    

    "nvcc fatal : Could not open output file ...fattn-...cu.obj.d" during tauri-plugin-llamacpp(build) means the build path crossed Windows' 260-character MAX_PATH limit — nvcc does not honor the long-path opt-in. The build script now detects this and automatically relocates the llama.cpp build tree to a short directory under %LOCALAPPDATA%\jan-engine. If you hit path-length errors anyway, set JAN_ENGINE_BUILD_DIR to a short path (e.g. C:\jb) or move the checkout closer to the drive root.

    System Requirements

    Minimum specs for a decent experience:

    • macOS: 13.6+ (8GB RAM for 3B models, 16GB for 7B, 32GB for 13B)
    • Windows: 10+ with GPU support for NVIDIA/AMD/Intel Arc
    • Linux: Most distributions work, GPU acceleration available

    For detailed compatibility, check our installation guides.

    Troubleshooting

    If things go sideways:

    1. Check our troubleshooting docs
    2. Copy your error logs and system specs
    3. Ask for help in our Discord #🆘|jan-help channel

    Contributing

    Contributions welcome. See CONTRIBUTING.md for the full spiel.

    Note: Please sign your commits so we can verify your contributions.

    Links

    Contact

    License

    Apache 2.0 - Because sharing is caring.

    Acknowledgements

    Built on the shoulders of giants: