feat: 外接浏览器支持阶段一+二(Edge/Chrome 打开与基础自动化)

- 新增 browser/transport.ts: CdpTransport 抽象(Embedded=webContents.debugger / External=ws 直连调试端口)
- 新增 browser/external.ts: Chrome/Edge 路径探测(常见目录+注册表App Paths)、带独立 user-data-dir 与调试端口拉起、端口占用自增、/json/version 就绪轮询、远程连接模式
- session.ts: BrowserSession 改为传输层注入, navigate/currentUrl/download/弹窗/网络监听双模式适配; 外部会话按 (mode,type,port) 缓存复用; pickElement 外部模式明确报不支持(阶段四)
- capabilities/browser.ts: WebBrowser_Create/V2/V3/CreateBackground 读取 type/isRemote/ipAddress/port/arguments; type=chrome/edge 或 isRemote=1 走外部浏览器, 缺省仍走内置兜底
- 依赖: +ws ^8.22.0
- 冒烟已验证: Edge 156 拉起→CDP 连接→Page.navigate+loadEventFired→取标题→截图→setDownloadBehavior→关闭 全通过
- 内置浏览器行为不变(browser.test.ts 21 项回归通过)
This commit is contained in:
yu committed 2026-10-30 11:09:19 +08:00
1 parent a25f8c76b6
commit ccfd82e894
6 files changed
+786 -74

No files matched your search

+2
View File
@@ -31,6 +31,7 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tesseract.js": "^7.0.0",
"ws": "^8.22.0",
"zustand": "^5.0.2"
},
"devDependencies": {
@@ -40,6 +41,7 @@
"@types/pngjs": "^6.0.5",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/ws": "^8.18.2",
"@vitejs/plugin-react": "^4.7.0",
"electron": "31.7.7",
"electron-builder": "^26.15.7",