Jan:一款支持 100% 本地运行的开源 LLM 客户端
简介
在人工智能大模型应用日益普及的今天,数据隐私与离线运行需求愈发重要。Jan 是一款开源的 ChatGPT 替代品,旨在让用户能够在自己的计算机上 100% 离线运行大型语言模型(LLM)。该项目目前在 GitHub 上已获得超过 6K Star,因其跨平台支持和强大的本地化能力而受到开发者关注。

Jan 基于 Llama.cpp 构建,支持从个人 PC 到多 GPU 集群的各种环境。它不仅仅是一个聊天客户端,更是一个本地优先的 AI 原生框架,允许用户构建自定义的 AI 应用。
核心特性
1. 广泛的环境支持
Jan 支持多种操作系统和硬件架构,确保在不同设备上都能流畅运行:
- Nvidia GPU:提供快速推理加速。
- Apple M 系列芯片:针对 Apple Silicon 优化,性能优异。
- 苹果英特尔架构:兼容旧款 Mac 设备。
- Linux Debian:支持主流 Linux 发行版。
- Windows x64:覆盖最广泛的桌面用户群体。
2. 本地数据存储与安全
所有对话历史、模型配置及用户数据均存储在本地,不存在云端泄露风险。用户可以随时导出和迁移数据,完全掌握数据主权。
3. 本地 API Server
Jan 内置了一个兼容 OpenAI API 格式的本地服务器。这使得其他应用程序可以直接调用 Jan 提供的模型服务,无需修改代码即可实现私有化部署。
4. 扩展性与架构
Jan 遵循 Clean Architecture 设计原则,支持插件扩展。开发者可以自行开发功能模块,满足特定场景需求。它支持 GGUF 和 TensorRT 等多种开源模型格式。
系统要求
为了获得最佳的运行体验,建议参考以下硬件配置:
- CPU:支持 AVX2 指令集的现代处理器。
- 内存 (RAM):至少 8GB,推荐 16GB 或更高以加载较大参数量的模型。
- 显存 (VRAM):若使用 GPU 加速,建议 Nvidia 显卡拥有 4GB 以上显存。
- 存储:根据模型大小预留足够空间,通常一个 7B 参数模型占用约 4-8GB 磁盘空间。
安装指南
Jan 提供了两种主要的安装方式:安装包安装和源码编译安装。
方法一:安装包安装(推荐)
对于大多数用户,直接下载预编译的二进制包是最便捷的方式。
- 访问 Jan 官方发布页面。
- 根据你的操作系统选择对应的安装包(如 macOS 的
.dmg或 Windows 的.exe)。 - 下载完成后,双击运行安装程序,按照向导完成安装。
- 启动应用后,即可进入主界面。
方法二:源码安装
如果你需要参与开发或测试最新功能,可以通过源码进行构建。此方法需要一定的开发环境配置经验。
前置条件
确保你的环境中已安装以下工具:
- Node.js 版本:20.0.0 及以上
- Yarn 版本:1.22.0 及以上
构建步骤
-
克隆仓库
git clone https://github.com/janhq/jan.git cd jan -
切换分支 根据需要切换到特定的稳定版本分支:
git checkout DESIRED_BRANCH -
安装依赖 使用 Yarn 安装项目所需的依赖包:
yarn install -
构建核心模块 编译项目的核心部分:
yarn build:core -
打包插件与 UI 构建基础插件和用户界面:
yarn build:plugins yarn build:uikit -
启动开发模式 运行开发服务器进行测试:
yarn dev
使用教程
1. 模型管理
Jan 内置了模型 Hub,用户可以直接在应用内搜索并下载开源模型。
- 模型格式:主要支持 GGUF 格式,这是目前本地运行 LLM 的主流格式,兼容性极佳。
- 推荐模型:初学者可以从 Mistral 7B 或 Llama 3 等热门模型开始尝试。
- 下载流程:点击左侧边栏的"Models"图标,浏览可用模型列表,点击"Download"即可自动拉取至本地。
2. 会话管理
在 Jan 中,"Thread"相当于一次独立的对话会话。
- 新建会话:在右侧区域点击"New Thread"按钮,即可开始新的对话。
- 预设参数:每个会话都可以配置不同的系统提示词(System Prompt)、温度(Temperature)和最大生成长度。
- 模型切换:支持在同一个会话中动态切换正在使用的模型,方便对比不同模型的效果。
3. 高级编辑
Jan 提供了灵活的 JSON 编辑功能,适合高级用户调试。
- 点击会话旁边的三个点菜单。
- 选择"Edit as JSON"。
- 直接在 JSON 视图中修改对话内容、元数据或配置参数。
4. API 服务器集成
Jan 的 API 服务器功能是其区别于普通聊天软件的关键特性。
- 启用方式:在设置中找到"API Server"选项并开启。
- 默认端口:通常为 1337。
- 兼容性:完全兼容 OpenAI API 标准接口。
使用示例:
假设你启用了 API 服务,可以使用 curl 命令进行测试:
curl http://localhost:1337/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "mistral",
"messages": [{"role": "user", "content": "你好"}]
}'
这使得你可以将 Jan 作为后端服务集成到你的 Python 脚本、Web 应用或其他自动化流程中。
常见问题与排查
1. 模型加载失败
如果模型无法加载,请检查以下几点:
- 模型文件是否完整下载。
- 磁盘空间是否充足。
- 文件格式是否为支持的 GGUF 格式。
2. 运行速度慢
- 确认是否开启了 GPU 加速(在设置中查看)。
- 检查 CPU 是否支持 AVX2 指令集。
- 尝试减小模型的量化等级(如从 Q4_K_M 改为 Q8_0 可能会变慢但精度更高,反之亦然)。
3. 内存溢出
- 关闭不必要的后台程序释放内存。
- 选择参数量较小的模型(如 3B 或 7B 版本)。
- 增加物理内存或使用 Swap 分区。
总结
Jan 为希望在不依赖云服务的条件下使用大模型的用户提供了一个优秀的解决方案。通过其跨平台支持、本地数据安全和开放的 API 接口,Jan 不仅是一个聊天工具,更是构建私有化 AI 基础设施的理想起点。无论是个人开发者还是企业用户,都可以通过 Jan 探索本地大模型的无限可能。
