Osaurus 来了:一个把本地和云端 AI 都塞进 Mac 的桌面框架
5 月 15 日,Dinoki Labs 团队发布了 Osaurus,一个面向 macOS 和 Apple Silicon 的原生 AI 桌面框架。它做的事情并不复杂,但思路有点意思:把本地推理引擎和云端模型 API 装进同一个壳子里,让用户的对话记忆、文件、工具调用全部留在自己机器上,模型本身可以是本地的 Llama,也可以是远端的 GPT 或 Claude。
说白了,这是给那些既想用上 GPT-4 级别智能、又不想把所有聊天记录交给云服务的人准备的。过去两年这个赛道并不冷清,Ollama、LM Studio、Jan、GPT4All 各有各的拥趸,但要么是纯本地、要么是单纯的云端客户端,把两边糅合得比较自然的并不多。Osaurus 的切入点是 Mac 用户,而且是那批已经掏钱买了 M 系列芯片、内存拉到 32G 甚至 64G 的开发者和重度用户。

技术栈:MLX 打底,OpenAI 兼容协议串起一切
Osaurus 的本地推理基于 MLX——苹果自家去年推出的机器学习框架。这个选择几乎是必然的。MLX 针对 Apple Silicon 的统一内存架构做了深度优化,相比 llama.cpp 在 Metal 上的实现,MLX 在长上下文和大模型推理时的吞吐表现更稳,尤其是 70B 级别模型在 M3 Max/M4 Max 上的 token/s 不再是 PPT 数字。
在模型支持上,目前覆盖的本地模型包括:
- Llama 3.x 系列
- Qwen 2.5 / Qwen3 系列
- Gemma 2/3
- Mistral 及其衍生版
- DeepSeek 蒸馏版本
远端连接方面,Osaurus 把自己包装成了一个 OpenAI 兼容的本地服务器。也就是说,它对外暴露一个 http://localhost:port/v1/chat/completions 这样的端点,背后可以路由到本地 MLX,也可以转发到 OpenAI、Ollama、LM Studio 或者任何兼容 OpenAI 协议的服务。这个设计的好处很明显:你写好的 LangChain、LlamaIndex、Continue.dev 那一套代码完全不用改,把 base_url 指过来就行。
这种 OpenAI 兼容协议已经成了事实标准,从 vLLM 到 SGLang 到各家聚合平台无一例外,Osaurus 走这条路省了自己也省了用户。
为什么要做混合?纯本地不香吗
香,但有边界。
本地模型的天花板是硬件。一台 M4 Pro 36G 内存的 MacBook,能流畅跑的极限大概是 Qwen2.5-32B 的 4-bit 量化版本,对话还行,写代码勉强够用,但要做复杂的 agent 流程、长文档分析、需要强逻辑的任务时,跟 Claude 3.5 Sonnet 或 GPT-4o 差距还是明显的。况且本地推理一开起来,风扇响、续航掉、其他活儿都得让路。
所以 Osaurus 的产品定位实际上是"日常用本地,关键活儿调云端"。它把模型选择做成了一个像选输入法那样的东西——同一个对话窗口里,简单问题让本地 7B 处理,复杂任务一键切到 GPT-5 或 Claude 4。这种混合策略其实 Cursor、Zed 这些编辑器早就在做了,只不过它们是面向编程场景,Osaurus 把它推到了通用对话和工具调用层面。
更关键的是数据归属。无论你切换哪个模型,对话历史、向量索引、本地知识库、MCP 工具配置这些"上下文资产"全部存在本地。这意味着你换模型不丢记忆,也不用担心某天某家 API 提供商把你的聊天记录拿去训练。
工具调用和 MCP 支持
Osaurus 内置了对 MCP(Model Context Protocol)的支持,这块挺关键。MCP 是 Anthropic 去年底推出的工具协议,到今年已经被 OpenAI、Google 跟进,俨然成了 agent 时代的 USB-C。Osaurus 把 MCP server 的接入做成了配置文件级别——丢一个 JSON 进去,文件系统、数据库、搜索引擎这些工具就接上了。
比如要让本地的 Llama 3 能读你的 Obsidian 笔记,配置大致是这样:
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Obsidian"]
}
}
}
配好之后,无论你用本地还是云端模型,都能调用同一套工具。这就是"工具留在本地"的实际意义——你不需要给每个云服务单独授权访问你的文件。
跟 Ollama、LM Studio 比,差异在哪
这是个绕不开的问题。Ollama 在命令行用户里几乎就是默认选项,LM Studio 占据了图形界面的大头,Jan 走的是开源全栈路线。Osaurus 的差异化主要在三点:
第一,原生 Mac 应用。不是 Electron 套壳,是 Swift 写的,启动快、内存占用低、跟系统集成度高。这一点在 macOS 用户那里是加分项,毕竟用 M 芯片的人对"原生"二字有执念。
第二,云端模型一等公民。Ollama 想接云端要靠第三方代理,LM Studio 自己在做但还比较初步。Osaurus 是一开始就把云端 API 当核心功能而不是补丁来设计的。
第三,MLX 优先。Ollama 主推 llama.cpp,MLX 支持是社区在打补丁。Osaurus 押注 MLX,意味着它在 Apple Silicon 上的性能上限更高,但代价是模型生态依赖 MLX 社区的转换速度。这是把双刃剑。

几个值得关注的细节
模型路由策略。Osaurus 提供了基于规则的路由,你可以设定"代码相关问题走云端 GPT,闲聊走本地 Qwen"这种规则。这个功能听起来简单,做好了能省不少 API 费用。当然路由判断本身也是个小模型在跑,做得不好会变成新的延迟来源。
OpenAI 兼容服务器模式。Osaurus 可以单独跑一个后台服务,你的其他应用(Cursor、Zed、Raycast AI 扩展、自己写的脚本)都能通过 localhost 调用它,背后由 Osaurus 决定用哪个模型。这等于把它变成了你的本地 AI 网关。
模型管理。下载、量化、版本管理这些活,Osaurus 都做了 GUI。对于不愿意碰命令行的人,比 Ollama pull 那一套友好得多。
隐私边界。这个要说清楚——只有调用本地模型时才是真正的离线,调用云端 API 时数据当然还是会出本地。Osaurus 的承诺是"上下文管理在本地",而不是"所有数据不出本地"。这个区别用户最好搞明白。
一些没解决的问题
第一个是 Apple Silicon only。Intel Mac 用户彻底没戏,Windows 和 Linux 用户更不用想。这个定位没毛病,但意味着它不可能像 Ollama 那样成为跨平台的事实标准,天花板是 Mac 用户基数。
第二个是商业模式。目前 Osaurus 是免费的,但持续维护一个原生 Mac 应用、跟进各家 API 变化、适配新模型,工作量不小。Dinoki Labs 后续会怎么走,是订阅、是 Pro 版、还是被收购,现在还不好说。
第三个是云端聚合的体验。如果你同时配了 OpenAI、Anthropic、Google 三家 API,意味着要管三套 key、三套额度、三套限流策略。这个时候用一个 AI API 聚合层会省事很多——比如 OpenAI Hub 这类平台已经把 GPT、Claude、Gemini、DeepSeek 都收拢到了一个 OpenAI 兼容端点下,国内还能直连,配进 Osaurus 的远端服务里就是一行 base_url 的事,不用再在多家账户之间切换。
写在最后
Osaurus 不是一个革命性的产品,它做的是一件"应该有人做但之前没人做好"的事——把混合 AI 体验在 Mac 上做得足够顺滑。MLX 给了它性能底气,OpenAI 兼容协议给了它生态接入,MCP 给了它工具能力,本地优先的设计给了它隐私故事。
对于已经在用 Ollama 的开发者,迁移成本不高,值得装一个看看 MLX 的实际表现。对于一直想用本地模型但被命令行劝退的 Mac 用户,这可能是迄今为止最友好的入口。对于做 AI 应用的团队,把 Osaurus 当作一个本地化部署的参考实现也挺合适。
本地与云端的边界正在变得越来越模糊,而 Osaurus 押注的是:模型可以漂在云上,但用户的数字生活应该长在自己机器里。这个判断对不对,明年这个时候再回头看会更清楚。
参考来源
- Osaurus GitHub 仓库 - Dinoki Labs 团队的项目主页,包含安装说明、模型支持列表与 MLX 集成细节
- GitHubDaily 项目收录 - 国内开发者社区对 Osaurus 等本地 AI 工具的整理与对比