browser-ai
统一封装 Chrome/Edge 内置 AI、WebLLM、Transformers.js 三种浏览
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
统一封装 Chrome/Edge 内置 AI、WebLLM、Transformers.js 三种浏览
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你开发了一款网页应用,用户打开浏览器就能直接和 AI 对话——不需要调用云端 API、不需要等待服务器响应、甚至不需要联网。模型就运行在用户本地的浏览器里,数据永不离开用户的设备。这不是科幻,这是 browser-ai 正在实现的事。
让 AI 模型跑在浏览器里,这条路业界探索了将近五年。2019 年,TensorFlow.js 开启了第一波浪潮,但它只支持相对简单的模型,LLM?想都别想。2023 年,Transformers.js 和 WebLLM 相继问世,WebGPU 成为关键推手——终于可以在浏览器里跑参数量级的模型了。但问题来了:这些底层库的 API 各不相同,切换模型就像换轮胎还要自己造扳手。
browser-ai 的出现就是为了解决这个问题。它不是又一个推理引擎,而是一个统一封装层:用同一套接口,对接 Chrome/Edge 内置 AI、WebLLM、HuggingFace Transformers.js 三种完全不同的后端。对开发者而言,换模型只是改一行配置的事。
browser-ai 分为三个独立 npm 包:
@browser-ai/core:对接 Chrome/Edge 内置 Gemini Nano。当用户的 Chrome/Edge 开启了 Experimental AI 功能,应用无需下载任何模型,直接调用浏览器自带的推理能力。响应最快,但模型能力受限于浏览器内置版本。
@browser-ai/web-llm:对接 WebLLM,可在浏览器内运行 Llama、Qwen、Mistral 等开源大模型(如 Llama-3.2-3B)。首次使用需要下载模型文件到缓存,之后离线可用。模型完全本地,隐私性最强。
@browser-ai/transformers-js:对接 HuggingFace Transformers.js,支持文本分类、翻译、问答等多种任务模型,覆盖面最广,生态最丰富。
三者共享统一的 Provider 接口,底层均桥接到 Vercel AI SDK(ai 包),这意味着你的应用可以无缝使用 AI SDK 的流式输出(streamText)、工具调用(tool calling)等高级功能。
项目采用 Turborepo 管理 monorepo,目录结构清晰:
packages/vercel/
├── core/ # Chrome/Edge 内置 AI provider (@browser-ai/core v2.1.13)
├── web-llm/ # WebLLM provider (@browser-ai/web-llm v2.1.8)
├── transformers-js/ # Transformers.js provider (@browser-ai/transformers-js v2.2.2)
└── shared/ # 共享工具函数 (@browser-ai/shared)
所有包均以 @ai-sdk/provider 为 peer dependency,保证与 AI SDK 的版本兼容性。代码量适中(TypeScript 单仓库),结构适合作为 SDK 二次开发的基础。
以 WebLLM 为例,接入只需要:
import { streamText } from 'ai';
import { webLLM } from '@browser-ai/web-llm';
const result = streamText({
model: webLLM('Llama-3.2-3B-Instruct-q4f16_1-MLC'),
prompt: 'Invent a new holiday and describe its traditions.',
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk);
}
开发者无需关心 WebGPU 初始化、模型加载进度、缓存策略,browser-ai 全部封装好了。这也是它受到好评的核心原因:把复杂性藏起来,把简单留给用户。
图1:browser-ai npm 包展示页,展示了三个子包的下载量
browser-ai 最具变革性的意义,在于隐私。当模型在浏览器里跑,用户的输入数据永远不会发送到任何服务器。这意味着:医疗记录可以交给 AI 处理,法律咨询不需要第三方平台,学生的作业不会被拿去训练模型。
当然这也有代价:模型文件需要下载(Llama-3.2-3B 约 2GB),首次加载耗时较长;浏览器 WebGPU 支持尚不完整,部分老设备无法使用。
browser-ai 的出现代表了一个趋势:前端 AI 基础设施正在走向成熟。Vercel AI SDK 已经成为前端集成 AI 的标准,而 browser-ai 让这套标准延伸到了浏览器端。
未来,随着 Chrome/Edge 内置模型能力增强、WebGPU 覆盖提升,browser-ai 这类工具的价值会越来越大。它正在做的事情,本质上是把 AI 从服务器上的黑箱变成用户设备上的透明工具。
如果你正在构建需要 AI 能力的前端应用,且对数据隐私有要求,browser-ai 值得放进你的技术选型清单。