Jan 是一款开源的本地 AI 客户端,支持在个人电脑上离线运行大语言模型。它兼顾隐私保护与云端集成,为开发者提供兼容 OpenAI 的本地 API 及自定义助手功能,适用于注重数据安全的本地化 AI 应用场景。
Project story
Jan 是一个开源的 ChatGPT 替代方案,旨在将开源人工智能的最佳实践融入易于使用的产品中。该项目由 Jan 团队维护,目前在 GitHub 上拥有约 44275 颗 Star,显示出较高的社区关注度。从仓库的提交活跃度、贡献者数量以及最近一次提交的时间来看,该项目处于持续维护和迭代的状态。Jan 的核心愿景是让用户能够完全控制并保护隐私地下载和运行大型语言模型(LLM)。
在使用 Jan 之前,开发者或普通用户若希望在本地运行大语言模型,往往面临复杂的配置过程、隐私泄露风险以及对云服务的过度依赖。许多现有工具要么缺乏图形界面,要么无法同时兼顾本地离线运行与云端模型的灵活切换。Jan 解决了这一痛点,提供了一个统一的桌面应用程序,让用户无需深入底层技术细节即可管理本地模型。它强调了“隐私优先”的原则,确保用户在需要时所有数据和处理过程均在本地完成,避免了敏感信息上传至第三方服务器的风险。
Jan 提供了多项核心功能以满足不同用户的需求。首先是本地 AI 模型的支持,用户可以直接从 HuggingFace 下载并运行 Llama、Gemma、Qwen、GPT-oss 等多种开源大语言模型。其次是云端集成能力,除了本地运行,Jan 还允许用户连接至 OpenAI 的 GPT 模型、Anthropic 的 Claude 模型,以及 Mistral、Groq、MiniMax 等其他云服务提供商的模型,实现了本地与云端的无缝切换。
此外,Jan 支持创建自定义助手,用户可以根据特定任务需求配置专门的 AI 助手。对于开发者而言,Jan 提供了一个与 OpenAI 兼容的 API,本地服务器运行在 localhost:1337 端口,这使得其他应用程序可以轻松地与 Jan 进行集成和交互。Jan 还集成了模型上下文协议(MCP),增强了代理能力。最后,其隐私优先的设计确保了当用户选择本地模式时,所有操作均在本地环境中执行。
Jan 主要使用 TypeScript 编写,这表明其前端逻辑和部分后端服务可能基于 Node.js 生态。在桌面应用框架方面,Jan 采用了 Tauri,这是一个使用 Rust 构建轻量级、高性能桌面应用的框架。这种架构选择使得 Jan 能够在保持较小体积的同时,提供接近原生应用的性能。底层推理引擎依赖于 Llama.cpp,这是目前最流行的本地 LLM 推理库之一,确保了模型运行的效率和兼容性。项目还使用了 Scalar 等开源组件。整体架构设计兼顾了跨平台兼容性和运行效率。
Jan 支持 Windows、macOS 和 Linux 三大主流操作系统。Windows 用户需要版本 10 及以上,并建议具备 NVIDIA、AMD 或 Intel Arc GPU 支持以获得更好体验。macOS 用户需要 13.6 及以上版本,内存要求根据模型大小而定:运行 3B 模型需 8GB RAM,7B 模型需 16GB RAM,13B 模型需 32GB RAM。Linux 用户可以使用 deb 包或 AppImage 格式安装,大多数发行版均可运行,并支持 GPU 加速。
对于希望从源码构建的开发者,环境要求更为严格:需要 Node.js ≥ 20.0.0、Yarn ≥ 4.5.3、Make ≥ 3.81 以及 Rust 环境。macOS Apple Silicon 用户还需要安装 MetalToolchain。可以通过执行 make dev 命令一键完成依赖安装、核心组件构建及应用启动,也可以使用 yarn install、yarn build 和 yarn dev 手动执行。
Jan 非常适合注重数据隐私的个人用户、研究人员以及需要在本地环境中测试和部署 LLM 的开发团队。它适用于那些希望在不依赖互联网连接的情况下使用 AI 能力的场景,或者需要将 AI 集成到内部工具中且要求数据不出内网的企业环境。
然而,Jan 也存在一定的局限性。本地运行大模型对硬件资源有较高要求,特别是内存和 GPU 性能,低配设备可能无法流畅运行较大参数的模型。虽然支持云端集成,但这部分功能依然依赖外部服务的稳定性和计费策略。此外,尽管提供了 OpenAI 兼容 API,但在处理极高并发或复杂的企业级工作流时,可能需要额外的中间件或定制开发。对于 Linux Arm64 架构的支持,目前官方文档指向特定的 Issue 讨论,表明该平台的安装配置可能相对复杂,不如其他平台那样开箱即用。