Page Assist 浏览器支持全解析:本地 AI 扩展在各浏览器中的功能差异与兼容性指南 Page Assist 浏览器支持全解析本地 AI 扩展在各浏览器中的功能差异与兼容性指南【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assistPage Assist 是一个开源的浏览器扩展它把本地运行的 AI 模型如 Ollama、Chrome 内置 AI、任意 OpenAI 兼容端点变成网页浏览的随身助手。本指南基于 docs/browser-support.md 与仓库源码系统梳理该扩展在 Chrome、Edge、Firefox 等主流浏览器上的支持矩阵、三项核心功能Sidebar、Chat With Webpage、Web UI的可用差异、受限浏览器的技术原因以及从源码构建/手动加载适配目标浏览器的完整方法。读完本文你将能判断自己的浏览器属于完整支持还是部分支持并掌握自行构建与排查兼容性问题的能力。支持的浏览器总览官方文档明确指出为获得最佳体验建议在最新版本的 Google Chrome、Microsoft Edge 与 Firefox 上使用 Page Assist。完整支持矩阵如下与 README.md 中的 Browser Support 章节一致BrowserSidebarChat With WebpageWeb UIChrome✅✅✅Brave✅✅✅Firefox✅✅✅Vivaldi✅✅✅Edge✅✅✅LibreWolf✅✅✅Zen Browser✅✅✅Opera❌❌✅Arc❌❌✅从表格可以提炼出两个关键结论Chromium 系与 Firefox 系的 7 款主流浏览器均获得完整支持Chrome、Brave、Vivaldi、Edge、LibreWolf、Zen Browser 都是 Chromium 内核加上 Mozilla 自家的 Firefox全部三项功能可用。Opera 与 Arc 属于部分支持它们可以正常使用 Web UI即以独立标签页打开的类 ChatGPT 界面但侧边栏Sidebar与网页对话Chat With Webpage不可用。这两类浏览器的差异不是偶然而是由扩展底层依赖的浏览器 API 能力决定的下文会结合源码逐一拆解。三项核心功能分别是什么在理解支持/不支持之前先明确这三项功能在仓库中的具体形态Sidebar侧边栏在任意网页上按快捷键即可呼出的浏览器侧边栏让你不离开当前页面就能与本地模型对话。其入口与快捷键在 wxt.config.ts 的manifest.commands中声明commands: { _execute_action: { description: Open the Web UI, suggested_key: { default: CtrlShiftL } }, execute_side_panel: { description: Open the side panel, suggested_key: { default: CtrlShiftY } } }侧边栏 UI 的入口在 src/entries/sidepanel/main.tsx内部渲染的是 src/components/Sidepanel 下的聊天界面组件。Chat With Webpage网页对话对当前网页内容进行检索增强RAG后再回答问题的能力即和网页对话。其核心实现是 src/chain/chat-with-website.ts 中基于 LangChain 构建的createChatWithWebsiteChain链它包含问题压缩CondenseQuestion、根据是否有历史消息决定走检索分支RunnableBranchHasChatHistoryCheck、文档分块格式化FormatDocumentChunks以及基于response_template的响应合成GenerateResponse等环节。网页正文的抓取与清洗则由 src/libs/get-tab-contents.ts 与 src/parser 目录下针对 Amazon、Twitter/X、Google Docs 等站点的解析器完成。Web UI网页界面以独立标签页options.html打开的完整聊天界面类似 ChatGPT 的网页端。路由定义在 src/routes/chrome.tsx包含/首页、/settings设置以及模型、提示词、Ollama、知识库、RAG、MCP、记忆等十多个配置子页面。它不依赖侧边栏 API因此在所有列出的浏览器中都能工作。为什么 Opera 与 Arc 缺少侧边栏能力从源码结构看侧边栏功能依赖两个关键 APIChrome 系的chrome.sidePanel与Firefox 系的browser.sidebarAction。这两个 API 并非所有浏览器都提供这正是 Opera 与 Arc 功能缺失的直接原因在 Chromium 版本的后台脚本 src/entries/background.ts 中打开侧边栏统一走chrome.sidePanel.open({ tabId })当扩展图标被点击且配置为打开侧边栏时actionIconClick sidepanel同样调用该 APIsrc/entries/background.ts。在 Firefox 版本的后台脚本 src/entries-firefox/background.ts 中则使用browser.sidebarAction.toggle()src/entries-firefox/background.ts快捷键execute_side_panel也映射到toggle()而非sidePanel.open()。进一步看权限声明Chromium 构建需要sidePanel权限见 wxt.config.ts 中的chromeMV3Permissions而 Firefox 构建并不申请该权限。可以推断Opera 与 Arc 虽然同为 Chromium 内核但并未完整实现/开放chrome.sidePanelAPI导致扩展在运行时报错或静默降级最终表现为 Sidebar 与依赖侧边栏承载的 Chat With Webpage 不可用而无需该 API 的 Web UI 则不受影响。双构建体系Chromium MV3 与 Firefox MV2 的工程实现Page Assist 并非一套代码打天下而是通过 WXT 框架维护两套入口与两套清单这也是它能覆盖 Chromium 与 Firefox 两种截然不同扩展体系的原因。入口目录分离在 wxt.config.ts 中entrypointsDir: process.env.TARGET firefox ? entries-firefox : entries, srcDir: src, outDir: build,TARGETchrome或 edge时使用 src/entries产物输出到build目录TARGETfirefox时使用 src/entries-firefox。两套目录都包含background.ts、options/、sidepanel/、ollama-pull.content.ts、hf-pull.content.ts、youtube-summarize.content.ts等对应文件但实现细节针对各自平台的 API 做了适配。权限与安全模型差异package.json 中定义了对应脚本build:chrome: cross-env TARGETchrome wxt build, build:firefox: cross-env TARGETfirefox wxt build -b firefox, build:edge: cross-env TARGETchrome wxt build -b edge对应到 wxt.config.ts 中的权限列表两个体系的核心差异如下维度ChromiumMV3FirefoxMV2侧边栏权限sidePanel配合chrome.sidePanelAPI不申请sidePanel改用browser.sidebarAction网络拦截declarativeNetRequestMV3 声明式规则webRequestwebRequestBlockingMV2 阻塞式请求主机权限通过host_permissions申请http://*/*、https://*/*、file://*/*在permissions中直接声明http://*/*、https://*/*、file://*/*扩展 ID无固定 ID通过browser_specific_settings.gecko.id固定为page-assistnazeem内容安全策略extension_pages单独配置额外放行blob:与worker-src以支持 worker 类资源Firefox 版本之所以保留webRequestBlocking是因为 MV2 时代的 Firefox 需要通过阻塞式请求处理跨域/资源改写等逻辑而 Chromium MV3 强制改用declarativeNetRequest这也是 package.json 中build脚本会依次执行build:chrome、build:firefox、build:edge三个目标的原因——每个目标都需要独立清单。安装方式商店安装与手动加载通过扩展商店安装Page Assist 已在以下官方渠道上架安装后即获得与当前浏览器匹配的构建版本Chrome / Brave / Edge分别通过 Chrome Web Store 与 Microsoft Edge Add-ons 安装Firefox通过 Firefox Add-onsAMO安装。在安装前请先对照上文的支持矩阵确认自己的浏览器属于完整支持7 款主流浏览器还是仅 Web UI 可用Opera、Arc。从源码手动构建并加载如果你希望自行构建或验证最新源码仓库提供了完整流程见 README.md 的 Manual Installation 章节前置条件Bun或 npm、本地 AI 服务如 Ollama、或任意 OpenAI 兼容端点如 LM Studio、llamafile。# 1. 克隆仓库并安装依赖 git clone 仓库地址 cd page-assist bun install # 2. 构建全部目标Chrome、Edge、Firefox bun run buildbun run build依次执行build:chrome、build:firefox、build:edge产物统一输出到build目录。若构建中遇到 Bun 相关问题README 建议改用npm install/npm run build。Chrome 系浏览器加载打开扩展管理页chrome://extensionsEdge 为edge://extensions开启右上角开发者模式点击加载已解压的扩展程序选择build目录。Firefox 加载打开about:addons进入扩展标签页点击管理您的扩展点击临时载入附加组件选择build目录下的manifest.json。注意Firefox 的临时载入机制仅用于调试浏览器重启后临时扩展会失效正式使用仍建议通过 AMO 安装签名版本。按单一目标构建如果你只需要某一平台的产物可单独执行对应脚本bun run build:chrome # 生成 Chromium 目标 bun run build:edge # 生成 Edge 目标 bun run build:firefox # 生成 Firefox 目标开发调试模式下则使用bun devChrome、bun dev:firefox、bun dev:edgeWXT 会启动开发服务器并监听源码变更package.json。选型与排查建议首选 Chrome / Edge / Firefox官方文档明确推荐这三个浏览器的最新版本三项功能Sidebar、Chat With Webpage、Web UI均完整可用且商店安装、手动构建两条路径都经过验证。Brave、Vivaldi、LibreWolf、Zen Browser同为 Chromium 系且完整支持可视为 Chrome 的平替安装时走chrome://extensions加载或对应商店。Opera 与 Arc 用户请将预期调整为仅使用 Web UI 完成对话侧边栏与网页对话功能不可用如需完整体验建议切换到上述完整支持的浏览器。这一限制源自浏览器未完整开放chrome.sidePanelAPI与扩展本身的功能实现无关可对照 src/entries/background.ts 中对该 API 的依赖进行验证。遇到异常时先确认浏览器已更新到最新版本再确认本地 AI 服务如 Ollama处于运行状态——后台脚本在拉取模型前会通过isOllamaRunning()检查服务可用性失败时会显示红色E徽标见 src/entries/background.ts这属于运行环境问题而非浏览器兼容性问题。小结Page Assist 通过双入口、双清单的 WXT 工程结构wxt.config.ts同时适配了 Chromium MV3 与 Firefox MV2 两套扩展体系7 款主流浏览器获得 Sidebar、Chat With Webpage、Web UI 的完整支持而 Opera 与 Arc 因缺少chrome.sidePanelAPI 仅能使用 Web UI。选型时对照支持矩阵即可快速决策需要深度定制时bun run build:chrome/build:firefox/build:edge三种构建脚本让你能针对目标浏览器精确产出构建物。【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考