十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Page Assist 隐私政策深度解读:本地优先架构下的数据安全边界与浏览器权限机制

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 是一款本地优先的浏览器 AI 助手扩展通过本地运行的 Ollama、LM Studio 等模型为网页浏览提供 AI 能力。本文以仓库根目录 PRIVACY.md 为骨架结合扩展清单配置与源码实现逐项解读其隐私承诺、浏览器权限的真实用途、Page Share 功能的数据边界以及本地存储机制帮助开发者与用户准确判断该扩展的数据流向与安全边界。数据收集零遥测的本地优先设计根据 PRIVACY.md 中的 Data Collection 一节Page Assist 的核心隐私承诺是Page Assist is committed to user privacy and does not collect any user data. All operations and data storage occur locally within your browser.即扩展不收集任何用户数据所有操作与数据存储都发生在浏览器本地。这意味着不存在用户画像、行为分析或使用统计等后台数据上报机制——从隐私设计上看它属于本地处理 本地存储的纯客户端架构。这一承诺与项目定位一致项目的核心能力Ollama、OpenAI 等均指向用户自行配置的模型服务端点扩展本身只充当浏览器与模型之间的桥。浏览器权限逐项解析每项权限都有明确用途扩展需要若干浏览器权限才能正常工作。这些权限在构建配置 wxt.config.ts 中按目标浏览器分别声明ChromeMV3与 FirefoxMV2权限集略有差异。逐项说明如下ChromeManifest V3权限const chromeMV3Permissions [ storage, // 本地存储保存设置与聊天历史 sidePanel, // 侧边栏 UI在浏览器侧边栏中打开聊天界面 activeTab, // 当前活动标签读取当前页面、截图等 scripting, // 脚本注入聊天网页chat-with-webpage功能 declarativeNetRequest, // 声明式网络请求修改本地服务器请求头规避 CORS action, // 工具栏按钮点击扩展图标打开 Web UI unlimitedStorage, // 无限制本地存储保存聊天历史 contextMenus, // 右键菜单在页面右键菜单中触发扩展操作 tts, // 文本转语音朗读 AI 回复 notifications // 系统通知向用户推送完成/错误通知 ]FirefoxManifest V2权限const firefoxMV2Permissions [ storage, activeTab, scripting, unlimitedStorage, contextMenus, webRequest, // 拦截/修改网络请求 webRequestBlocking, // 同步阻塞式请求处理用于修改请求头 notifications, http://*/*, // 访问任意 HTTP 站点 https://*/*, // 访问任意 HTTPS 站点 file://*/* // 访问本地文件 ]与 PRIVACY.md 的对应关系PRIVACY.md 中列出的权限与 wxt.config.ts 中的声明一一对应Notifications用于提供系统通知对应notifications权限。Website Content Access聊天网页功能需要读取当前页面内容对应activeTab与scripting权限以及 Chrome 侧host_permissions中的http://*/*、https://*/*、file://*/*见 wxt.config.ts。Unlimited Storage在浏览器本地保存聊天历史对应unlimitedStorage权限。Active Tab确保扩展在当前标签页处于激活状态并用于获取截图等操作对应activeTab。Scripting为聊天网页功能注入脚本对应scripting。Web Requests修改本地服务器的请求头以避免 CORS 问题——这是最关键的技术细节。由于本地模型服务如 Ollama 的localhost:11434默认不携带Access-Control-Allow-Origin响应头浏览器直连会触发 CORS 拦截扩展通过declarativeNetRequestChrome或webRequest/webRequestBlockingFirefox为本地请求改写请求头。注意这些请求头修改仅作用于本地模型服务端点而非用户访问的任意网站。从源码结构看与本地模型服务通信相关的请求头清理逻辑位于 src/utils/clean-headers.ts可佐证网络请求处理的粒度。Page Share 功能显式触发的数据共享边界PRIVACY.md 专门说明 Page Share网页分享功能的数据边界。Page Share 允许用户将聊天记录生成公开分享链接类似 ChatGPT Share其完整使用与自托管说明见仓库根目录 page-share.md。隐私承诺的三层保障PRIVACY.md 对 Page Share 的约定如下仅显式连接时才发生数据共享默认情况下聊天记录只存在于本地只有当用户主动点击分享、向分享服务器发起请求时数据才会离开浏览器。提供自托管选项默认分享服务托管在 pageassist.xyz但用户可以自建服务端Railway 或 Docker 两种方式详见 page-share.md实现数据完全自控。分享内容可永久删除已生成的分享链接可随时从服务器删除删除后服务器不保留任何数据。源码中的实现印证分享流程在 src/components/Common/ShareModal.tsx 中实现关键调用链如下用户点击分享后扩展从本地存储读取分享服务地址getPageShareUrl定义于 src/services/ollama.ts并组装聊天消息。通过POST {api_url}/api/v1/share/create将owner_id、格式化后的消息列表和标题发送到分享服务器ShareModal.tsx。分享成功后分享链接{api_url}/share/{chat_id}会被复制到剪贴板并调用saveWebshare把title、url、api_url、share_id保存到本地 IndexedDBsrc/db/dexie/helpers.ts供后续在分享管理页面查看和删除。分享管理页面位于 src/components/Option/Share/index.tsx其中用户可修改分享服务地址开启Webshare 模式时扩展会先通过verifyPageShareURL对目标地址发起GET /api/v1/ping探测确认服务可用后才保存见 src/utils/verify-page-share.ts。删除操作通过POST {api_url}/api/v1/share/delete携带share_id与owner_id通知服务端删除成功后同步删除本地记录index.tsx。由此可见PRIVACY.md 中可永久删除、删除后不留存的承诺在实现上是有服务端与本地双层删除动作支撑的。同时也应理解分享链接一旦生成并被他人访问内容在传播层面便不再受用户控制因此分享前应确认聊天内容适合公开。数据存储全部落在浏览器本地PRIVACY.md 的 Data Storage 一节明确所有聊天历史与设置均存储于浏览器本地除非用户显式发起数据不会被传输到外部服务器用户对自己的数据拥有完全控制权。从仓库实现看Page Assist 使用 DexieIndexedDB 封装作为本地数据库。聊天历史、知识库、MCP 配置、向量索引等数据表定义位于 src/db/dexie/schema.ts数据库入口在 src/db/index.ts。例如saveWebshare、getAllWebshares、deleteWebshare、getUserId等本地数据操作集中在 src/db/dexie/helpers.ts而设置项则通过浏览器storage区域src/services/action.ts 中可见new Storage({ area: local })的使用模式持久化。这意味着卸载扩展、清除浏览器站点数据或手动删除 IndexedDB 中的记录即可彻底清空本地数据——用户可以完整掌控自己的数据生命周期。第三方服务零分析、零追踪PRIVACY.md 明确声明Page Assist 不集成任何第三方分析或追踪服务。从仓库结构看项目也未引入诸如 Sentry、Google Analytics、Mixpanel 之类的埋点依赖package.json 中的依赖均为功能实现所需。唯一可能发生的对外传输场景就是用户主动配置的外部模型 API如 OpenAI或显式发起的 Page Share 分享请求而这些都在用户明确授权范围内。隐私政策的更新与联系渠道政策更新PRIVACY.md 保留按需更新隐私政策的权利若发生重大变更会通知用户。开发者与用户可关注仓库中该文件的变更记录。联系方式如对隐私有疑问可在项目 GitHub 仓库提交 issue或通过邮件men4ze3m.com联系作者。小结Page Assist 的隐私模型可以概括为一句话本地处理、本地存储、显式分享。它的浏览器权限虽然覆盖面较广读取页面、修改请求头、无限制存储等但每一项都能在 wxt.config.ts 与对应源码中找到明确的、服务于本地 AI 功能的用途唯一涉及数据外发的 Page Share 功能也通过默认关闭 显式触发 可自托管 可删除四重机制把用户数据边界掌控权交还给了使用者。对于在意数据隐私、希望用本地模型完成网页 AI 辅助任务的用户而言这是一个在透明度和可控性上设计得相当克制的方案。【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表