Repository navigation
Firefox-Reverse v0.27.0
Firefox-Reverse v0.27.0
v0.26.2之后的正式版,合入pr #28、#31、#32、#33、#34、#35。感谢@awaxiaoyu实现openai responses与gemini两个模型协议(#30,以#32合入)。
更新内容
页面交互走原生输入(#28)
page_click、page_type改走firefox原生输入通道(与webdriver同一条路):鼠标沿曲线移到元素上再按下抬起,页面收到isTrusted的pointer/mouse/click序列;逐字按键,大写和符号按住shift,中文走输入法提交,submit发原生回车。- 只点元素露在最上层的位置,被盖住时返回
target_obscured并写明遮挡物。旧的selector/text写法照常可用。(说明)
离线回放与固定随机数(#31)
net_capture可录响应体(解码后);net_replay用录制回答之后的请求、不走网络,没录到的默认拦截,可存取har。page_determinism固定页面的Math.random和crypto随机数,同输入得到同一个签名;replica把同一串随机数的node版写进工作目录给复刻用。都在引擎层实现,页面看到的仍是原生函数。(说明)
模型协议(#32)
- 自定义模型端点新增openai responses api与gemini原生generatecontent:流式文本、function calling、图片输入、工具循环和思考摘要(模型或网关不认时自动去掉重发并记住)。
- gemini的工具声明走标准json schema(
parametersJsonSchema);并行同名调用、被输出上限截断的调用、服务端判定无效的调用都有专门处理,不会静默丢调用;responses只在开启思考时带include,非推理模型照常可用。
调试工具(#33)
debug_breakpoint按源码片段、行号或请求url下快照断点,命中不暂停页面,抓实参、作用域变量、指定变量的深序列化和调用栈。page_console读页面的console消息和脚本错误;clear_site_data按站点清cookie、存储、缓存、权限和认证状态。(说明)- 内置逆向skill补了反混淆(webcrack)和弹窗、等待条件的处理。工具现为76个。
出包与构建(#28、#35)
release-build.sh为每个目标写build-record.<目标>.json(提交、基线、l10n、mozconfig哈希、configure参数、工具链版本、产物哈希);五个目标的mozconfig入库;mac包也能在mac本机出。本版五个目标都在维护者本机出包(mac目标在mac上编,linux和windows在lima虚拟机的x86_64容器里交叉编译),构建记录随验证摘要入库。- windows包随包带msvc运行库(
vcruntime140、vcruntime140_1、msvcp140):v0.26.2及之前的windows包在没装vc++运行库的windows上启动即退(0xc0000135),本版修复,windows包验证会检查这三个dll。
验收结果
本版本为正式版,多平台原生ci全部通过。各平台均直接运行未修改的最终包,并与固定源码逐字节核对。
| 平台 | 指纹回归 | 页面/agent | 环境生命周期 | 提示词场景/合成请求 |
|---|---|---|---|---|
| macos arm64(本机macos 26.7.1) | 213 | 78 | 12/9/6 | 8/11 |
| macos intel(原生runner) | 197 | 78 | 12/9/6 | 8/11 |
| windows x86_64 | 212 | 78 | 12/9/6 | 8/11 |
| linux x86_64 | 182 | 78 | 12/9/6 | 8/11 |
| linux arm64 | 182 | 78 | 12/9/6 | 8/11 |
mac arm64另外通过:
- 15个数据目录场景;
- 从main上
0498ec3的构建(版本号仍是0.26.2)原位升级:同一个profile,书签、模型配置、指纹环境都保留,临时环境经退出通道关闭。
intel包在本机经rosetta、linux arm64在本机虚拟机里也各跑了一遍同样的检查。
windows另外:
- 在windows 11 x64(没装vc++运行库)和windows 11 arm64两台测试机上各通过一遍完整验收:包身份核对、页面交互、环境生命周期、原生指纹、全局提示词,以及
verify-windows-package.py的6次冷启动截图和ledger回归; - 原生runner上同样通过6次截图/退出和ledger回归;
- 安装程序的核心载荷与zip逐文件一致(54个文件),未额外执行安装向导。
已知限制:
- 数据目录场景是故障注入,不等同于macos 27的tcc实机验收。
- 访问不到mozilla服务的网络里,windows上环境浏览器退出可能要15–60秒以上,后端15秒后强制结束(v0.26.1起已知)。
- intel mac和两种linux的无头ci没有验证gpu/msaa;windows上的trace输出没有在真机上实测。
完整范围见验证摘要。
安装
附件只提供五目标六个安装/便携包:macos apple silicon、macos intel、windows x86_64安装程序与zip、linux x86_64、linux arm64。报告和构建日志不作为release附件。
升级前完整退出旧浏览器,替换原位置的应用,保留原有profile与环境目录。不要直接从dmg里运行:profile映射和安装路径有关。macos使用ad-hoc签名,未作apple developer id公证。windows不再需要预装vc++运行库。
运行时代码:47629eebd8ad2c8b3f1d2fd41332c55a1e05920b;BuildID:20261102031948。