Page Assist 隐私架构全解析:本地优先的数据处理、浏览器权限模型与配套扩展安全设计

发布时间:2026/9/16 15:56:24
Page Assist 隐私架构全解析:本地优先的数据处理、浏览器权限模型与配套扩展安全设计 Page Assist 隐私架构全解析本地优先的数据处理、浏览器权限模型与配套扩展安全设计【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assistPage Assist 是一款面向本地大模型Ollama、LM Studio、llama.cpp、OpenAI 兼容接口等的浏览器扩展本文以其官方隐私策略docs/privacy.md为核心骨架结合仓库中的扩展清单配置与源码实现逐项拆解它的数据收集边界、浏览器权限用途、配套扩展 Page Action 的审批机制以及 Page Share 分享功能的隐私控制方案。读完本文你将能准确判断 Page Assist 在浏览器中的权限诉求是否合理理解本地数据与云端数据的边界在哪里并掌握自托管分享服务以完全掌控数据的操作方法。一、核心立场零遥测与本地优先隐私策略开篇即明确Page Assist 不收集任何用户数据所有操作与数据存储都发生在浏览器本地。这一定位与项目本身为本地运行的 AI 模型提供 Web UI的形态直接相关——大模型推理发生在本地服务中聊天历史、设置项、知识库索引等也全部落在浏览器侧的存储IndexedDB 与chrome.storage里。这一承诺不是空话而是有工程结构支撑的仓库中不存在任何埋点、统计或遥测 SDK 的依赖与调用数据访问集中在src/db/目录下的 DexieIndexedDB封装如 src/db/dexie/helpers.ts、src/db/dexie/types.ts以及 Plasmohq 的useStorage/storageAPI均为浏览器本地存储与外部网络的交互仅在用户显式触发时发生如连接云端模型 API、使用 Page Share 分享不存在后台静默上报。二、浏览器权限逐项解析为什么需要这些权限浏览器扩展的权限声明直接决定其能力边界。隐私策略列出的权限与实际构建配置一一对应可以在 wxt.config.ts 中核对。该文件按目标浏览器区分了两套权限清单。ChromeManifest V3权限const chromeMV3Permissions [ storage, sidePanel, activeTab, scripting, declarativeNetRequest, action, unlimitedStorage, contextMenus, tts, notifications ]与隐私策略的对应关系如下Notifications通知用于向系统发送通知例如模型拉取完成、任务结束等提醒。对应权限notifications相关实现可参考 src/libs/send-notification.ts。Website Content Access网页内容访问支撑与网页对话chat-with-webpage功能需要读取当前页面内容作为模型上下文。对应activeTab与scripting权限组合——activeTab只在用户主动激活扩展时授予当前标签页的临时访问权属于最小化授权设计scripting则用于向页面注入脚本。实现可参考 src/services/action.ts 与 src/libs/get-tab-contents.ts。Unlimited Storage无限制存储聊天记录需要本地持久化unlimitedStorage用于规避storage.local的 5MB 配额限制对应unlimitedStorage权限。Active Tab活动标签页确保扩展在当前标签页处于激活状态并用于获取页面截图等操作对应activeTab与action权限。Scripting脚本注入chat-with-webpage 功能的核心支撑对应scripting。Web Requests网络请求隐私策略说明其用途是修改本地服务器请求的 Header 以避免 CORS 问题——即本地模型服务如 Ollama 的http://localhost:11434通常不允许浏览器页面跨域调用扩展需要调整请求头。Chrome 端通过declarativeNetRequest权限以声明式规则完成Firefox 端则使用webRequestwebRequestBlocking见下文。此外清单中还包含sidePanel侧边栏面板、contextMenus右键菜单、tts文字转语音朗读等权限它们是侧边栏聊天、快捷操作等 UI 功能的必要支撑但均不涉及数据外发。FirefoxManifest V2权限差异const firefoxMV2Permissions [ storage, activeTab, scripting, unlimitedStorage, contextMenus, webRequest, webRequestBlocking, notifications, http://*/*, https://*/*, file://*/* ]Firefox 端由于采用 MV2 规范无法使用declarativeNetRequest因此改用webRequestwebRequestBlocking阻塞式修改请求头同时通过显式的http://*/*、https://*/*、file://*/*主机权限声明来获得跨域访问本地服务的能力。可以看到两套清单在能力诉求上等价只是实现机制不同——这也是判断扩展权限是否合理时值得留意的一点权限声明随着浏览器规范演进而变化但隐私边界不变。三、Page Action 配套扩展独立审批机制与透明化设计Page Action 是独立的、可选的配套扩展源码位于 extensions/page-action/职责是在当前页面上执行点击、输入、滚动、导航、截图等操作。隐私策略特别强调了它的两个安全特性只接受经过你审批的扩展的连接并且与 Page Assist 一样不收集、不存储、不向外部服务器传输任何数据。1. 权限诉求与实现对照Page Action 的权限在 extensions/page-action/wxt.config.ts 中声明permissions: [debugger, tabs, tabGroups, storage],Debugger通过 Chrome DevTools ProtocolCDP读取活动标签页内容并执行可信输入点击、输入、导航、截图。隐私策略明确指出Debugger 激活期间 Chrome 会显示 Page Action started debugging this browser 横幅即浏览器内建的可视化透明提示——用户始终能看到该扩展何时在调试页面。Host Access无论当前在哪个站点都能对活动标签页执行操作对应构建产物中的主机权限声明。Tabs / Tab Groups读取标签页信息以及打开、切换、关闭、分组标签页对应tabs与tabGroups权限。Scripting检查并交互页面 DOM对应scripting权限运行时动态申请。Storage在本地存储已审批的扩展列表与工具设置对应storage权限。2. 连接审批机制默认信任白名单 手动批准Page Action 只接受你批准的扩展发起的连接这一机制的实现位于 extensions/page-action/lib/consent.ts。核心逻辑是export const DEFAULT_ALLOWED_EXTENSIONS [ jfgfiigpkhlkbnfnbobbkinehhfdhndo, ogkogooadflifpmmidmhjedogicnhooa, ijokhblbfikokhbbfnndfajaaanmmjdg, ];三个默认白名单 ID 是 Page Assist 各浏览器版本的扩展 ID即Page Assist 默认被允许的落地实现其他扩展必须通过requestConsent()触发审批流程见 consent.tsPage Action 会弹出审批窗口并点亮角标用户批准后调用addAllowedExtension()将 ID 写入chrome.storage.local此后该扩展方可连接工具级控制同样细化到每个工具setToolEnabled()/isToolEnabled()允许用户为已批准的扩展单独开关具体工具见 consent.ts。此外Page Action 的 Manifest 还通过externally_connectable.ids声明了可建立外部连接的扩展 ID 白名单见 extensions/page-action/wxt.config.ts在浏览器层面进一步收紧连接来源。3. 活动范围约束隐私策略强调 Page Action 的所有活动都停留在你的设备上、且仅限于活动标签页。从源码结构看该扩展的页面脚本注入与 CDP 操作均面向当前激活标签页相关逻辑见 extensions/page-action/lib/page-scripts.ts 与 extensions/page-action/lib/cdp.ts不存在后台批量扫描或历史数据读取与策略描述一致。四、Page Share 分享功能显式触发、可删除、可自托管Page Share 是 Page Assist 提供的类 ChatGPT 分享能力——将对话生成为链接分享给他人。由于它默认连接公网服务隐私策略明确了它的三条边界数据共享仅在显式连接外部来源时发生提供自托管选项以实现对数据的完全掌控已分享的聊天可随时从服务器永久删除删除后不保留任何数据。1. 前端如何管理分享设置页源码解析分享设置界面位于 src/components/Option/Share/index.tsx从中可以还原完整的数据流分享服务器地址默认地址通过getPageShareUrl()读取未配置时返回内置的DEFAULT_PAGE_SHARE_URL见 src/services/ollama.ts用户可在设置页覆盖为自托管地址setPageShareUrl()将其写入chrome.storage。服务器可用性校验保存新地址前src/utils/verify-page-share.ts 会向${url}/api/v1/ping发起请求并校验响应是否为pong确保配置的服务器真实可用后再保存。分享记录的本地台账已生成的分享以Webshare类型记录在本地 IndexedDB 中包含id、title、url、api_url、share_id、createdAt字段见 src/db/dexie/types.ts分享列表在设置页以表格呈现。远端删除接口删除操作会调用${api_url}/api/v1/share/delete携带share_id与owner_id请求服务器删除见 src/components/Option/Share/index.tsx成功后同步清除本地台账记录——这正是可永久删除且不留数据的前端实现。2. 自托管方案推荐用于完全掌控数据详细的自托管指引见 docs/features/page-share.md官方提供两条路径方式一Docker 自托管git clone https://github.com/n4ze3m/page-share-app.git cd page-share-app docker-compose up启动后在浏览器访问http://localhost:3000即可运行分享服务。方式二Railway 一键部署点击官方文档中的 Deploy on Railway 按钮将 page-share-app 模板部署到 Railway 平台。部署完成后在 Page Assist 的设置 → 管理分享Manage Share中把分享服务器地址改为你的自托管地址之后所有分享链接都将由你自己的服务器承载——数据不再经过任何第三方。五、数据存储、第三方服务与策略更新隐私策略在数据存储维度再次强调两条原则所有聊天历史与设置均存储在浏览器本地——对应src/db/Dexie/IndexedDB与chrome.storage两类本地存储除非用户显式发起不向外部服务器传输任何数据——唯一的例外路径就是用户主动配置的模型 API、Page Share 服务器等外部端点。在第三方服务维度Page Assist不集成任何第三方分析与跟踪服务无 analytics、无 tracking SDK。因此隐私风险主要集中在用户自己配置的外部端点上——选择可信的自托管分享服务、使用本地模型而非云端 API即可把数据外流面压缩到零。隐私策略同时保留按需更新的权利重大变更会通知用户如有隐私相关问题可通过项目 GitHub 仓库的 Issue 渠道反馈。六、总结一份可验证的本地优先隐私承诺综合文档与源码Page Assist 的隐私模型可以概括为三层本地优先聊天记录、设置、知识库、分享台账全部落在浏览器本地仓库中不存在遥测与分析依赖权限最小化且可追溯每一项浏览器权限都能在 wxt.config.ts 与 extensions/page-action/wxt.config.ts 中找到对应声明并能对应到具体功能对话、侧边栏、截图、跨域代理、通知等边界显式化涉及外网的 Page Share 采用显式连接 可自托管 可远端删除三重控制Page Action 采用白名单 逐工具审批 Debugger 透明横幅的审批模型。对于开发者而言这份隐私策略与源码的对应关系本身就是最好的可审计清单任何关于数据去向的疑问都可以沿着权限声明 → 功能实现 → 存储位置这条链路在仓库中逐一验证。【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询