Jan 详解:100% 离线运行的开源 ChatGPT 替代
想在本地跑大模型聊天,老牌选手是 Ollama——但它是引擎,不是产品;想要 ChatGPT 那样的完整界面,又不想数据出本机,janhq/jan(Jan)给出的答案是"两者合一":一个 ChatGPT 形态的桌面应用,下载即用,LLM 在本机跑、对话数据本地存,全程可断网;想接云端时 OpenAI / Claude / Mistral / Groq 又即插即有。底层 Tauri + llama.cpp,本地模型跑在 localhost:1337 的 OpenAI 兼容服务器上,其他应用可以像调 API 一样调它。约 44.5k Star、Apache 2.0 协议。本文从产品形态、技术架构、本地 API 到选型,完整拆解。
1、项目概述
Jan 定位为开源的 ChatGPT 替代品:把开源 AI 的精华装进易用的产品,下载并运行 LLM,全程掌控与隐私。它是 janhq 公司(越南团队)的主产品,2023 年 8 月创建,约 44.5k Star、3k Fork、Apache 2.0 协议(README 明示;GitHub API 标注 Other),TypeScript 主体(Electron 时代迁移至 Tauri),官网 jan.ai 提供文档、更新日志与 API 参考,Discord 社区活跃。安装渠道覆盖 Microsoft Store、Flathub、官网直下(exe / dmg / deb / AppImage)与 GitHub Releases,Linux Arm64 有专门指引。
基本盘:
- 双模式:本地模型(Llama、Gemma、Qwen、GPT-oss 等 HuggingFace 直下)与云端集成(OpenAI、Anthropic、Mistral、Groq、MiniMax 等)并存
- 本地 API:localhost:1337 起 OpenAI 兼容服务器,其他应用可当标准端点调用
- MCP 集成:模型上下文协议带来 agentic 能力
- 自定义助手:为不同任务创建专门 AI 助手
- 硬件门槛:macOS 8GB 跑 3B、16GB 跑 7B、32GB 跑 13B;Windows 支持 NVIDIA / AMD / Intel Arc GPU 加速
2、产品形态:ChatGPT 的体验,本地的掌控
Jan 的产品哲学是"产品化优先"——先有 ChatGPT 级的易用,再谈开源的自由。
产品要素:
- 零门槛起步:下载安装打开,模型市场里点选 HuggingFace 模型即下即聊,无需命令行
- 隐私默认:对话与数据默认全本地文件存储,断网照常工作
- 云端可选而非必需:接 OpenAI / Claude 时只在相应会话中出网,本地模型不受影响
- 助手体系:类似 GPTs 的自定义助手,可配系统提示词、模型与参数分角色复用
产品要点:
1. "替代 ChatGPT"的完整对位:界面、助手、模型选择、历史记录的产品语义都对齐,迁移心智成本接近零
2. 双模式的实际价值:敏感内容本地跑、重度推理云端跑,一个应用两种策略,不必在工具间切换
3. MCP 让 Jan 从"聊天应用"升级为"Agent 宿主":外部工具经 MCP 接入,本地模型也能调用
4. 分发渠道的认真程度(商店 + 包管理 + 官网 + Releases 全覆盖)在开源桌面 AI 应用里少见
3、技术架构:Tauri + llama.cpp
从 Electron 迁到 Tauri,是 Jan 近年最重要的架构决策。
架构拆解:
- Tauri 壳:Rust 后端 + 系统 WebView,安装包与内存占用远小于 Electron 时代的同类
- llama.cpp 引擎:内置推理引擎,tauri-plugin-llamacpp 插件形式集成,GGUF 模型直接跑
- 引擎变体:JAN_ENGINE_VARIANT 支持 cpu / vulkan / metal / cuda12 / cuda13 / hip(rocm),可组合
- 本地 API 服务器:localhost:1337 暴露 OpenAI 兼容端点,聊天记录与应用状态本地文件化
架构要点:
1. 构建栈:Node.js 20+ / Yarn 4.5+ / Rust / Make;Windows 上 llama.cpp 用 Ninja + clang-cl 构建,自动定位 MSVC 工具链
2. Windows 路径坑有官方解法:MAX_PATH 260 字符限制会被构建脚本自动检测并迁移到短路径(%LOCALAPPDATA%\jan-engine)
3. GPU 加速矩阵:Metal(Mac)、CUDA 12/13(N 卡)、Vulkan 与 ROCm(A 卡)、Intel Arc 全覆盖——变体旗标按硬件选
4. 站在巨人肩上:官方致谢 llama.cpp、Tauri、Scalar——定位是集成者而非重复造轮子
4、本地 API 与构建指南
1337 端口是 Jan 作为"本地推理服务"的第二身份。
# 安装即用(官网或 Releases 下载)
# Windows: jan.exe | macOS: jan.dmg (universal) | Linux: jan.deb / jan.AppImage
# 商店渠道: Microsoft Store / Flathub (ai.jan.Jan)
# 本地 API:安装后在设置中开启本地服务器
# 端点: http://localhost:1337/v1 (OpenAI 兼容)
# 其他应用(如 Cursor、自研脚本)可将其配置为 OpenAI 端点调用本地模型
# 从源码构建
git clone https://github.com/janhq/jan
cd jan
make dev # 全流程:装依赖 + 构建核心 + 启动
# 指定引擎变体(按 GPU 选)
make dev JAN_ENGINE_VARIANT=cuda13 # NVIDIA CUDA 13
make dev JAN_ENGINE_VARIANT=metal # Apple Silicon
make dev JAN_ENGINE_VARIANT=vulkan # 跨厂商 Vulkan
# 其他目标
make build # 生产构建
make test # 测试与 lint
make clean # 清理重来使用要点:
1. 本地 API 的典型玩法:Jan 当模型宿主,Cursor / VS Code / 脚本把 localhost:1337 当 OpenAI 兼容后端——一套模型多方复用
2. Windows 构建须在 Git Bash 里跑 make(配方经 sh 分发,cmd.exe 不行);无需 VS 原生命令行,clang-cl 自寻工具链
3. 硬件规划按模型规模走:8GB 内存是 3B 的及格线,7B 要 16GB,13B 要 32GB;GPU 加速可显著放宽体感
4. 排障三步:查文档排障页 → 带错误日志与系统规格 → Discord 求助频道
5、定位对比:本地 LLM 桌面端三选一
把 Jan 与 LM Studio、Ollama + Open WebUI 放在一张桌上,三种路线清晰起来。
三者对比:
- Jan:开源 ChatGPT 形态产品,本地 + 云端双模式,Tauri 轻量壳,1337 端点可复用(44.5k Star,Apache 2.0)
- LM Studio:闭源免费的本地模型工作台,模型管理与微调体验精细,但核心不开源
- Ollama + Open WebUI:引擎与界面自由组合的事实标准,扩展性最强,但需自行拼装运维
选型建议:
1. 要开箱即用的 ChatGPT 替代、可断网、界面友好 → Jan
2. 要精细的本地模型实验台(量化对比、参数调优)→ LM Studio
3. 要服务器化部署、多用户 Web 界面 → Ollama + Open WebUI
4. 组合玩法:Jan 做日常桌面端,Ollama 在后台当共享推理服务,两边模型库互不干扰
6、总结
Jan 是 janhq 出品的开源 ChatGPT 替代(约 44.5k Star、Apache 2.0、TypeScript + Rust):Tauri 壳 + llama.cpp 引擎的轻量桌面应用,本地模型(Llama / Gemma / Qwen / GPT-oss 等 HF 直下)与云端集成(OpenAI / Anthropic / Mistral / Groq / MiniMax)双模并存,隐私默认全本地;自定义助手、MCP 集成与 localhost:1337 的 OpenAI 兼容本地 API 构成产品三件套;引擎变体覆盖 Metal / CUDA 12 与 13 / Vulkan / ROCm / Intel Arc,构建栈 Node + Yarn + Rust + Make,分发渠道从商店到 AppImage 全覆盖。
适用与边界:它适合想要"装上就像 ChatGPT 一样用、但数据不出本机"的普通用户与隐私敏感场景——产品化程度在开源同类里领先,本地 API 又给了开发者复用余地;530 个 open issue 与活跃的提交频率说明迭代快、问题也不少,生产依赖前看一眼 issue 区;GitHub API 的协议字段标注 Other(README 自述 Apache 2.0),商用前以仓库 LICENSE 文件原文为准;本地跑大模型的硬件门槛是物理规律——模型规模与内存的对应表官方已给足,选型时按自己机器对号入座。

