前言:面对客户信息不能外传、云端AI用不了的困境,这款基于WebGPU的浏览器本地大模型插件给出新解法:模型缓存在本机,断网可用,数据不出电脑。拖入Excel即可离线AI批处理表格,支持断点续跑、防休眠保活,让财务、运营等非技术用户零成本安全用上大模型。
我把一个大模型塞进了浏览器,拔了网线也能用
先想象一个画面。
某公司的财务部,王姐,领导甩给她一份一千多行的客户反馈表,说小王啊,你用AI把情感倾向标一下,正面的负面的分个类,明天早上要。
王姐打开ChatGPT,刚准备把表格贴上去,突然停住了。
等等,这些客户信息,能传到网上的服务器去吗。
传吧,万一哪天被通报一个「违规向外部系统传输业务数据」,饭碗不保。不传吧,一千多行,手标到明年。她最后的选择是打开Excel,一格一格看,看到眼睛发直。

我最近在搞的一个东西,就是想救一救王姐们。
一个Chrome和Edge都能装的浏览器插件,对外就三个卖点,永远免费,断网可用,数据绝对不出你这台电脑。
你听着是不是特别像诈骗。免费,离线,还绝对安全,下一步是不是该让我转账了。
但它还真就是这么回事。技术底座是一个叫 WebLLM 的项目,它能把大模型直接跑在浏览器里,靠的是 WebGPU,一个让网页直接调用你显卡的新标准。模型文件,比如 Qwen2.5-1.5B,大概一个G,第一次联网下载好之后,就缓存在浏览器自己的地盘里。
之后呢,之后就没有之后了。拔掉网线,它照样干活。
数据不出电脑这句话,不是承诺,是架构。你压根没有地方可以上传,所有计算都发生在你自己的显卡上,表格从头到尾就没离开过你的机器。对企业里那些被数据安全条例按在地上摩擦的朋友来说,这五个字比什么百亿参数都有吸引力。
怎么说呢,这种「物理层面的隐私」,比任何隐私协议都让人安心。
来说说用它处理表格是什么体验。
你点一下浏览器右上角的插件图标,弹出来的小窗里只有一个按钮,打开AI批处理工作台。没有第二个按钮,没有设置,没有登录。
点下去,会新开一个全屏标签页,工作台就住在这里面。为什么非要开新标签页,而不是在弹窗里直接干活,这里有个浏览器工程师才懂的辛酸,弹窗这玩意儿,你点一下页面别处它就没了,而后台小进程又没权限碰显卡。只有正经标签页,才能稳稳抓住WebGPU不放。
第一次进去,它会先给你做体检,浏览器版本够不够新,显卡支不支持必需的特性,一样一样查。都过了,屏幕上出现一行特别温柔的文案。
「正在为您初始化本地 AI 大脑(约需几分钟,仅首次需要,之后可断网使用)」
我特别喜欢这句文案。它背后真实发生的事情是下载量化权重,这几个字你扔给财务部的王姐,她当场就会关掉页面。但「初始化本地AI大脑」,听起来像是在给你的电脑装一个脑子,还顺便告诉你,就这一次,以后不用了。
技术可以复杂,但暴露给人的,必须是人话。
然后拖表格进去。xlsx也好csv也好,拖进去瞬间解析,下面给你看前三行长什么样,让你确认没乱码。选一列,比如客户反馈,然后在填空框里写上你想干嘛,判断情感是正面还是负面。就这一句,不用懂什么叫Prompt,不用懂什么叫系统提示词,填空,像填快递单一样。
点开始。

进度条开始爬,已完成145/1000。旁边一个小窗口,AI每处理完一行,结果就像打字机一样滚出来。正面。负面。正面,提到物流慢。你看着它滚,会有一种很朴素的快乐,就是那种看着别人替你干活,还干得挺起劲的快乐。
中途想走,点暂停。回来,点继续,它从断掉的那一行接着来。
好,体验讲完了。接下来是这篇文章真正想聊的部分,为了让这一千行不把浏览器干崩,我在底下跟Chrome打了一场漫长的仗。
第一仗,内存。
一开始想得特别天真,循环嘛,一千行,一行调一次模型,结束。结果跑到几百行,内存曲线就跟心电图停止前一样,拉平,然后页面就没了。。。
去翻WebLLM的源码,本来以为要在每行处理完之后手动清一次缓存,结果发现它的推理流程里有个比较新旧对话的逻辑,批量处理时每行内容都不一样,一比较,不同,引擎就自动把上一轮的缓存清掉了。也就是说我原本准备写的那个手动清理,是个冗余动作,人家框架早就替你想好了。
读源码白捡一个优化,这种感觉太爽了。
第二仗,节奏。浏览器是个很娇气的东西,你让它不间断高强度推理一千次,它就界面假死给你看。所以每处理完一行,强制让主线程睡50毫秒,每5行再多睡200毫秒,给界面留出喘气画进度条的时间。愚钝如我,一开始定的是每次睡300毫秒,后来一算,一千行就是整整5分钟纯空转,什么都没干,就为了睡觉。改。
第三仗,最骚的一仗,保活。
Chrome对后台标签页的态度,大概相当于对二等公民。你把工作台切到别的网页,JS定时器被摁到一秒一次,内存一紧张,它还会直接把你的标签页整个杀掉。。。对,杀掉,连招呼都不打,官方管这个叫「节省内存」。
那怎么让Chrome相信,这个页面是你正在关注的呢。
答案是循环播放一段完全静音的音频。声音是没有的,但Chrome一看,哦,这个页面在放音乐,用户在听歌,那我不能动它。于是节流免了,杀进程也免了。
代价是标签页上会一直挂一个小喇叭图标。用户会纳闷,我没放音乐啊。所以设置里得写一句,这是为了防止大模型休眠。你敢信???一个靠装作在放歌来骗过浏览器的批处理工具,2026年了,我们还在用这种土办法跟它斗智斗勇,好笑,但真的好使。
第四仗,断电。处理到第800行,电脑没电了,或者手滑关了标签页。换以前的方案,这800行就白干了。但现在每一行处理完,都会立刻写进浏览器自带的数据库里,原始数据、进度游标、结果,各存一份。重新打开工作台,它会问你,检测到未完成的任务,已完成800行,是否继续。
游标指向801,接着跑。
为了防你手滑关标签页,还加了个拦截,任务进行中你点关闭,它会弹框问,确定要离开吗。这个弹框在扩展页面里到底生不生效,我不放心,专门去翻了Chromium的源码,在UnloadController那个文件里确认了,支持。为了一个确认框翻浏览器源码,没办法,我是吃这碗饭的呀。
哦对,还有显存这道坎。WebGPU有个规矩,单次申请的内存不能超过2GB左右,你显卡再豪华也不行,这是API层面的安全线。所以碰到6个G的模型,不能一口吞,得切片,把模型权重切成一块块1.5G左右的小份,一块一块装进显存池。就像搬家时把一头大象分箱打包,你不可能让搬运工整只扛上楼。
聊到这,我想起圈子里一句老话。
There is no cloud, it’s just someone else’s computer.
世上本没有云,有的只是别人的电脑。这话是段子,也是事实。这十年我们把所有东西都往云上搬,聊天记录、照片、表格,换来的是方便,也换来一种隐隐的不安,我的东西,凭什么住在别人的机房里。
坦率的讲,我不是说云端AI不好,我自己每天也在用Claude,用得可香了。只是吧,总有那么一些场景,数据是真的不能出门,用户是真的不懂技术,预算是真的为零。这三条同时成立的时刻,市面上99%的AI方案都失效了。
而这个插件有意思的地方在于,它是一个反向的动作。不是把你的数据送出去换智能,而是把智能请进来,请到你自己的显卡上,让它在你们家干活,干完就走,什么都不带走。
计算这个东西,六十年前住在机房里,大家排队用终端连它。后来PC革命把它还给了每个人,再后来云又把它收了回去。现在,WebGPU和WebLLM们正在做第三次搬运,把智能塞回每个人的浏览器里。
方向对不对,我不知道。但王姐们值得拥有一个不用申请、不用审批、不用把客户信息拱手送人的AI。
这大概就是我熬夜跟Chrome打架的全部意义。
磨平一些信息差,哪怕只磨平一点点。

/ 注意,本项目仅在 SyncMein 的500人小群分享。
/ 谢谢你看完了我的文章,我们下次再见吧。
/ 作者:明察
/ 投稿或爆料,请联系邮箱:mingcha@gqmg.com














暂无评论内容