1. page-assist到底是个什么项目
先把话撂在这儿:如果你手头已经装好了Ollama或者LM Studio这类本地推理工具,但总觉得"只能在终端里敲敲打打、或者在自带的简陋网页里聊天"差点意思,那page-assist就是补齐这块短板的那个轮子。
简单说,page-assist是一款开源的浏览器扩展,GitHub仓库地址是n4ze3m/page-assist。它的核心功能是,让本地运行的AI模型直接嵌入浏览器侧边栏,你在浏览任意网页的时候,随时能把当前页面的内容喂给AI,让它帮你总结、翻译、解释、找Bug、改文案,全程不需要把网页内容发送到任何云端服务器,所有推理都发生在你自己的电脑上。
它适合谁?几类人非常对口:一是受够了"每次用云端AI都要复制粘贴网页全文、还要小心隐私泄露"的普通用户;二是每天都在浏览器里读技术文档、英文Paper、长篇文章,需要一个顺手工具做摘要和问答的开发者;三是已经折腾过Ollama、llama.cpp之类本地推理框架,但觉得"模型都跑起来了却没有一个好用的前端"的折腾型玩家。说白了,page-assist的价值就是把"本地模型能用"变成"本地模型好用"。
它在GitHub上的热度不算小,项目定位也比较明确——不搞云端、不搞账号体系、不搞花里胡哨的商业化,就是一个纯粹本地优先、隐私友好的AI助手入口。下面我从使用场景、部署流程、实战细节和踩坑经验几个维度,把这东西掰开揉碎讲清楚。
2. 核心原理解析:为什么"本地AI+浏览器侧边栏"是好组合
2.1 解决的两个真正痛点
先问一个问题:浏览器里用AI助手,大家默认最方便的方式是什么?大多数人会装一个ChatGPT的浏览器插件,或者在浏览器里开一个云端AI的网页标签页。
但这两条路都有很明显的问题。
第一个问题是上下文割裂。我在读一篇很长的技术文档时,如果想问AI"这一段里提到的xx算法到底是怎么实现的",我得先把这段话复制出来,切到云端的ChatGPT页面,粘贴,再等它回答。要是文档很长、问题很多,这个复制粘贴的动作会重复几十次,效率非常低。
第二个问题是隐私焦虑。有些网页内容是敏感信息,比如内部系统文档、客户信息、还没发布的产品方案。把这些内容粘贴到云端AI对话框里,等于默认第三方能看到这些内容。你可以说"我信任大公司不会乱用数据",但在很多企业环境里,"数据不出本机"是硬性要求,不是信任问题。
page-assist同时处理了这两个问题。它用侧边栏的形式常驻浏览器,当前页面本身可以作为一个上下文来源,一键传给本地模型。数据不需要离开你的电脑,而且由于本地模型是直接加载在显存里的,响应速度在硬件能扛住的情况下甚至比云端API还快,没有网络波动的影响。
2.2 它和"浏览器自带AI"或"云插件"的本质区别
大家可能已经注意到,Chrome和Edge这两年也在往浏览器里塞AI功能,比如Edge侧边栏的Bing Chat,Chrome的Gemini整合。但这些方案本质上依然是云端调用,你的浏览器行为数据、网页内容会在后台被送到微软或Google的服务器做处理。
页面对比一下就明白了:
| 维度 | page-assist | Edge侧边栏(Bing Chat/Copilot) | ChatGPT浏览器插件 |
|---|---|---|---|
| 推理位置 | 本机(CPU/GPU) | 云端微软服务器 | 云端OpenAI服务器 |
| 网页内容去向 | 不出本机 | 上传到微软 | 上传到OpenAI |
| 网络依赖 | 仅首次下载模型时需要 | 每次都需要 | 每次都需要 |
| 使用成本 | 免费+电费 | 免费但有广告/额度限制 | 免费用GPT-3.5,GPT-4要订阅 |
| 模型可控性 | 完全可控,可换任意开源模型 | 不可控,微软决定用哪个模型 | 不可控,OpenAI决定 |
| 离线使用 | 模型下载后完全离线可用 | 不可用 | 不可用 |
这一对比就很清晰了。page-assist走的是"边缘计算"的路线——把AI从云端拉回到你的电脑上。代价是你的电脑得有一颗还不错的显卡(或者忍受CPU慢速推理),但换来的是隐私、免费、可控这三大好处。
2.3 技术架构:浏览器扩展如何与本地模型通信
page-assist本身不跑模型,它只是一个"前端壳子"。它的工作流程是:
- 浏览器扩展在侧边栏渲染一个聊天界面(基于React)
- 你选择要使用的模型,或选择"以当前页面为上下文"
- 扩展通过HTTP请求把问题发送到本地推理服务的API,比如Ollama的API地址默认是
http://localhost:11434 - 本地推理服务加载模型完成推理,把结果流式返回给扩展
- 侧边栏逐字渲染回答
所以page-assist本身几乎不消耗系统资源,真正的"体力活"由Ollama这类后端干。这也使得它的架构非常干净:模型层、推理层、UI层完全解耦。
因为是完全本地通信,所以扩展需要向浏览器申请访问localhost的权限。在Chrome系浏览器里,这属于可配置的站点访问权限,安装后首次使用如果发现连不上本地服务,多半就是扩展访问本地的权限没开,这个我在后面的常见问题章节约详细说。
3. 从零部署:环境准备与完整安装步骤
3.1 先装好本地推理引擎(以Ollama为例)
page-assist目前最成熟的搭配是Ollama。其他后端比如LM Studio也支持,但我个人建议新手上手先用Ollama,原因有三个:
第一,Ollama的安装极其简单,官方提供Windows、macOS、Linux三平台的安装包,装完以后后台服务自动启动,不需要手动配置环境变量;第二,模型管理体验好,ollama pull llama3.1这种命令行方式拉模型,跟Docker拉镜像一样直觉化,小白一看就懂;第三,社区生态最大,绝大多数开源模型都有Ollama格式的量化版本,不用担心模型源的问题。
具体步骤:
- 访问Ollama官网,下载对应系统的安装包。
- 安装完成后,在终端验证一下:执行
ollama --version,能看到版本号说明装好了。 - 拉取一个模型。这里我以
qwen2.5:7b为例(通义千问2.5系列,中文能力强,7B参数量在消费级显卡上也能跑),执行ollama pull qwen2.5:7b。如果你的显存比较小(6G以下),建议先拉qwen2.5:3b这类小模型。
提示:国内网络环境下拉取模型可能比较慢,建议选个网络不那么拥挤的时段操作。如果持续失败,也可以考虑通过其他渠道下载gguf格式的模型文件再手动导入Ollama,但这是进阶玩法,新手不建议一上来就碰。
安装完成后,可以在浏览器直接访问http://localhost:11434,如果能看到Ollama is running的提示文本,说明后端服务正常。
3.2 安装page-assist扩展
page-assist支持三种安装方式:
第一种是去Chrome Web Store直接搜索"Page Assist"安装,这是最推荐的方式,后续可以自动更新。
第二种是Firefox用户,去Firefox Add-ons搜同名扩展安装。
第三种是自己动手型:从GitHub Releases页面下载最新版CRX文件,然后打开浏览器的扩展管理页面(chrome://extensions),开启开发者模式,把CRX文件拖进窗口即可完成安装。
装好以后,浏览器工具栏会出现Page Assist的图标,点击图标会在当前页面右侧滑出一个侧边栏,这就是整个项目的核心交互界面了。
3.3 扩展配置:连接本地服务
第一次打开侧边栏时,它可能会提示你还没有配置本地推理服务。点开扩展的设置页面,核心配置项有这么几个:
- Ollama API地址:默认
http://localhost:11434,一般不用改 - 模型选择:这里会自动读取Ollama中已下载的模型列表,选择你希望默认使用的那个
- 页面上下文:是否默认把当前网页的正文内容作为上下文发送给模型
- 提示词模板:可以自定义预设的系统提示词
我的建议是,第一次配置的时候,先不要开启"自动发送页面上下文"这个选项,因为有些网页的正文提取效果一般,可能把导航栏、页脚、悬浮窗的乱七八糟内容全塞给模型,既浪费上下文窗口又影响回答质量。先用无上下文的纯聊天模式跑通链路,再按需开启页面感知功能。
4. 核心功能实战:这才是page-assist的完全体
4.1 网页问答与即时解读
跑通了基本链路以后,最常用的场景就是"边看网页边提问"。
比如我在读一篇关于Rust异步运行时(async runtime)的英文博客时,遇到一个tokio::select!宏的用法不太理解。传统做法是复制这段代码,打开AI网页版,粘贴,问,等待。现在直接在page-assist侧边栏里问:"请以初学者能理解的方式解释一下这段代码中的tokio::select!宏是干什么的,并给出一个生活中的类比。"
如果开启了"以当前页面为上下文",它能准确地引用下一页中的代码片段和术语来回答,这种体验非常接近在本地装了一个专属的"技术文档解读助手"。
而且page-assist的一个细节做得很好:回答是流式输出的,本地模型生成多少字就实时显示多少字,不需要等全部生成完再看结果。以7B的量化模型为例,在RTX 4060/4070这个级别的显卡上跑,输出速度大概在20~40 tokens每秒,体感上比云端AI还是要慢一些,但属于"能接受"的范畴。
4.2 长文总结:一页顶十页
另一个高频场景是长文总结。
你找到一篇三四千字的深度分析文章,不想逐字读,想先让AI给你一个摘要,判断值不值得读。在page-assist侧边栏里选中"以当前页面为上下文",然后输入:"请用三点总结这篇文章的核心观点,每一点不超过两句话。"
要注意:本地小参数模型(7B以下)在复杂指令遵循方面确实不如云端大模型。如果你发现总结出来的点很泛、不够精准,可以拆分成更具体的指令,比如"请总结这篇文章中提到的三种解决方案,并按照实施难度排序"。把问题问得越具体,本地模型的表现就越稳定。
另外,上下文窗口不是无限的。虽然现在很多模型支持8K甚至128K的上下文,但一方面是要看Ollama拉取的模型具体支持多少,另一方面上下文越长,推理速度越慢、显存占用越高。如果文章特别长,超过模型上下文上限,page-assist会自动做截断处理,这可能导致AI漏掉结尾部分的关键信息。
4.3 翻译与写作辅助
翻译这块,page-assist的表现很实用。因为整个交互都在浏览器里,你可以选中网页中的某一段英文,复制到侧边栏提问"翻译成中文,保持技术术语准确",或者干脆把整页作为上下文,让AI翻译重要段落。
一个我自己总结的小技巧:使用"翻译时要区分直译和意译"这种押韵提示词,效果比对本地模型说"请翻译"要好很多。原因在于本地小模型对模糊指令的理解能力有限,你给的指令越结构化、框架越清晰,它的输出就越可控。
写作辅助也是一个隐藏用途。我在写周报或者技术方案的时候,经常会开着page-assist,把已经写好的段落丢给它,让它帮忙润色、改成更简洁的表达、或者按"结论先行"的思路重写。因为这些内容是内部材料,不太适合传到云端AI,本地模型这时候反而是最稳妥的选择。
4.4 多模型切换与并行使用
Ollama本身支持同时下载多个模型,page-assist也允许你在聊天界面下拉切换模型。这意味着你可以:
- 平时用7B的qwen2.5处理日常问答和总结
- 遇到代码问题时切换到一个更偏代码的模型,比如deepseek-coder或codellama
- 显存吃紧时切到3B甚至1.5B的小模型保证流畅度
不过要提醒一点:切换模型后,之前的对话上下文是否保留,取决于对话历史记录功能。page-assist默认保存对话历史,但不同模型之间切换时会清空当前对话上下文,因为不同模型没有共享的上下文机制。
5. 部署与使用中的常见问题排查
5.1 扩展提示"无法连接到Ollama服务"
这个是最常见的问题,通常原因有几个:
第一,Ollama服务没有启动。检查方法:在终端执行ollama list,如果能列出模型说明服务正常;如果提示找不到命令,说明Ollama没装好或没有加入系统PATH。
第二,扩展没有访问本地端口的权限。Chrome系浏览器在安装扩展后,默认可能禁止扩展访问localhost。解决方法:点击浏览器工具栏的Page Assist图标右侧的三个小点,进入"站点访问权限",选择"在全部网站上"或者把http://localhost:11434加入允许列表。
第三,端口冲突。极少数情况下,Ollama默认监听的11434端口被其他软件占用。排查方法:终端里执行ollama serve手动启动服务,看输出的日志里是否出现端口绑定错误。如果确实冲突了,需要修改Ollama配置文件换一个端口,然后在page-assist设置里同步修改API地址。
5.2 回答速度太慢或直接卡死
这种情况多半是模型太大的锅。我遇到过有朋友在只有8GB内存的MacBook Air上跑13B模型,那体验基本是灾难级的——生成一个词要好几秒,跟PPT播放一样。
解决方案有三个方向:
一是换小模型。7B是性价比之选,3B是对性能的妥协,1.5B适合只有集显的老机器。以qwen2.5系列为例,3B模型在纯CPU环境下也能做到每秒几个token的速度,虽然不快但起码能用。
二是开启GPU加速。Ollama默认会尝试使用GPU,但某些驱动、某些环境下可能回落到了CPU推理。在Ollama的日志里能看到类似offload 10/24 layers to GPU的信息,如果设备支持但没有走GPU,可以查看Ollama的文档确认环境变量配置是否正确。
三是限制并发。如果你同时打开多个页面、每个页面都在运行page-assist的对话,模型会被反复重新加载,导致"卡死"的体感。实际上不是卡死,是模型排队加载。解决方法是同一时间只在一个页面使用page-assist,或者把Ollama的OLLAMA_NUM_PARALLEL环境变量设小一点。
5.3 回答质量不理想怎么办
本地模型不是万能的,尤其是7B这个参数量级别,跟GPT-4o这类云端巨型模型相比,在复杂推理、多轮对话的连贯性上确实有差距。但通过一些技巧可以尽可能拉近差距:
第一,用好的提示词模板。page-assist支持自定义系统提示词,你可以按自己的需求设置类似"你是一位资深的软件架构师,回答问题时请先分析问题本质,再给出具体建议,最后提供示例"。固定的角色能显著提升输出的稳定性。
第二,选择合适的基座模型。不同任务有不同擅长领域:qwen2.5系列的中文理解和指令遵循在开源模型里是第一梯队;llama3.1的英文能力极强;deepseek系列在代码补全上有明显优势;mistral的响应速度快。我的建议是至少装两个不同专长的模型,按场景切换。
第三,分而治之。不要一上来就丢给AI一个特别大、特别模糊的问题。把大问题拆成小问题,先让它逐段解读,再让它综合分析,输出质量会高一个台阶。
6. 进阶技巧:把page-assist用出花来
6.1 结合浏览器多开实现"AI速读新闻"
我日常有一个固定流程:早晨打开十几条技术新闻和技术博客的标签页,快速浏览一遍标题和摘要,挑出两三条值得精读的。有了page-assist之后,我会多做一个动作:在每条新闻页面打开侧边栏,输入"用三句话总结本文,并说明如果你是开发者,这篇文章有哪些信息是你应该注意的"。
十几篇文章大概十分钟就能扫完,而且因为模型是跑在本地的,不用心疼API费用。这些小任务用大模型跑是浪费,用本地模型跑刚刚好。
6.2 用自定义提示词模板做"专业角色"
page-assist的提示词模板功能,很多人没有充分利用。我强烈建议花十分钟把常用的模板沉淀成可复用的预设:
- 代码审查员:"你是一名资深代码审查员,请审查以下代码,指出潜在的Bug、性能问题和安全隐患,并按严重程度排序"
- 外语老师:"你是一名英语老师,请分析这段文本的语法结构,指出里面的高级表达方式,并解释这些表达为什么比普通写法好"
- 文档改写器:"请将这篇文章的内容改写成结构化文档,包括标题、段落、要点列表,保持原始信息完整但表达更清晰"
这样在需要时,一键切换模板,不需要每次重复输入一大段指令。
6.3 离线环境下的"私有AI工作台"
往前再推一步,page-assist搭配Ollama其实能构建一个完全离线的AI工作台。你把模型提前下载好,之后任何时间、任何地点,只要电脑有电,AI助手就随时可用。飞机上、地铁里、没有信号的野外,都不影响使用。
我在有几次外出参加技术分享活动时,现场网络状况很差,但需要在手机上快速查一些资料摘要、或者给现场观众演示"这是我的私人AI助手",用了page-assist后完全不受网络影响,那种稳定感是云端方案给不了的。
6.4 在Firefox/移动端的表现
page-assist不仅支持Chrome系浏览器,Firefox上同样有不错的体验。Firefox的侧边栏API跟Chrome的略有差异,但page-assist做了适配,功能基本一致。移动端的支持相对弱一些,毕竟手机浏览器的扩展生态大部分都不完整,这就别抱太大期望了。想体验移动端本地AI的话,可以关注Ollama在iOS/Android上的第三方客户端,但那就不是page-assist的主场了。
7. 横向对比:本地AI浏览器扩展还有哪些选择
有对比才有说服力。page-assist不是唯一一个做"本地AI浏览器伴侣"的项目,市面上还有几个类似方案。
| 项目 | 侧边栏 | 基于Ollama | 额外特性 | 活跃度 |
|---|---|---|---|---|
| page-assist | 支持 | 原生支持 | 页面上下文、多后端、对话历史 | 活跃 |
| ollama-browser-extension | 有 | 支持 | 简洁、轻量 | 一般 |
| Continue(网页插件) | 不完全是 | 支持 | 偏向IDE场景 | 活跃 |
从我个人的实际体验来说,page-assist的优势在于"把浏览器场景吃透了"。侧边栏这个形式非常贴合"边浏览边问"的需求,页面上下文的处理也比较智能,不会把乱七八糟的页面元素全塞给模型。有些同类项目更像是一个"浏览器里的Ollama聊天室",交互形式跟网页版没本质区别,那就失去意义了。
我理解一个工具的价值,不在于它功能有多多,而在于它在正确的场景里提供了正确的能力。page-assist在"浏览网页时随时与本地AI对话"这个场景里,是目前我见过做得最称手的。
8. 写在最后:关于这个项目的一些个人感想
折腾本地AI这一年多,我有一个比较深的体会:本地模型的生态正在以肉眼可见的速度成熟。两年前跑个13B模型要各种配置环境、处理CUDA依赖、手工编写推理代码,普通人根本玩不转。现在Ollama把模型管理做到一条命令搞定,page-assist又把交互界面嵌进了日常最常用的浏览器里,这个组合已经让"普通用户使用本地AI"的门槛降到了非常低的水位。
如果你是一个对隐私敏感、或者想了解开源模型真实水平的人,我建议花一个下午装好Ollama和个人page-assist,选一个7B左右的模型实际用几天。它不会像GPT-4o那样惊艳,它更像一个靠谱、稳定、随叫随到的本地助手——不会联网搜集你的数据,不会因为服务商调整策略而功能缩水,不会因为网络波动而中断回答。这种"拥有感"和"掌控感",是云端AI永远给不了的。
最后说一个我踩过的坑吧:我最初用page-assist时总嫌回答不够好,一度想放弃,后来意识到问题不在工具,而在我选的模型太老、提示词太糙。换了qwen2.5系列之后,体验上升了一个档次。所以如果你第一次试的时候效果一般,别急着卸载,试试换一个模型、改一版提示词,它真的能给你惊喜。