聚焦浏览器与 Agent 控制
维持单一内置浏览器产品:标签页、地址栏、书签、历史、下载、数据导入、网页状态恢复,以及 DOM/ARIA 优先的 Agent 观察与操作。
OpenProgram 0.7.0 保留完整的内置网页浏览、书签、历史、下载、浏览器数据导入和 Agent 网页控制,但不发布扩展商店安装、本地扩展加载或扩展管理功能。
当前 Desktop 基于 Electron 的 Chromium,并不等于具备 Chrome 浏览器的完整扩展平台。Electron 只实现部分 extension API;大量现代商店扩展依赖未实现的 Manifest V3 service worker、chrome.action、账号同步或浏览器专属行为。仅完成下载和加载会向用户呈现不可靠的“已安装”状态。
维持单一内置浏览器产品:标签页、地址栏、书签、历史、下载、数据导入、网页状态恢复,以及 DOM/ARIA 优先的 Agent 观察与操作。
不提供商店安装、本地目录加载、扩展恢复、启停、更新和管理 UI。
界面不再出现 Extensions 页面、“Install in OpenProgram”、商店安装按钮或本地扩展目录选择器。用户不会遇到“已添加但 OpenProgram 不支持”的矛盾结果。
| 用户能力 | 0.7.0 | 界面与行为 |
|---|---|---|
| 浏览普通网页与商店网页 | 保留 | 商店详情页按普通网页显示,不插入安装控件。 |
| 书签、历史、下载、主页与数据导入 | 保留 | 继续由内置浏览器管理,不依赖扩展。 |
| Agent 感知并操作绑定 WebTab | 保留 | 继续使用现有 Web Use / Computer Use 边界。 |
| 从 Chrome / Edge 导入 Cookie、书签和历史 | 保留 | 浏览器数据导入与扩展代码导入分离。 |
| 从 Chrome Web Store / Edge Add-ons 安装 | 移除 | 没有 OpenProgram 安装入口,不下载 CRX。 |
| 从本地目录加载 unpacked extension | 移除 | 不暴露目录选择器或 preload IPC。 |
| 扩展启停、重载、更新和恢复 | 移除 | 不建立 registry、package 目录或启动恢复流程。 |
移除扩展功能后,网页 session 只负责网页状态、Cookie、下载和 DevTools/Agent 控制,不在启动前加载第三方代码。
persist:webtabs 保存网页会话;浏览器 UI 和 Agent 绑定继续使用。已有用户目录中的旧 browser-extensions/ 数据不再读取或执行。0.7.0 不主动删除该目录,以避免升级过程删除用户文件;后续若提供清理入口,必须明确列出目标并由用户触发。
已删除 extension manager、启动恢复、全部 extension IPC、preload API 和打包文件;本地刷新会清除旧 ASAR 中残留的 manager 与专用依赖。
已删除 Extensions built-in page、Browser 菜单入口、商店详情页安装按钮、相关类型、图标和 URL 识别器。
恢复旧窗口状态时丢弃历史 Extensions 标签;不读取、不执行、也不删除用户目录中的旧扩展文件。
check-no-browser-extensions.js 固定 Desktop、preload、Web 菜单、built-in page、bridge 和打包清单的负向边界。
Changelog、0.7.0 release notes、Desktop 文档与 FAQ 均明确“浏览器扩展不支持”,并列出保留的浏览器能力。
状态为“决策与代码均已实施”。证据只证明 OpenProgram 不再暴露或执行扩展功能,以及保留的浏览器专项检查通过;它不声称 Electron 具备完整 Chrome 扩展兼容性。
| 验收项 | 当前 | 完成证据 |
|---|---|---|
| 产品界面无扩展安装与管理入口 | 通过 | check-no-browser-extensions、check:built-in-browser 与 Web TypeScript。 |
| Desktop 不加载第三方 extension | 通过 | Desktop main/preload/package 负向契约;安装 manager 和专用生产依赖已删除。 |
| 旧扩展数据不执行且不被删除 | 通过 | check:compound-tabs 覆盖旧标签迁移;生产代码没有删除用户 browser-extensions/ 目录的路径。 |
| 保留浏览器能力无回归 | 通过 | check:webtabs、check:webtab-zoom-bounds、check:bookmarks、check:web-split 与 check:center-tabs。 |