网易首页 > 网易号 > 正文 申请入驻

Chrome 本地 AI 接入 Vercel AI SDK:官方没写的三个坑,实测帮你踩平

0
分享至

Google 官方关于 Chrome Built-in AI 与 Vercel AI SDK 的文档写了一堆,但看完会发现,官方范例只教你印出 Hello World,很多坑都没有交代。模型还没下载完怎么办?浏览器不支持时怎么办?Tool Calling 的接口要怎么安全接上?这里附上在 Chrome 上的一些踩坑小笔记,帮你在前端加上本地 LLM 时少走弯路。

官方范例只讲 API 长什么样


Google 官方有两篇基础教学,繁体中文版都写得清楚:Prompt API 搭配 Vercel AI SDK、使用 AI Elements 打造 UI(含 demo)。看完大概可以了解,可以用 browserAI() 把 model 丢进 generateText、streamText、Output.object,大概 30 行就能跑。但官方范例大多着重在“API 长什么样”,实际工程里会撞上的问题,反而没怎么提。

@browser-ai/core 是当前主要工具

@browser-ai/core 是 Chrome Built-in AI 接到 AI SDK 的 provider,特点是同时支持 AI SDK v5-7,且跨三个本地引擎(Prompt API、Transformers.js、WebLLM)共用同一套 API,目前在“浏览器本地推理”这个领域已经是最主要的工具。作者是 jakobhoeg/browser-ai 的 Jakob Hoeg Mørk,2025 年开始维护,进过 Chrome for Developers 的赞助名单,现在挂在 Vercel OSS Program 底下。

基本用法很直接:

  • 从 ai 导入 generateText
  • 从 @browser-ai/core 导入 browserAI
  • 调用 generateText,model 传 browserAI(),prompt 写“Invent a new holiday.”

当“模型还没下载”的状况发生时,availability() 会回 unavailable(浏览器不支持)或 downloadable(可以下载)。配合 createSessionWithProgress 就能拿到下载百分比,这对前端无论开发什么样的应用,都是给使用者第一层的 UX。大部分首次下载要吞好几 GB 的等待时间,没有进度反馈,用户只会以为页面卡死。

next-hybrid 比官方范例完整太多

在 jakobhoeg/browser-ai 同一个 repo 底下的 examples/next-hybrid 也满值得一看。它比官方范例完整太多,而且目前都是完整的可 demo 范例,建议可以直接当 template 复制。它也像之前测试 transformer/webgpu 一样,同时接了三種引擎(browser / transformers-js / web-llm),并在 UI 上做了下拉菜单可以即时切换,让使用者可以用同一份 streamText 代码,在本地模型、WebGPU 模型、云端模型之间切换整合或测试。

有两个实作细节满值得整合前端应用时参考:

  1. 自订 ChatTransport 接 useChat:用 ClientSideChatTransport 把 React 的 useChat 绑到本地模型,让整个聊天流程跑在客户端,连 server 都不用起。万一有一天你不想用本地模型了,换回 DefaultChatTransport 就切到 server API,前端代码一行不用改。
  2. tool calling 的完整流程:它示范了 webSearch(用 Exa API)和 getCurrentTime 两个 tool,加上 toolApproval 的确认 UI。如果模型想动用外部 API 前,会先跳出一个确认框让使用者同意确认。这对安全敏感的医疗或金融企业场景,可以配合记录一些符合法规面需求的 Audit Log。

domainstack.io 是最接近生产的案例

jakejarvis/domainstack.io 是目前找得到最接近 production 的案例,而且是少数用 @browser-ai/core 的第三方专案。它做的是网域名称查询工具,虽然串接 AI 只是其中一小部分功能,但架构完整到可以拿来当作范本。

跟前面提到的场域类似,核心设计是三种模式自动切换:local(本机)、cloud(云端)、auto(本机不可用就 fallback)。useBrowserAI hook 会先查 availability(),如果浏览器不支持就默默切到云端 API,对使用者完全无感。另外它示范了让本地模型呼叫 tRPC 的 tool(WHOIS、DNS、SSL 查询),也证明本地 LLM 做 agentic workflow 是可行的,不是只能聊天。

实测踩坑:三个官方没写清楚的地方

第一,API 只能在安全环境(Secure Context)运行。如果你在 about:blank 测试,window.LanguageModel 会直接回传 undefined。改到 http://localhost 或 HTTPS 环境下,API 才会正常。

第二,模型下载必须由“真实使用者互动”触发。直接在代码初始化呼叫 LanguageModel.create() 会直接报错:NotAllowedError: Requires a user gesture。这代表不能在页面载入时自动背景下载,必须由使用者点击按钮等主动触发。因此,如果你用 Headless 测试,必须透过 CDP(Chrome DevTools Protocol)发送 Input.dispatchMouseEvent 来模拟真实的鼠标点击事件,才可以正常执行。

第三,硬件有硬性门槛。在 chrome://on-device-internals 的 Broker State 系统纪录中,明确标示需要 20480 MiB required。测试时我的 MBA 原本只剩 4.7GB,模型下载停住,直到清出 23GB 空间后,下载状态才顺利转绿开始执行。

总结与建议路线

Chrome Built-in AI 的核心优势不在于顶尖的算力或模型表现,而在于零 API Key 成本、零代管费用,以及资料绝对不出装置的隐私安全。再搭配 Vercel AI SDK 后,本地模型与云端 LLM 的切换只需要一行 Provider 设定就可以搞定。

如果你正准备试试,建议路线如下:

  • 快速验证:用 browserAI() + generateText,30 行内快速跑通。
  • 完整架构学习:直接 Fork next-hybrid 当专案骨架。
  • 生产环境:参考 domainstack.io 的自动 Fallback 策略与 Tool Calling 设计。

目前整个浏览器本地 AI 生态还处于早期阶段,大部分开发者都还在摸索。趁现在掌握这些工具与解决方案,就能为你的前端专案抢先整合本地 AI 的优势。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
孙宇晨你还是吃蕉吧,曝床笫之私太low了

孙宇晨你还是吃蕉吧,曝床笫之私太low了

不主流讲话
2026-08-28 16:12:43
33岁周冬雨整容失败了?脸垮僵硬不敢认似郑秀文,近照变40岁大妈

33岁周冬雨整容失败了?脸垮僵硬不敢认似郑秀文,近照变40岁大妈

八星人
2026-08-27 14:28:20
我读《我的女友景甜》:玩弄女人之后,玩弄文字

我读《我的女友景甜》:玩弄女人之后,玩弄文字

呦呦鹿鸣
2026-08-28 22:31:40
“不如炒盘鸡蛋!”山东家长晒4个孩子晚餐,蛋白质趋近于0!

“不如炒盘鸡蛋!”山东家长晒4个孩子晚餐,蛋白质趋近于0!

林林先生
2026-08-27 19:14:35
“看见你就恶心!”男生化全妆军训被教官骂恶心,哭诉后晒照!

“看见你就恶心!”男生化全妆军训被教官骂恶心,哭诉后晒照!

林林先生
2026-08-28 09:00:08
妻子和19岁女儿在家,被同一男人骗了财和色,2015年丈夫后悔外出打工

妻子和19岁女儿在家,被同一男人骗了财和色,2015年丈夫后悔外出打工

汉史趣闻
2026-08-28 13:37:37
深圳代市长第一站调研,释放新信号!

深圳代市长第一站调研,释放新信号!

深圳梦
2026-08-28 22:53:40
AI x 影视:被重建的剧组和被解放的创作者

AI x 影视:被重建的剧组和被解放的创作者

定焦One
2026-08-28 20:53:17
我正陪省纪委书记吃饭,妻子被单位领导免职,他放下筷子:哪个局

我正陪省纪委书记吃饭,妻子被单位领导免职,他放下筷子:哪个局

千秋文化
2026-08-26 20:43:05
在俄威胁报复背景下,英媒公布全国军事基地分布图

在俄威胁报复背景下,英媒公布全国军事基地分布图

参考消息
2026-08-28 20:45:11
男生考上北大研究生欲迁户口被卡,只因通知书上缺一枚能证明北大资格的印章?上海教育考试院和北大研究生院回应

男生考上北大研究生欲迁户口被卡,只因通知书上缺一枚能证明北大资格的印章?上海教育考试院和北大研究生院回应

极目新闻
2026-08-28 20:26:22
中国能造出会功夫的机器人,但没法让它们干工厂的活儿

中国能造出会功夫的机器人,但没法让它们干工厂的活儿

风向观察
2026-08-28 12:57:14
太敢写了,讲透1976年的惊天转折!

太敢写了,讲透1976年的惊天转折!

尚曦读史
2026-08-28 07:06:59
2-1!利雅得胜利逆转+4战全胜领跑 C罗失空门后制胜 斩生涯第978球

2-1!利雅得胜利逆转+4战全胜领跑 C罗失空门后制胜 斩生涯第978球

我爱英超
2026-08-29 04:11:01
“想摸哪里摸哪里”图片疯传,张小泉紧急辟谣

“想摸哪里摸哪里”图片疯传,张小泉紧急辟谣

南方都市报
2026-08-28 15:29:46
大瓜!圈内大佬曝景甜曾想演《青簪行》女一,神秘男子让他随便定片酬,角色最后被杨紫拿下

大瓜!圈内大佬曝景甜曾想演《青簪行》女一,神秘男子让他随便定片酬,角色最后被杨紫拿下

叨唠
2026-08-29 00:12:54
16岁少年打游戏遭遇裸聊邀约,“有认识的女生拉进来给1000元,长得好看的给2000元”

16岁少年打游戏遭遇裸聊邀约,“有认识的女生拉进来给1000元,长得好看的给2000元”

扬子晚报
2026-08-29 07:03:40
景甜也是高段位大佬

景甜也是高段位大佬

贩财局
2026-08-28 13:40:30
美国媒体集体沉默!老外质疑殷玉珍造假,年入百万的4大收入构成

美国媒体集体沉默!老外质疑殷玉珍造假,年入百万的4大收入构成

经纬戎韬
2026-08-28 03:15:19
蒋超良受贿超7.46亿被判死缓并终身监禁:检举揭发他人有重大立功表现

蒋超良受贿超7.46亿被判死缓并终身监禁:检举揭发他人有重大立功表现

界面新闻
2026-08-28 17:21:37
2026-08-29 10:40:49
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
215文章数 116关注度
往期回顾 全部

科技要闻

美团扭亏为盈后,外卖大战结束了吗?

头条要闻

父亲自驾上万公里送娃上学:女儿去黑龙江 儿子去新疆

头条要闻

父亲自驾上万公里送娃上学:女儿去黑龙江 儿子去新疆

体育要闻

曼城花1个亿,买下了摩洛哥的“国民女婿”

娱乐要闻

景甜分手风波,网友:难怪张继科抽身

财经要闻

刑自强:AI投资下半场中国蓄势待发

汽车要闻

东风日产NX8“喜柿橙意”限定色正式上市

态度原创

教育
亲子
游戏
时尚
数码

教育要闻

4天变3天 8级赋分改5级,山东高考迎来新一轮优化调整,应届生速看

亲子要闻

现在的小学生砍价这么厉害了吗

《神鬼寓言4》延期反而松了口气:原因大家懂得都懂

今日热点:景甜回应;陈绮贞拿回歌曲版权……

数码要闻

7月扫地机线上销量同比增长3.1% TOP4品牌合计份额74.7%

无障碍浏览 进入关怀版