雨见浏览器PC测试版1.5.0
本阶段(1.4.9 → 1.5.0)的主线是「**超级投屏与 AI 浏览器工具**」。首先是**超级投屏**——本机实现 DLNA/UPnP MediaRenderer 接收端,手机视频 App 可在局域网直接投屏到电脑,投屏请求自动伪装电视端请求头绕过 CDN 防盗链;配套的智能播放器重构为单例窗口,支持本地文件管理与播放状态回报。第二块是 **AI 浏览器工具**——落地 MCP 风格的 tools/list + tools/call 协议,雨见 AI 可搜索书签、管理标签页、读取页面与执行脚本,危险操作弹原生确认;外观设置新增"让AI处理",一句话描述效果即可由 AI 编写 CSS 实时预览。其余还有 **IPTV 直播源订阅**、**标签组预览图落盘**、**书签浮层悬停唤起**、**外观面板悬停高亮与雨见AI 按钮样式**、**手势整页滚动**,以及选择性粘贴、greasyfork 登录、标签动画残留等修复。
## 主要更新
### 1. 超级投屏(DLNA 接收端)
- **DLNA/UPnP MediaRenderer 服务**(`5674960`):零依赖实现投屏接收端——SSDP 让手机视频 App、BubbleUPnP 等控制端在局域网发现本机,HTTP 提供 SOAP 控制(AVTransport / RenderingControl / ConnectionManager)与 GENA 事件订阅;真正的播放由智能播放器窗口完成,控制命令与播放状态双向回传。快捷菜单新增「超级投屏」入口,一键把播放器切到接收模式。
- **投屏请求头伪装**(`21f2295`):投屏地址按电视端场景下发,去掉 Referer/Origin 等 Chromium 特征头,UA 换成常见投屏接收端的 Lavf 标识,绕过 B 站等 CDN 的外站防盗链;m3u8 切片与密钥常在别的 CDN 域名上,投屏期间媒体类请求一并按投屏策略处理。
- **播放器单例重构**(`65d948d`):地址栏、超级投屏、本地文件入口共用同一个播放器窗口,使用独立临时 session,避免与浏览器主 session 互相覆盖 Referer/Cookie;支持本地视频文件管理与网页嗅探资源同列展示,页面回报播放状态,正在播放时不跟随标签页切换重载,请求头规则在订阅切走后仍保留。
### 2. IPTV 直播源
- **订阅解析与管理**(`2ca0273`):新增 IPTV 解析器,支持 TXT / M3U / TVBox 三种格式;订阅服务负责拉取、缓存、持久化(落 userData/iptv/),并可为订阅创建桌面快捷方式;网页检测到 IPTV 直播源时提示"点击在 IPTV 播放器中打开并可保存为订阅",快捷菜单与站点按钮接入 IPTV 播放器入口,拉取失败自动重试。
### 3. AI 浏览器工具
- **MCP 风格工具协议**(`35a33cd`):定义 `rainsee-browser-tools/1` 协议(tools/list + tools/call),跨端契约不依赖 Electron,安卓/iOS 可复用同一套 AI 前后端。工具按风险分级 read / write / dangerous,危险操作(关闭标签、执行脚本、删除书签、修改设置)弹原生确认框;主进程注册书签与历史、标签页(列出/打开/激活/关闭)、页面(读取内容/截图/执行脚本)、浏览器 UI 检查与 CSS 预览、白名单设置调整等能力,调用方校验、参数校验与调度集中在注册表完成。
- **外观设置"让AI处理"**(`35a33cd`):外观设置页新增 AI 改样式入口,用一句话描述想要的效果,AI 读取浏览器框架结构、编写 CSS 并实时预览,确认后才会保存。
### 4. 外观自定义
- **字段悬停高亮定位**(`5c2304b`):Chrome 风格面板悬停某个设置字段时,预览界面中对应的浏览器框架区域(顶栏、地址栏、标签、书签栏、侧边栏等)高亮描边,直观定位每项设置的作用范围;悬停提示仅用于实时预览,不写入配置。
- **雨见AI 按钮样式**(`e8c20a3`):浏览器框架 CSS 新增"雨见 AI 样式"配置项,可在按钮模式 / 图标模式之间切换。
### 5. 标签页
- **预览图落盘**(`bfb595c`):每次抓到标签快照后按稳定键写入 `userData/tab-thumbnails/`,直到标签被完全关闭才删除;修复内存节省模式恢复的占位标签(无 BrowserView)在标签组总览中只剩大图标的问题,磁盘副本跨重启、跨占位标签 id 替换均可用,撕离/合并到其它窗口继续沿用。无痕/工作区窗口不落盘,键名白名单校验防路径穿越。
- **动画中断收敛**(`6d8bf47`):每个标签元素记录最近一次动画目标值,动画被瞬时定位掐断或 rAF 被节流挂起时,通过瞬时落位 + setTimeout 兜底把 DOM 收敛到目标;修复主线程卡顿后新标签停在宽度≈0 的细条、旁边留空白,以及"+"按钮恢复后卡在最前面的问题。本提交同时将版本号更新为 `1.5.0`。
### 6. 书签与手势
- **书签浮层悬停唤起**(`d2c212d`):书签溢出浮层支持悬停唤起模式,动态记录唤起按钮的锚点矩形;浮层末尾固定显示「其他书签」「移动书签」等尾项;浮层盖住唤起按钮时,点击按钮区域等同点击按钮本身(如直接打开书签),并按光标位置判断是否需要立即收起;常驻视图复用同一份 DOM,打开前先清空上次内容避免闪现旧列表。
- **手势整页滚动**(`6303e23`):手势动作库新增「向上滚动一个页面」「向下滚动一个页面」。
### 7. 修复
- **选择性粘贴**(`df4bbb5`):权限检查对 https 来源放行 `clipboard-read`,修复 Chromium 因瞬时用户激活校验导致站点 `navigator.clipboard.read()` 看似不支持、选择性粘贴失效的问题;关于页链接改为真实超链接。
- **greasyfork 登录**(`2fbc78b`):Google 不可达时在网络层(webRequest.onBeforeRequest)把 greasyfork 域名 307 内部重定向到镜像站,保留方法、请求体与导航条目,并接入广告拦截引擎与扩展 webRequest 路径,移除旧的 View 级处理。
## 主要更新
### 1. 超级投屏(DLNA 接收端)
- **DLNA/UPnP MediaRenderer 服务**(`5674960`):零依赖实现投屏接收端——SSDP 让手机视频 App、BubbleUPnP 等控制端在局域网发现本机,HTTP 提供 SOAP 控制(AVTransport / RenderingControl / ConnectionManager)与 GENA 事件订阅;真正的播放由智能播放器窗口完成,控制命令与播放状态双向回传。快捷菜单新增「超级投屏」入口,一键把播放器切到接收模式。
- **投屏请求头伪装**(`21f2295`):投屏地址按电视端场景下发,去掉 Referer/Origin 等 Chromium 特征头,UA 换成常见投屏接收端的 Lavf 标识,绕过 B 站等 CDN 的外站防盗链;m3u8 切片与密钥常在别的 CDN 域名上,投屏期间媒体类请求一并按投屏策略处理。
- **播放器单例重构**(`65d948d`):地址栏、超级投屏、本地文件入口共用同一个播放器窗口,使用独立临时 session,避免与浏览器主 session 互相覆盖 Referer/Cookie;支持本地视频文件管理与网页嗅探资源同列展示,页面回报播放状态,正在播放时不跟随标签页切换重载,请求头规则在订阅切走后仍保留。
### 2. IPTV 直播源
- **订阅解析与管理**(`2ca0273`):新增 IPTV 解析器,支持 TXT / M3U / TVBox 三种格式;订阅服务负责拉取、缓存、持久化(落 userData/iptv/),并可为订阅创建桌面快捷方式;网页检测到 IPTV 直播源时提示"点击在 IPTV 播放器中打开并可保存为订阅",快捷菜单与站点按钮接入 IPTV 播放器入口,拉取失败自动重试。
### 3. AI 浏览器工具
- **MCP 风格工具协议**(`35a33cd`):定义 `rainsee-browser-tools/1` 协议(tools/list + tools/call),跨端契约不依赖 Electron,安卓/iOS 可复用同一套 AI 前后端。工具按风险分级 read / write / dangerous,危险操作(关闭标签、执行脚本、删除书签、修改设置)弹原生确认框;主进程注册书签与历史、标签页(列出/打开/激活/关闭)、页面(读取内容/截图/执行脚本)、浏览器 UI 检查与 CSS 预览、白名单设置调整等能力,调用方校验、参数校验与调度集中在注册表完成。
- **外观设置"让AI处理"**(`35a33cd`):外观设置页新增 AI 改样式入口,用一句话描述想要的效果,AI 读取浏览器框架结构、编写 CSS 并实时预览,确认后才会保存。
### 4. 外观自定义
- **字段悬停高亮定位**(`5c2304b`):Chrome 风格面板悬停某个设置字段时,预览界面中对应的浏览器框架区域(顶栏、地址栏、标签、书签栏、侧边栏等)高亮描边,直观定位每项设置的作用范围;悬停提示仅用于实时预览,不写入配置。
- **雨见AI 按钮样式**(`e8c20a3`):浏览器框架 CSS 新增"雨见 AI 样式"配置项,可在按钮模式 / 图标模式之间切换。
### 5. 标签页
- **预览图落盘**(`bfb595c`):每次抓到标签快照后按稳定键写入 `userData/tab-thumbnails/`,直到标签被完全关闭才删除;修复内存节省模式恢复的占位标签(无 BrowserView)在标签组总览中只剩大图标的问题,磁盘副本跨重启、跨占位标签 id 替换均可用,撕离/合并到其它窗口继续沿用。无痕/工作区窗口不落盘,键名白名单校验防路径穿越。
- **动画中断收敛**(`6d8bf47`):每个标签元素记录最近一次动画目标值,动画被瞬时定位掐断或 rAF 被节流挂起时,通过瞬时落位 + setTimeout 兜底把 DOM 收敛到目标;修复主线程卡顿后新标签停在宽度≈0 的细条、旁边留空白,以及"+"按钮恢复后卡在最前面的问题。本提交同时将版本号更新为 `1.5.0`。
### 6. 书签与手势
- **书签浮层悬停唤起**(`d2c212d`):书签溢出浮层支持悬停唤起模式,动态记录唤起按钮的锚点矩形;浮层末尾固定显示「其他书签」「移动书签」等尾项;浮层盖住唤起按钮时,点击按钮区域等同点击按钮本身(如直接打开书签),并按光标位置判断是否需要立即收起;常驻视图复用同一份 DOM,打开前先清空上次内容避免闪现旧列表。
- **手势整页滚动**(`6303e23`):手势动作库新增「向上滚动一个页面」「向下滚动一个页面」。
### 7. 修复
- **选择性粘贴**(`df4bbb5`):权限检查对 https 来源放行 `clipboard-read`,修复 Chromium 因瞬时用户激活校验导致站点 `navigator.clipboard.read()` 看似不支持、选择性粘贴失效的问题;关于页链接改为真实超链接。
- **greasyfork 登录**(`2fbc78b`):Google 不可达时在网络层(webRequest.onBeforeRequest)把 greasyfork 域名 307 内部重定向到镜像站,保留方法、请求体与导航条目,并接入广告拦截引擎与扩展 webRequest 路径,移除旧的 View 级处理。
评论
暂无评论。