news 2026/10/12 5:08:34

浏览器里的本地AI助手:Page Assist插件原理、配置与页面RAG实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
浏览器里的本地AI助手:Page Assist插件原理、配置与页面RAG实战

简介:Page Assist 是一款面向开发者的开源浏览器扩展,可在 Chrome 中直接调用本地 AI 模型,无需切换窗口即可完成模型交互与测试。整个压缩包仅 5.97MB,包含 94 个文件,以 JS 逻辑脚本、HTML 页面、JSON 配置和大量 ttf/woff/woff2 字体文件为主,另有 wasm、css、gz 等格式,分别承担扩展逻辑、界面样式、数学公式渲染与 OCR 识别等功能。提供 1.4.5 完整版扩展,解压后可直接加载使用;目录模块清晰,后台逻辑、内容脚本与选项页分工明确,对想学习浏览器扩展结构或定制本地 AI 工具的人很有帮助,其中还包含对接 Ollama 与 Hugging Face 的拉取脚本,便于理解本地模型接入方式。内置多语言 messages 文件和 Tesseract OCR 组件,既支持多语言界面,又能在浏览器中完成图片文字识别,进一步提升了插件的可用性与参考价值。已有 580 人浏览学习,适合开发者、AI 爱好者及扩展程序研究者作为入门或二次开发的基础包。

1. 谷歌浏览器 Page Assist 插件:它到底解决了什么问题

如果你已经在本机装好本地模型服务并拉下来几个模型,大概率也经历过这个场景:读技术文档时想立刻让 AI 解释某段逻辑,或把长文压缩成三句话,却不得不复制全文、切到另一个聊天页面再粘贴。Page Assist 是安装在 Chrome 等 Chromium 浏览器里的开源扩展,它把本地大模型的聊天入口直接放进浏览器侧边栏、浮层和右键菜单,让你不离开当前网页就能完成页面摘要、选中文本翻译、自定义提问,甚至基于整个页面内容做检索式问答。它的核心价值就一句:给浏览器装上本地 AI 的随叫随到入口,数据始终留在本机。全文会从原理讲到配置,再从页面 RAG 讲到常见坑,适合已经跑通本地模型、想把模型真正融进网页阅读流程的人。

2. 原理与选型:Page Assist 是怎么把本地模型“塞”进浏览器的

2.1 一条完整调用链:浏览器扩展、本地推理服务与模型的关系

Page Assist 本身不运行模型,也不包含推理引擎。它只是一个经过封装的前端客户端,负责三件事:渲染聊天界面、从当前页面收集文本、把文本和对话历史转换成对本地推理服务的 HTTP 请求。真正的推理过程发生在你本机的模型服务进程里,也就是通过 Ollama 这类工具拉起的常驻服务,它默认监听 11434 端口,处理完请求后把结果流式返回给扩展。

我用最直白的方式理解这条链路:浏览器扩展是“遥控器”,本地模型服务是“机顶盒”,模型是“频道”。你在浮层里输入一句话,扩展把它打包成 JSON 发给本机服务;服务把输入交给模型做推理,再把生成结果一段一段送回扩展的对话框。整个过程全部走localhost回环地址,不经过公网,这是它适合处理敏感内容的根本原因。

要验证这条链路是否通,最快的方式是直接在终端里请求本地服务的接口。下面这几个命令是配置 Page Assist 之前必做的检查:

# 1. 确认本地服务正在运行,并返回模型列表 curl -s http://localhost:11434/api/tags # 2. 拉取一个对话模型,用于摘要、翻译和普通问答 ollama pull qwen2.5:7b # 3. 拉取一个嵌入模型,页面上下文检索依赖它 ollama pull nomic-embed-text

第一条命令返回的 JSON 里能看到模型列表,如果连接被拒绝,说明服务没启动或者监听地址不是 11434。第二条和第三条是准备环节:对话模型负责“思考和回答”,嵌入模型负责把网页文本变成向量,局部 RAG 的“检索”能力建立在向量之上。只拉对话模型不拉嵌入模型,页面问答功能会直接不可用,这是我见过最多的配置翻车点。

浏览器扩展与本地服务之间的调用也有安全限制:Chrome 的跨域策略通常不允许普通网页脚本随意访问localhost的其他端口,但扩展会预先声明本地服务访问权限,因此可以访问本机服务。正因为这种权限边界,Page Assist 必须以扩展形式存在,而不是做成一个普通网页。这也是它和“把模型网页版开在浏览器里”最本质的区别。

2.2 为什么选插件而不是纯 Web 界面:三个不可替代的场景

模型服务自带一个简单的 Web 聊天界面,你也可以用第三方桌面客户端。但如果你认真数一数日常阅读网页的动作,会发现它们大多发生在“当前页面”这个上下文里:看到一段配置想翻译,看到一段报错想解释,看完一整页想做个总结。每次切走标签页都意味着阅读中断,而浏览器插件能把 AI 入口放在手边。

第一个不可替代的场景是右键菜单。选中一段文字,点右键,直接把选中内容发给模型,浮层立即显示回答,不用复制、不用粘贴、不用再描述上下文。第二个场景是页面摘要。扩展可以直接抓取当前标签页的正文,你只要点一下“总结”就能拿到结果,这在读长文档时非常省事。第三个场景是页面实时问答:开启页面上下文后,扩展会先对当前页面内容做向量化索引,然后你问的任何问题都能在页面范围内检索答案,效果类似给网页加了一个私有的知识库。

这三个场景单独拿出来,理论上都能用“复制粘贴 + 网页版”实现,但操作成本完全不同。插件把上下文提取和答案生成做成了连续动作,使用者只需要保持阅读状态。对高频阅读者来说,有没有这一层交互差异,决定了本地模型最终是“偶尔打开的工具”还是“随手可用的助手”。

2.3 动手之前:环境准备与模型选型清单

在安装扩展之前,建议先花五分钟把“地基”打好。首先是确认系统内存和显卡显存。7B 级别模型量化后大约需要 4~6GB 内存,如果电脑总共只有 8GB 内存,建议先跑 3B 或更小模型;如果有独立显卡,尽量选择能完整放入显存的量化版本,推理速度会明显更快。

其次是模型选型。日常摘要、翻译和问答,我一般会选指令跟随能力强的中英文模型;如果主要处理英文技术文档,英文较强的模型表现会更稳定。嵌入模型方面,nomic-embed-text是入门百搭选择,中文场景也可以用,效率足够但效果一般;如果你有更好的中文嵌入模型,也可以替换,只要能在本地服务里跑起来就行。

最后是环境变量确认。默认情况下本地服务会监听127.0.0.1:11434,这也正是扩展默认配置能直接连通的原因。有些开发者习惯把监听地址改成局域网以便其他设备访问,改完记得填对地址。检查命令就是上一节的curl,看到模型列表再往下走,后续所有问题排查都建立在此之上。

3. 从安装到第一次对话:Page Assist 的最小可复现路径

3.1 扩展从哪里装:商店版与手动加载版怎么选

安装 Page Assist 有两条常见路径。第一条是去 Chrome 扩展商店搜索它的英文名,找到后直接“添加到 Chrome”,这是最省事的方式,自动完成更新,适合绝大多数用户。第二条是从开源发布页下载打包好的 zip 文件,在chrome://extensions页面打开“开发者模式”,选择“加载已解压的扩展程序”,路径指向解压目录。手动加载的优势是可以用最新构建版本,也可以先快速浏览代码确认没有隐私风险,但缺点是不会自动更新,每次升级都要手动重复一次。

给一张很直观的对比表,方便决定选哪条路:

安装方式优点缺点适合人群
商店直接安装自动更新、安装快版本可能略旧绝大多数普通用户
手动加载 zip版本最新、可先审代码手动升级、略繁琐开发者、喜欢尝鲜的用户

不管用哪种方式,装完之后建议把扩展图标固定到浏览器工具栏上。Page Assist 的使用频率非常高,每次从扩展菜单里翻会很别扭。固定方式是在工具栏的拼图图标里找到它,点击图钉固定到显眼位置。

3.2 三个必填配置项:服务地址、对话模型、嵌入模型

安装完成后,点击扩展图标会进入设置页面。这里最重要的就是三个配置:服务地址、对话模型、嵌入模型。服务地址默认是http://localhost:11434,一般不用改,除非你改了本地服务端口,或者想连接同一局域网里另一台机器上的模型服务,那就需要填对应的 IP 和端口。

对话模型是从服务端拉取的模型列表里选一个,入口通常是一个下拉框,里面显示的是你已经拉取的模型。如果你在列表里找不到想要的模型,先在终端执行ollama list确认模型名字,很多时候只是扩展读取的是精确名称,或者这个模型还没下载,先去拉取再回来看。嵌入模型同样在下拉框里选,建议选择nomic-embed-text这样的小型嵌入模型,索引网页时开销很低。

这里有一个很常见的坑需要提前说明:嵌入模型是使用页面归纳能力的前提,但它不在“对话模型”列表里,而在独立的嵌入模型配置里。如果只看对话模型列表,会以为嵌入模型没有配置选择,但页面问答功能仍然报“请配置嵌入模型”。配置好这三个参数之后,保存设置,再重新打开浮层,就能开始正常对话了。

3.3 跑通第一次真实调用:页面摘要与选中文本问答

配置完成后的第一件验证工作,我建议直接做一次页面摘要。打开你正在读的一篇技术文章,点击扩展图标打开浮层,在输入框里输入“总结这个页面的核心步骤”,或者选择预设的页面摘要命令。等待几秒后,扩展会先请求本地服务做文本嵌入,然后把结果和问题一起交给对话模型,最终生成摘要。

这里有个小技巧:摘要任务质量跟页面正文干净程度强相关。如果打开的是一篇包含大量导航、广告和评论区的文章,摘要可能被干扰点污染;大多数时候扩展能识别正文并提炼核心内容,但极端情况下摘要会变成“这个页面包含导航菜单和文章列表”。遇到这种情况,不要急着怀疑扩展,先用浏览器自带的“阅读模式”再试一次,通常能显著提升摘要质量。

验证完摘要后,再试第二个场景:在任意一页选中一段文字,点右键,选择 Page Assist 的翻译或解释命令。这个操作不需要预先设置任何额外参数,选中什么就发什么,浮层会立刻返回结果。这一步跑通,说明扩展与本地服务的“流式响应”链路完整,后面进阶使用页面上下文和自定义指令才有保障。

4. 让 Page Assist “读”网页:页面上下文与本地 RAG 实战

4.1 页面上下文是什么:抓取、分段、嵌入、检索四步走

Page Assist 最值得投入的部分,是它的页面上下文功能,本质是一个跑在浏览器里的轻量 RAG 系统。开启后,扩展会先抓取当前标签页的可见正文,把正文切分成若干小段,每段用嵌入模型计算出一个向量,保存到扩展的本地索引里;之后你用浮层提问时,扩展先计算你的问题和所有页面片段的相似度,把最相关的若干个片段挑出来,连同问题一起交给对话模型。

理解这一步非常重要:它没有把整个页面一股脑塞给模型,而是只把“与问题最相关的内容”塞进上下文。这就是它和直接复制粘贴全文的最大区别。二十页的长文档,可能只有三段内容跟你的问题有关,检索器把它们找出来,模型只需在这几段里找答案,准确率和速度都会更好。

这一步的工作流程,不依赖云端任何服务,所有的向量计算和存储都发生在本地。对于读文档、查 API、核对配置类任务,这套机制非常可靠。它不会把你整个文档库都做成全局知识库,它一次只关注当前打开的页面,这一点反而保留了轻量级临时知识库的灵活性,也让索引速度保持在秒级。

4.2 把页面问答跑通:操作路径与关键参数

实际操作时,先打开目标页面,点击扩展浮层,在设置或对应功能入口里开启页面上下文开关。第一次开启时需要几十秒甚至更久的索引时间,页面越长越久;索引完成后,浮层里直接输入问题即可。比如你正在读部署文档,可以问“这个页面的部署步骤里,第二步要求修改哪些配置项”,回答会只引用页面里存在的内容。

如果你安装的版本在设置里暴露了检索参数,有几个值值得认真调。分块大小建议控制在 800~1000 个字符,块太大容易把不相关的段落卷进去,块太小又容易把关键句子切断;重叠一般设 100 字符左右,避免切分时正好把一句完整配置切成两半;top-k 检索数量默认 3~5 就够,问题涉及多个分散主题时可以调到 8。这些参数本质上是检索精度和覆盖面的平衡,新手先用默认值跑通,再逐步调整。

需要说明的是,不同版本对这些参数的具体命名可能不一样,有的甚至不开放这些参数,固定使用内部默认值。没有参数入口也不影响使用,最多只是没法做细节优化。如果你对效果不满意,优先换更强的基础模型,比调参收益更明显。

4.3 本地 RAG 与云端知识库的边界:隐私、成本、效果

本地 RAG 和云端知识库在实际里各有舒适区,这里给一个明了的对比表:

对比维度Page Assist + 本地模型云端 AI 内置知识库
隐私页面内容不出本机内容发送到服务商
成本主要为硬件电费和内存开销订阅或按调用量计费
延迟取决于设备性能受网络和服务排队影响
上下文上限受本地模型窗口限制通常更大更灵活

由此可以看清它的定位:本地最适合单页深度问答、需要保密的技术文档、没有网络的离线场景;云端适合需要超大上下文、全局知识检索或更高推理能力的复杂任务。对“今天读的这一篇文章”这种临时知识库,Page Assist 的体验是最顺畅的。

5. 避坑与排查:新手最容易翻车的 5 个场景

5.1 现象:连接被拒绝,明明本机服务已经启动

打开浮层,模型列表加载不出来,或者一提交问题就报“连接失败”。原因大概率出在地址配置和环境变量上。很多人在设置里把地址写成了https://前缀,或者填了奇怪的自定义端口,实际上本地服务的默认协议是http,端口是11434。解决很简单,先用curl http://localhost:11434/api/tags验证,如果终端正常而扩展失败,就去扩展设置里把地址改回http://localhost:11434;如果终端也不通,就说明本地服务没在监听,检查它的进程状态和环境变量OLLAMA_HOST是否被改过。

5.2 现象:模型下拉列表是空的,或调用时提示模型不存在

配置页里的模型列表空,或者手动输入模型名后报错。先不要怀疑扩展坏了,多半是本地服务没运行,或者模型根本没有拉取。在终端执行ollama list,能看到模型名,列表就以它为准;如果列表是空的,就回去重新拉模型。还有一个很典型的原因:模型名和标签不匹配。qwen2.5:7b和qwen2.5是两回事,手动输入时要带全版本标签,否则服务端返回模型不存在的错误。这属于版本号填错的后悔药问题,填完整名字就能避免。

5.3 现象:页面摘要丢关键信息,只回目录不抄细节

摘要输出框架完整但缺少技术细节,比如命令、端口、配置项全被丢掉。这种情况大多是模型上下文太小或页面太长,扩展对正文做了无声截断;模型拿到的不完整文本,自然总结不出细节。解决思路是换用上下文窗口更大的模型,或者在提问指令里明确要求“保留所有命令、端口、文件名”。如果还是不行,把一次总结拆成“按章节分别总结,再汇总”的两段式操作,效果会明显改善。

5.4 现象:页面问答答非所问,甚至引用不存在的段落

页面里有答案,但它答不出来,这种“检索黑匣子”现象通常有几种原因。第一是嵌入模型没配置,系统在找不到向量时退化成纯生成,模型就开始胡编。第二是分块设置太大,关键信息被淹没在无关内容里。第三是提问方式和检索范围不匹配,比如你问的是两个不同小节的内容,默认检索只选了最相关的 3 块,另一部分信息没被搜到。解决路径是:先确认嵌入模型已配置,然后把分块调小到 500 字左右,把 top-k 调大,再明确一点描述问题,让它能命中正确片段。

5.5 现象:浮层转圈、页面卡顿、风扇狂转

整个浏览器的 CPU 和内存占用飙升,打开浮层后明显卡顿,甚至整个浏览器变慢。这种资源问题常见于两种同时发生的情况:一是后台正对长页面做向量化索引,二是本地模型推理时把所有内存都吃光。解决方法是把页面上下文只在真正需要深度理解的文档页开启,普通网页阅读就关掉;模型选小一个级别;还可以在系统层面限制本地服务的并行输出数。一个直接的感受是:如果只是聊天,不开启页面上下文,资源占用立刻会降下来很大一截。

6. 进阶技巧:让 Page Assist 融入日常高频浏览

6.1 按任务切换模型,形成你的固定搭配

在设置里一次性配置好几个模型,然后根据任务切换。日常快速问答、翻译、看新闻摘要,用小模型足够;处理复杂技术文档、需要推代码逻辑时,再换更大参数的模型。我现在的固定搭配是:普通网页一律用小模型,长文档和代码排查换大模型,两者通过浮层上的模型切换入口来回切换,不用反复进设置。

6.2 自定义提示词:固定回答风格和输出结构

页面问答的输出质量,很大程度上取决于提示词设计。我通常会针对技术文档场景固定一个专用提示词,下面这个模板可以直接照搬:

你是一名有一线工程经验的技术从业者。请基于页面上下文回答用户问题。回答时先给结论,再给论据,最多列 5 条关键信息。优先引用原文中出现的命令、参数、文件名和配置项。如果页面上下文里找不到依据,直接说明“页面内容没有提供相关信息”,不要推测。

把这段内容粘贴进扩展的自定义指令配置里,以后所有页面问答都会按这个格式输出。重点是它限定了“找不到就直说”这个边界,有效防止模型在检索不到时自己脑补答案。

6.3 一个具体的落地习惯:把敏感文档留在本机提问

我处理内部技术方案时,习惯把文档页面固定在一个浏览器标签页里,打开页面上下文,所有提问都基于页面本身内容,结果不出本机。即使文档里包含敏感配置和内部 IP,也不会经过任何外部服务。现在我的日常已经稳定成了这个模式:读长文、查接口文档、核对部署步骤,全部在侧边栏完成,遇到内容较长的文章,先分段做摘要,再针对重点小节开启页面问答,最后把碎片结论拼成完整理解。

最想提醒你的一条经验:真正折腾出效果的关键,不在扩展本身,而在于两个基础准备是不是到位——对话模型拉对了、嵌入模型拉了。这两个前提控制好,后面所有烦恼基本都少一大半。希望这篇从原理到排错的实战路线能帮到你,如果你也准备开始,建议今天就用一篇真实文档跑通摘要和页面问答,感受一下浏览器里头随时追问本地模型的流畅度。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 5:08:05

AI心理咨询师:技术拆解、成本优势与落地实践

我过去小半年一直在做情感对话方向的系统demo,就是那种给用户一个对话框,让它能听懂倾诉、能给反馈的聊天机器人。身边人听到的第一反应蛮一致:这东西要是真做出来,心理咨询师是不是要失业了。我没急着接话,因为认真研…

作者头像 李华
网站建设 2026/10/12 5:07:44

微客AI助手答疑:AI客服的会话记录存在哪?留存位置与合规要点

给商家配微客AI助手的时候,被问过的最认真的一组问题来自一位做母婴用品的店主。她问的不是价格也不是功能,而是:客户的聊天记录存在哪?谁能看到?会不会被拿去做别的?说实话,这三个问题比大多数…

作者头像 李华
网站建设 2026/10/12 5:06:38

NLP文本预处理全攻略:清洗、分词、向量化与工程实践

刚接触自然语言处理的时候,我一直有个错觉:模型才是主角,预训练模型一加载,剩下的就是喂数据、看指标。直到有一次,我把一份从网页抓取的评论数据直接丢给一个表现不错的分类模型,结果整整一周都在查为什么…

作者头像 李华
网站建设 2026/10/12 5:06:37

Llama 3.1 405B本地部署全攻略:硬件配置、vLLM启动与性能调优

这次我们来看 Llama 3.1 405B 的本地部署。它不是那种单卡就能跑起来的小模型,而是参数量达到 4050 亿的 Dense 大语言模型,要真正跑起来,需要多张高端 GPU,甚至要组成多机集群。很多开发者关心的是:这个模型到底需要什…

作者头像 李华
网站建设 2026/10/12 5:04:27

InST风格迁移的Windows10可执行版本:原理、部署与避坑指南

简介:这是InST(Inversion-Based Style Transfer with Diffusion Models)的Windows 10可执行版本,面向深度学习与风格迁移方向的研究者、开发者和学生,解决原项目在Windows环境依赖配置复杂、难以直接上手的问题。压缩包…

作者头像 李华
网站建设 2026/10/12 5:03:32

AI工具赋能ETF研报分析:从数据分散到高效决策

研究ETF基金,最花时间的环节不是盯行情,而是读研报。2026年我试用了一圈AI工具,最大的感受是研报数据覆盖明显更全了:以前要自己翻好几天的资料,现在可以在一两个小时内把框架搭出来。而且AI不只是把报告堆给你&#x…

作者头像 李华