lasso-mcp 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.en.md +2 -0
  2. package/README.md +7 -2
  3. package/dist/channels/LoggedInChannel.d.ts +25 -1
  4. package/dist/channels/LoggedInChannel.d.ts.map +1 -1
  5. package/dist/channels/LoggedInChannel.js +69 -1
  6. package/dist/channels/LoggedInChannel.js.map +1 -1
  7. package/dist/config/config.d.ts +22 -0
  8. package/dist/config/config.d.ts.map +1 -1
  9. package/dist/config/config.js +42 -0
  10. package/dist/config/config.js.map +1 -1
  11. package/dist/doctor/doctor.d.ts +1 -1
  12. package/dist/doctor/doctor.d.ts.map +1 -1
  13. package/dist/doctor/doctor.js +1 -1
  14. package/dist/doctor/doctor.js.map +1 -1
  15. package/dist/index.js +38 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/launcher/chrome-hide.d.ts +31 -0
  18. package/dist/launcher/chrome-hide.d.ts.map +1 -0
  19. package/dist/launcher/chrome-hide.js +62 -0
  20. package/dist/launcher/chrome-hide.js.map +1 -0
  21. package/dist/launcher/chrome-idle-reaper.d.ts +67 -0
  22. package/dist/launcher/chrome-idle-reaper.d.ts.map +1 -0
  23. package/dist/launcher/chrome-idle-reaper.js +119 -0
  24. package/dist/launcher/chrome-idle-reaper.js.map +1 -0
  25. package/dist/launcher/chrome-ledger.d.ts +11 -0
  26. package/dist/launcher/chrome-ledger.d.ts.map +1 -1
  27. package/dist/launcher/chrome-ledger.js +6 -0
  28. package/dist/launcher/chrome-ledger.js.map +1 -1
  29. package/dist/launcher/launch-chrome.d.ts +56 -3
  30. package/dist/launcher/launch-chrome.d.ts.map +1 -1
  31. package/dist/launcher/launch-chrome.js +210 -50
  32. package/dist/launcher/launch-chrome.js.map +1 -1
  33. package/dist/logged-in/CdpClient.d.ts +14 -0
  34. package/dist/logged-in/CdpClient.d.ts.map +1 -1
  35. package/dist/logged-in/CdpClient.js +31 -0
  36. package/dist/logged-in/CdpClient.js.map +1 -1
  37. package/dist/logged-in/TabSession.d.ts +6 -0
  38. package/dist/logged-in/TabSession.d.ts.map +1 -1
  39. package/dist/logged-in/TabSession.js +8 -0
  40. package/dist/logged-in/TabSession.js.map +1 -1
  41. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/resource-sampling.json +19 -0
  42. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v1-launch.json +8 -0
  43. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v1-screen.png +0 -0
  44. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v3-idle-reap.json +79 -0
  45. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v3-idle-reap.mjs +61 -0
  46. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v3b-a5-and-stop.json +44 -0
  47. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v3b-a5-and-stop.mjs +52 -0
  48. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v5-silent-tab.json +72 -0
  49. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v5-silent-tab.mjs +84 -0
  50. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-data/v6-headless.json +2 -0
  51. package/doc/17-/346/211/247/350/241/214/350/256/260/345/275/225/v1x-silent-verify.md +126 -0
  52. package/doc/KEY-GUIDE.md +4 -0
  53. package/doc/TROUBLESHOOTING.md +46 -0
  54. package/package.json +1 -1
  55. package/src/channels/LoggedInChannel.ts +66 -0
  56. package/src/config/config.ts +55 -0
  57. package/src/doctor/doctor.ts +1 -1
  58. package/src/index.ts +39 -2
  59. package/src/invariants/check-invariants.mjs +129 -0
  60. package/src/launcher/chrome-hide.ts +81 -0
  61. package/src/launcher/chrome-idle-reaper.ts +152 -0
  62. package/src/launcher/chrome-ledger.ts +18 -0
  63. package/src/launcher/launch-chrome.ts +232 -48
  64. package/src/logged-in/CdpClient.ts +31 -0
  65. package/src/logged-in/TabSession.ts +9 -0
package/README.en.md CHANGED
@@ -269,6 +269,8 @@ Key names match what's written in the table above — just fill them in. Save th
269
269
  lasso launch-chrome
270
270
  ```
271
271
 
272
+ Since v1.10 this Chrome launches **silently by default**: zero window, no focus stealing, always muted — it works in the background while you keep typing in the foreground (the only visible trace is one extra Chrome icon in the Dock / taskbar). Want to watch it work? Use `lasso launch-chrome --mode visible`. While the Lasso server is running, this Chrome also **closes itself ~60s after its last use** ("done-when-used-up", tunable via `LASSO_LAUNCH_IDLE_MS`; set `300000` to restore the 5-minute behavior, `0` to disable). You can always close it manually with `lasso chrome-stop` — it only kills Chromes Lasso itself launched (pid ownership verified), never yours.
273
+
272
274
  After that, say "open my logged-in Jira" to Claude and it'll connect automatically.
273
275
 
274
276
  > 🔴 **Red line**: 2FA / SMS codes / CAPTCHA / magic links — Lasso never solves these for you. You must manually pass them once in your local Chrome.
package/README.md CHANGED
@@ -190,7 +190,7 @@ macOS 上能控 Finder / Mail / Safari / Notes / 系统设置等任何原生 app
190
190
 
191
191
  ## 安装
192
192
 
193
- **当前版本 v1.9.0**(v1.9 补上浏览器生命周期收尾:无头浏览器空闲 5 分钟自动回收、`lasso chrome-stop` 按台账关闭 Lasso 起的 Chrome、`tab_restore` 恢复你原来的 tab 列表——见上文「用完怎么收尾」;v1.8 修复了 wave1 全量实测暴露的 24 条缺陷:上游 chrome-devtools-mcp@0.3.0 契约适配、截图真实落盘、launch-chrome 探活、caller-tier 配额接线、`read_text` 续页工具等——完整清单见 [doc/17-功能测试清单.md](doc/17-功能测试清单.md) 的「v1.8 修复记录」)。
193
+ **当前版本 v1.10.0**(v1.10 浏览器默认静默 + 用完即关:`launch-chrome` 默认零窗口零打扰启动(macOS/Windows 适配,`--mode visible` 可回退)、恒带后台反节流与静音、server 运行期最后使用后 ~60 秒自动关闭(`LASSO_LAUNCH_IDLE_MS` 可调,5 分钟语义配 300000 保留);v1.9 补上浏览器生命周期收尾:无头浏览器空闲 5 分钟自动回收、`lasso chrome-stop` 按台账关闭 Lasso 起的 Chrome、`tab_restore` 恢复你原来的 tab 列表——见上文「用完怎么收尾」;v1.8 修复了 wave1 全量实测暴露的 24 条缺陷:上游 chrome-devtools-mcp@0.3.0 契约适配、截图真实落盘、launch-chrome 探活、caller-tier 配额接线、`read_text` 续页工具等——完整清单见 [doc/17-功能测试清单.md](doc/17-功能测试清单.md) 的「v1.8 修复记录」)。
194
194
 
195
195
  **前提**:Node.js ≥ 20;Claude Code(或任何支持 MCP 的客户端)。
196
196
 
@@ -278,17 +278,21 @@ lasso launch-chrome
278
278
 
279
279
  启动后 Lasso 会自动探活调试端口(`curl /json/version` 级验证):Chrome 没起来 / 端口被占会**明确报错**,不再「返回成功但其实连不上」。想复用某个已有 profile 目录可以 `lasso launch-chrome --profile <目录>`。
280
280
 
281
+ **v1.10 起默认「静默干活」**:这个 Chrome **零窗口启动、不抢你的键盘/窗口焦点、永远静音**——你在前台写代码,它在后台抓页面,互不打扰(唯一可感知的残留是 Dock / 任务栏多一个 Chrome 图标,这是操作系统层面去不掉的)。想看着它干活用 `lasso launch-chrome --mode visible`(或在 `~/.lasso/config.json` 配 `"LASSO_LAUNCH_MODE": "visible"`)。
282
+
281
283
  之后对 Claude 说「打开我已登录的 Jira」就会自动连上。
282
284
 
283
285
  > 🔴 **红线**:2FA / 短信验证码 / CAPTCHA / 邮件魔法链接——Lasso 不替你解,必须你在本机 Chrome 里手动过一次。
284
286
 
285
- **用完怎么收尾(v1.9 新增)**:`launch-chrome` 起的 Chrome 会登记在台账里,一条命令即可关闭(只关 Lasso 自己起的、验证过归属的那个,不会误伤你手动开的浏览器):
287
+ **用完怎么收尾(v1.10 起基本不用你管)**:server 运行期间,这个 Chrome **最后一次被使用后约 60 秒内自动关闭**(用完即关,不用等、不用记着关)。想调阈值:`LASSO_LAUNCH_IDLE_MS=300000` 回退 5 分钟、`=1000` 逼近瞬时(代价是间隔稍长的操作要付 ~11 秒重冷启动)、`=0` 禁用自动关。单次长任务放行用 `lasso launch-chrome --idle-ms 3600000`。任何时候也可以手动关(只关 Lasso 自己起的、验证过归属的那个,不会误伤你手动开的浏览器):
286
288
 
287
289
  ```bash
288
290
  lasso chrome-stop # 关台账里所有 Lasso 起的 Chrome
289
291
  lasso chrome-stop --port 9222 # 只关指定端口的那个
290
292
  ```
291
293
 
294
+ > 诚实边界:单独跑 `lasso launch-chrome`(不经 server)时没有 idle 自动关,出口仍是 `chrome-stop`;`browse_logged_in` 连**你自己开的可见 Chrome** 是「低打扰,非零打扰」(macOS 上游平台级限制,个别操作可能抢一次焦点)——要纯静默就用 lasso 自己起的 hidden 档或 `browse_headless`;`desktop` 通道模拟真人键鼠,**设计上就占用物理键鼠**,没有静默形态。
295
+
292
296
  `browse_logged_in` 在你的 Chrome 里新开的 tab,任务结束后说一句 `admin {action:"tab_restore", reason:"任务完成"}` 就会关掉 Lasso 开的 tab、恢复你原来的 tab 列表(server 退出时也会自动做)。无头浏览器则默认 **5 分钟没人用就自动回收**,不再常驻占内存——高频连用想省冷启动,配 `LASSO_HEADLESS_IDLE_MS=3600000`(1 小时);配 `0` 完全禁用。
293
297
 
294
298
  **详见** → [Key 配置指南 · 登录态浏览](./doc/KEY-GUIDE.md#b-登录态浏览命令行配置无-key)。
@@ -360,6 +364,7 @@ Steel 用 Docker 一行启动:`docker run -p 3000:3000 -p 9223:9223 ghcr.io/st
360
364
  - 给登录 cookie 加一个自己的加密口令(不设则走 macOS 钥匙串)
361
365
  - 落盘搜索结果快照(做回归测试用)
362
366
  - 调无头浏览器空闲自动回收时间(`LASSO_HEADLESS_IDLE_MS`,默认 5 分钟;配 `0` 禁用)
367
+ - 调 launch-chrome 起的 Chrome「用完即关」时间(`LASSO_LAUNCH_IDLE_MS`,默认 60 秒;配 `300000` 回退 5 分钟、`0` 禁用)或切回可见启动(`LASSO_LAUNCH_MODE=visible`)
363
368
  - 设 Steel 自托管云浏览器端点(`STEEL_ENDPOINT`,如 `http://localhost:3000`;需同时开 `LASSO_ALLOW_CLOUD_BROWSER=true` 才启用)
364
369
 
365
370
  完整变量清单和默认值见 [Key 配置指南 · 高级调优](./doc/KEY-GUIDE.md#e-高级调优可选全不配)。**Surge / Clash 等 TUN 代理网络(fake-ip,`198.18.0.0/15`)与 `127.0.0.1`(本机 Chrome CDP 调试端口用)都已内置放行**,无需额外配置——这是设计行为,不是漏配。
@@ -67,6 +67,12 @@ export declare class LoggedInChannel extends BrowseChannel {
67
67
  * exportCookies / importCookies(admin opt-in 入口)经手 CookieStore。
68
68
  */
69
69
  private readonly cookieStoreFactory;
70
+ /**
71
+ * v1.10(parse18 §2.6 机制一):browse 活动回调(index.ts 注入 reaper touch)。
72
+ * 每次 getMcpClient 成功路径调用——活动源与 browse 频度天然同步;
73
+ * 台账 Chrome 的 idle 回收因此不误杀 in-flight 会话。
74
+ */
75
+ private readonly onChromeUse?;
70
76
  constructor(subproc: SubprocessManager, cdpPort: number | undefined,
71
77
  /**
72
78
  * v0.8 新增(parse9 §3.2):多 profile 注册表。
@@ -76,7 +82,9 @@ export declare class LoggedInChannel extends BrowseChannel {
76
82
  /** v0.8:CookieStore 工厂(admin.ts export/import 经手)。 */
77
83
  cookieStoreFactory: (profileName: string) => CookieStore,
78
84
  /** v0.8:tab LRU cap(生产默认 10;测试可传更小值)。 */
79
- tabCap?: number);
85
+ tabCap?: number,
86
+ /** v1.10(parse18 §2.6):browse 活动回调(chrome-idle-reaper touch 注入点)。 */
87
+ onChromeUse?: () => void);
80
88
  /**
81
89
  * v0.8:按当前 profile 注册/切换 spec(parse9 §3.2 接口签名)。
82
90
  *
@@ -97,6 +105,22 @@ export declare class LoggedInChannel extends BrowseChannel {
97
105
  * 防 idle watchdog(默认 5min)误杀 in-flight 长 browse。spec 名取当前 profile。
98
106
  */
99
107
  protected touchKeepalive(): void;
108
+ /**
109
+ * v1.10(parse18 §4.3 机制三):hidden 台账 Chrome 预建首 background tab。
110
+ *
111
+ * 背景:`--no-startup-window` 起的 Chrome **没有任何 page target**(E7:/json/list
112
+ * 只有扩展 background_page/service_worker)——chrome-devtools-mcp connect 后无页
113
+ * 可操作,其自建页路径(context.newPage → Target.createTarget 默认档)**会激活
114
+ * Chrome**(V4b/V8-I)。本方法在零 page 时经 CdpClient.createBackgroundTarget
115
+ * (WS `Target.createTarget {background:true}`,锁定的 0.3.0 上游没有此参数)
116
+ * 预建一个 about:blank tab——tab 级零打扰唯一钥匙(E7 两次复测)。
117
+ *
118
+ * 判定门:只对本 channel 绑定端口(cdpPort)且台账 launchMode==="hidden" 的
119
+ * Chrome 生效——复用用户可见 Chrome(无台账记录)零行为变化。
120
+ * 失败(CDP 不可达 / createTarget reject)→ warn 放弃(永不阻断 browse)。
121
+ * 永不 throw(红线,与 restoreTabs 同纪律)。
122
+ */
123
+ private precreateBackgroundTabIfHidden;
100
124
  /**
101
125
  * 简化版 2FA 探测(v0.1):
102
126
  * - 拿当前 tab 的 snapshot 文本,grep TWOFA_KEYWORDS。
@@ -1 +1 @@
1
- {"version":3,"file":"LoggedInChannel.d.ts","sourceRoot":"","sources":["../../src/channels/LoggedInChannel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAI5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAa/E,qBAAa,eAAgB,SAAQ,aAAa;IAoC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAzC3B,QAAQ,CAAC,IAAI,sBAAsB;IACnC,4DAA4D;IAC5D,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;gBAGvD,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,YAAO;IACvC;;;OAGG;IACc,QAAQ,EAAE,gBAAgB;IAC3C,sDAAsD;IACtD,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,WAAW;IACxD,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM;IAQjB;;;;;;;;;;;;OAYG;YACW,iBAAiB;cA2Bf,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAwBlD;;;OAGG;cACgB,cAAc,IAAI,IAAI;IAIzC;;;;;;;OAOG;YACW,UAAU;IAgCxB,wCAAwC;IACzB,MAAM;IAQrB;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO9C;;;;;;;;;;;OAWG;cACgB,kBAAkB,IAAI,gBAAgB,GAAG,IAAI;IAOhE;;;;;;;;;;;;;OAaG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAmBF;;;;;;;;;;;;OAYG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAiCF,kDAAkD;IAClD,kBAAkB,IAAI,gBAAgB;CAGvC"}
1
+ {"version":3,"file":"LoggedInChannel.d.ts","sourceRoot":"","sources":["../../src/channels/LoggedInChannel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAI5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAe/E,qBAAa,eAAgB,SAAQ,aAAa;IA2C9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAhD3B,QAAQ,CAAC,IAAI,sBAAsB;IACnC,4DAA4D;IAC5D,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAE1E;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;gBAGvB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,YAAO;IACvC;;;OAGG;IACc,QAAQ,EAAE,gBAAgB;IAC3C,sDAAsD;IACtD,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,WAAW;IACxD,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM;IACf,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,IAAI;IAS1B;;;;;;;;;;;;OAYG;YACW,iBAAiB;cA2Bf,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA+BlD;;;OAGG;cACgB,cAAc,IAAI,IAAI;IAIzC;;;;;;;;;;;;;;OAcG;YACW,8BAA8B;IAgC5C;;;;;;;OAOG;YACW,UAAU;IAgCxB,wCAAwC;IACzB,MAAM;IAQrB;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO9C;;;;;;;;;;;OAWG;cACgB,kBAAkB,IAAI,gBAAgB,GAAG,IAAI;IAOhE;;;;;;;;;;;;;OAaG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAmBF;;;;;;;;;;;;OAYG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAiCF,kDAAkD;IAClD,kBAAkB,IAAI,gBAAgB;CAGvC"}
@@ -30,6 +30,8 @@ import { HighRiskGate } from "../browse/HighRiskGate.js";
30
30
  import { CdpClient } from "../logged-in/CdpClient.js";
31
31
  import { TabRegistry } from "../logged-in/TabRegistry.js";
32
32
  import { TabSession } from "../logged-in/TabSession.js";
33
+ // v1.10(parse18 §4.3 机制三):台账读取(判定本 port 绑定的 Chrome 是否 hidden 档)
34
+ import { readLedgerSync } from "../launcher/chrome-ledger.js";
33
35
  /** 2FA / 登录表单关键词集(粗筛,v0.3 升级 selector-based 探测)。 */
34
36
  const TWOFA_KEYWORDS = [
35
37
  "two-factor",
@@ -73,6 +75,12 @@ export class LoggedInChannel extends BrowseChannel {
73
75
  * exportCookies / importCookies(admin opt-in 入口)经手 CookieStore。
74
76
  */
75
77
  cookieStoreFactory;
78
+ /**
79
+ * v1.10(parse18 §2.6 机制一):browse 活动回调(index.ts 注入 reaper touch)。
80
+ * 每次 getMcpClient 成功路径调用——活动源与 browse 频度天然同步;
81
+ * 台账 Chrome 的 idle 回收因此不误杀 in-flight 会话。
82
+ */
83
+ onChromeUse;
76
84
  constructor(subproc, cdpPort = 9222,
77
85
  /**
78
86
  * v0.8 新增(parse9 §3.2):多 profile 注册表。
@@ -82,7 +90,9 @@ export class LoggedInChannel extends BrowseChannel {
82
90
  /** v0.8:CookieStore 工厂(admin.ts export/import 经手)。 */
83
91
  cookieStoreFactory,
84
92
  /** v0.8:tab LRU cap(生产默认 10;测试可传更小值)。 */
85
- tabCap) {
93
+ tabCap,
94
+ /** v1.10(parse18 §2.6):browse 活动回调(chrome-idle-reaper touch 注入点)。 */
95
+ onChromeUse) {
86
96
  super();
87
97
  this.subproc = subproc;
88
98
  this.cdpPort = cdpPort;
@@ -90,6 +100,7 @@ export class LoggedInChannel extends BrowseChannel {
90
100
  this.cookieStoreFactory = cookieStoreFactory;
91
101
  this.tabs = new TabRegistry(tabCap);
92
102
  this.tabSession = new TabSession(cdpPort);
103
+ this.onChromeUse = onChromeUse;
93
104
  }
94
105
  /**
95
106
  * v0.8:按当前 profile 注册/切换 spec(parse9 §3.2 接口签名)。
@@ -136,6 +147,13 @@ export class LoggedInChannel extends BrowseChannel {
136
147
  // v0.8:按当前 profile 注册/切 spec(parse9 §3.2)
137
148
  await this.ensureProfileSpec();
138
149
  const c = await this.subproc.ensureRunning(this.lastSpecName);
150
+ // v1.10(parse18 §2.6 机制一):browse 活动打点(reaper touch;先于快照/预建——
151
+ // touch 是回收判定输入,必须最先落)。
152
+ this.onChromeUse?.();
153
+ // v1.10(parse18 §4.3 机制三):hidden 台账 Chrome 零 page target 时预建一个
154
+ // background tab(绕开 chrome-devtools-mcp 0.3.0 new_page 的默认激活路径;
155
+ // 失败 warn 降级——MCP 走自建页并如实承担激活,parse18 §4.2)。
156
+ await this.precreateBackgroundTabIfHidden();
139
157
  // v1.9(parse17 §4.3 机制三):首附着快照用户 tab 基线(后续调用 no-op;
140
158
  // 失败 warn 放弃不阻断 browse——下次 getMcpClient 重试)。
141
159
  try {
@@ -165,6 +183,56 @@ export class LoggedInChannel extends BrowseChannel {
165
183
  if (this.lastSpecName)
166
184
  this.subproc.touch(this.lastSpecName);
167
185
  }
186
+ /**
187
+ * v1.10(parse18 §4.3 机制三):hidden 台账 Chrome 预建首 background tab。
188
+ *
189
+ * 背景:`--no-startup-window` 起的 Chrome **没有任何 page target**(E7:/json/list
190
+ * 只有扩展 background_page/service_worker)——chrome-devtools-mcp connect 后无页
191
+ * 可操作,其自建页路径(context.newPage → Target.createTarget 默认档)**会激活
192
+ * Chrome**(V4b/V8-I)。本方法在零 page 时经 CdpClient.createBackgroundTarget
193
+ * (WS `Target.createTarget {background:true}`,锁定的 0.3.0 上游没有此参数)
194
+ * 预建一个 about:blank tab——tab 级零打扰唯一钥匙(E7 两次复测)。
195
+ *
196
+ * 判定门:只对本 channel 绑定端口(cdpPort)且台账 launchMode==="hidden" 的
197
+ * Chrome 生效——复用用户可见 Chrome(无台账记录)零行为变化。
198
+ * 失败(CDP 不可达 / createTarget reject)→ warn 放弃(永不阻断 browse)。
199
+ * 永不 throw(红线,与 restoreTabs 同纪律)。
200
+ */
201
+ async precreateBackgroundTabIfHidden() {
202
+ try {
203
+ // 1. 台账判定:本 port 绑定的 Chrome 是否 lasso 起的 hidden 档
204
+ const rec = readLedgerSync().find((r) => r.port === this.cdpPort);
205
+ if (!rec || rec.launchMode !== "hidden")
206
+ return;
207
+ // 2. 零 page target 判定(复用 TabSession /json/list 探针)
208
+ const pages = await this.tabSession.listPageTargets();
209
+ if (pages === null || pages.length > 0)
210
+ return;
211
+ // 3. 预建 background tab(失败返 null 走降级)
212
+ const cdp = new CdpClient(this.cdpPort);
213
+ try {
214
+ const targetId = await cdp.createBackgroundTarget("about:blank");
215
+ if (targetId) {
216
+ logger.info({
217
+ evt: "chrome_bg_tab_precreated",
218
+ port: this.cdpPort,
219
+ targetId,
220
+ });
221
+ }
222
+ }
223
+ finally {
224
+ await cdp.close();
225
+ }
226
+ }
227
+ catch (e) {
228
+ // CDP 不可达等任何异常 → warn 放弃(下次 getMcpClient 重试)
229
+ logger.warn({
230
+ evt: "chrome_bg_tab_precreate_failed",
231
+ error: String(e),
232
+ cdp_port: this.cdpPort,
233
+ });
234
+ }
235
+ }
168
236
  /**
169
237
  * 简化版 2FA 探测(v0.1):
170
238
  * - 拿当前 tab 的 snapshot 文本,grep TWOFA_KEYWORDS。
@@ -1 +1 @@
1
- {"version":3,"file":"LoggedInChannel.js","sourceRoot":"","sources":["../../src/channels/LoggedInChannel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,OAAO,EAAE,SAAS,EAAkB,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAyB,MAAM,4BAA4B,CAAC;AAE/E,oDAAoD;AACpD,MAAM,cAAc,GAAG;IACrB,YAAY;IACZ,KAAK;IACL,YAAY;IACZ,mBAAmB;IACnB,WAAW;IACX,gBAAgB;IAChB,eAAe;CAChB,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAoC7B;IACA;IAKA;IAzCV,IAAI,GAAG,kBAAkB,CAAC;IACnC,4DAA4D;IACpD,YAAY,GAAG,KAAK,CAAC;IAE7B;;;;;OAKG;IACK,YAAY,GAAkB,IAAI,CAAC;IAE3C,uEAAuE;IACtD,IAAI,CAAc;IAEnC;;;;;;;;OAQG;IACc,UAAU,CAAa;IAExC;;;;;OAKG;IACc,kBAAkB,CAAuC;IAE1E,YACmB,OAA0B,EAC1B,UAAkB,IAAI;IACvC;;;OAGG;IACc,QAA0B;IAC3C,sDAAsD;IACtD,kBAAwD;IACxD,yCAAyC;IACzC,MAAe;QAEf,KAAK,EAAE,CAAC;QAZS,YAAO,GAAP,OAAO,CAAmB;QAC1B,YAAO,GAAP,OAAO,CAAe;QAKtB,aAAQ,GAAR,QAAQ,CAAkB;QAO3C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ;YAAE,OAAO;QAC3C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;oBACV,GAAG,EAAE,kCAAkC;oBACvC,QAAQ,EAAE,IAAI,CAAC,YAAY;oBAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACJ,IAAI;gBACJ,uBAAuB,sBAAsB,EAAE;gBAC/C,kCAAkC,IAAI,CAAC,OAAO,EAAE;aACjD;YACD,aAAa,EAAE,0BAA0B,CAAC,CAAC,IAAI,EAAE;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,0CAA0C;QAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC;QAC/D,oDAAoD;QACpD,6CAA6C;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,uDAAuD;QACvD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzB,gDAAgD;QAChD,qEAAqE;QACrE,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACgB,cAAc;QAC/B,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,UAAU,CAAC,CAAY;QACnC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAE/C,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;iBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;iBACxB,IAAI,CAAC,IAAI,CAAC;iBACV,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACV,GAAG,EAAE,wBAAwB;oBAC7B,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,IAAI,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,4BAA4B;gBACjC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChB,QAAQ,EAAE,IAAI,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wCAAwC;IAC/B,KAAK,CAAC,MAAM;QACnB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,+DAA+D;IAC/D,uDAAuD;IACvD,+DAA+D;IAC/D;;;;;;;;;;;OAWG;IACgB,kBAAkB;QACnC,OAAO,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,+DAA+D;IAC/D,yEAAyE;IACzE,+DAA+D;IAC/D;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,aAAa;QAKjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,2BAA2B;gBAChC,OAAO;gBACP,KAAK;gBACL,YAAY,EAAE,OAAO,CAAC,MAAM;aAC7B,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,aAAa;QAKjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACvC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,2BAA2B;gBAChC,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,KAAK,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,uCAAuC;IACvC,+DAA+D;IAC/D,kDAAkD;IAClD,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,+DAA+D;AAC/D,UAAU;AACV,+DAA+D;AAC/D;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,CAAY;IAcrC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"LoggedInChannel.js","sourceRoot":"","sources":["../../src/channels/LoggedInChannel.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,19 @@ export interface LassoConfig {
19
19
  * 到期由 zombie reaper(60s 周期)树杀整棵 shim→node→Chromium 树。
20
20
  */
21
21
  headlessIdleMs: number;
22
+ /**
23
+ * v1.10(parse18 §2.4 机制一):launch-chrome 起的台账 Chrome「用完即关」
24
+ * idle 阈值(ms)。env LASSO_LAUNCH_IDLE_MS(默认 60_000;0 = 禁用 reaper)。
25
+ * 到期由 chrome-idle-reaper(15s 周期)经 chrome-stop 验证归属后回收。
26
+ * **与 headlessIdleMs 分工勿混**:LAUNCH=台账 detached Chrome;
27
+ * HEADLESS=MCP spec 子进程树(白盒 §6.1)。
28
+ */
29
+ launchIdleMs: number;
30
+ /**
31
+ * v1.10(parse18 §3 机制二):launch-chrome 启动档。
32
+ * env LASSO_LAUNCH_MODE(默认 "hidden" = 0 窗口零打扰;"visible" = v1.9 可见行为)。
33
+ */
34
+ launchMode: "hidden" | "visible";
22
35
  }
23
36
  export interface LoadConfigOptions {
24
37
  runId: string;
@@ -30,6 +43,15 @@ export interface LoadConfigOptions {
30
43
  * (52 进程积留的对症)。要回退 v1.8.1 常驻行为配 3600000。
31
44
  */
32
45
  export declare const DEFAULT_HEADLESS_IDLE_MS = 300000;
46
+ /**
47
+ * v1.10(parse18 §2.2 裁决):LASSO_LAUNCH_IDLE_MS 默认 60s(用户需求①「用完即关,
48
+ * 不等 5 分钟」)。四条依据:调用间隔统计(会话内秒级);重开成本不对称(30s 会频繁
49
+ * 触发 11s 重冷启);比 5min 短是显式要求;15s 周期 → 关窗最坏延迟 ≤75s。
50
+ * 配 300000 即回退「5min 才关」语义(5min 保留给用户,parse18 §2.4)。
51
+ */
52
+ export declare const DEFAULT_LAUNCH_IDLE_MS = 60000;
53
+ /** v1.10(parse18 §3.1):launch 档默认 hidden(保守默认 = 用户要的不打扰)。 */
54
+ export declare const DEFAULT_LAUNCH_MODE: "hidden" | "visible";
33
55
  /**
34
56
  * 默认 config 文件路径:~/.lasso/config.json。
35
57
  * 可用 env LASSO_CONFIG_PATH 覆盖(绝对路径,便于测试 + 多实例隔离)。
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kEAAkE;IAClE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,cAAc,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAiBhD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmBnD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiB7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAiF/D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kEAAkE;IAClE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,cAAc,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAMD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAchD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAc7C,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,GAAG,SAAoB,CAAC;AAgBlE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAsBnD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiB7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAsF/D"}
@@ -57,6 +57,40 @@ function parseHeadlessIdleMs(raw) {
57
57
  return DEFAULT_HEADLESS_IDLE_MS;
58
58
  return n;
59
59
  }
60
+ /**
61
+ * v1.10(parse18 §2.2 裁决):LASSO_LAUNCH_IDLE_MS 默认 60s(用户需求①「用完即关,
62
+ * 不等 5 分钟」)。四条依据:调用间隔统计(会话内秒级);重开成本不对称(30s 会频繁
63
+ * 触发 11s 重冷启);比 5min 短是显式要求;15s 周期 → 关窗最坏延迟 ≤75s。
64
+ * 配 300000 即回退「5min 才关」语义(5min 保留给用户,parse18 §2.4)。
65
+ */
66
+ export const DEFAULT_LAUNCH_IDLE_MS = 60_000;
67
+ /**
68
+ * 解析 LASSO_LAUNCH_IDLE_MS:parseInt;负数 / NaN / 未设 → 回退默认;
69
+ * 0 → 禁用(index.ts 不启动 chrome-idle-reaper——台账 Chrome 常驻到 chrome-stop)。
70
+ * 不设上限 clamp(用户配 300000 回退 5min 语义 / 1000 逼近瞬时,文档给两极端配法)。
71
+ */
72
+ function parseLaunchIdleMs(raw) {
73
+ if (raw === undefined || raw.trim() === "")
74
+ return DEFAULT_LAUNCH_IDLE_MS;
75
+ const n = parseInt(raw, 10);
76
+ if (Number.isNaN(n) || n < 0)
77
+ return DEFAULT_LAUNCH_IDLE_MS;
78
+ return n;
79
+ }
80
+ /** v1.10(parse18 §3.1):launch 档默认 hidden(保守默认 = 用户要的不打扰)。 */
81
+ export const DEFAULT_LAUNCH_MODE = "hidden";
82
+ /**
83
+ * 解析 LASSO_LAUNCH_MODE:仅接受 "hidden" | "visible";非法 / 未设 → "hidden"
84
+ * (保守默认;E7 实验唯一启动级零打扰 flag 链)。不设第三档 headless(parse18 §1.2
85
+ * 范围红线:headless 抓取由 browse_headless 通道承担)。
86
+ */
87
+ function parseLaunchMode(raw) {
88
+ if (raw === "visible")
89
+ return "visible";
90
+ if (raw === "hidden")
91
+ return "hidden";
92
+ return DEFAULT_LAUNCH_MODE;
93
+ }
60
94
  // ============================================================
61
95
  // v1.3 Phase A:config 文件机制(~/.lasso/config.json 扁平 JSON)
62
96
  // ============================================================
@@ -164,6 +198,9 @@ export const CONFIG_TEMPLATE = {
164
198
  LASSO_CALLER_CAP_DEFAULT: 100,
165
199
  LASSO_PROVIDERS_FILE: "",
166
200
  LASSO_HEADLESS_IDLE_MS: 300000,
201
+ // v1.10(parse18 §2.4 + §3):台账 Chrome 用完即关 + 隐藏启动档
202
+ LASSO_LAUNCH_MODE: "hidden",
203
+ LASSO_LAUNCH_IDLE_MS: 60000,
167
204
  };
168
205
  /**
169
206
  * 写 config init 模板到 getConfigFilePath(env)。
@@ -257,6 +294,9 @@ export function loadConfig(opts) {
257
294
  : "L4";
258
295
  // v1.9(parse17 机制一):headless idle 回收阈值(0 = 禁用)
259
296
  const headlessIdleMs = parseHeadlessIdleMs(env.LASSO_HEADLESS_IDLE_MS);
297
+ // v1.10(parse18 机制一/二):台账 Chrome 用完即关阈值 + 启动档(0 = 禁用 reaper)
298
+ const launchIdleMs = parseLaunchIdleMs(env.LASSO_LAUNCH_IDLE_MS);
299
+ const launchMode = parseLaunchMode(env.LASSO_LAUNCH_MODE);
260
300
  return {
261
301
  runId: opts.runId,
262
302
  providers,
@@ -268,6 +308,8 @@ export function loadConfig(opts) {
268
308
  searchCacheDir: path.join(cacheDir, "search-cache"),
269
309
  searchFreeOnly,
270
310
  headlessIdleMs,
311
+ launchIdleMs,
312
+ launchMode,
271
313
  };
272
314
  }
273
315
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type RustBridgeLike } from "../desktop/desktop-doctor-checks.js";
2
2
  import type { StealthProfileName } from "../browse/stealth-profiles.js";
3
3
  import type { McpClient } from "../subprocess/McpClient.js";
4
- export declare const LASSO_VERSION = "1.9.0";
4
+ export declare const LASSO_VERSION = "1.10.0";
5
5
  export interface DoctorCheck {
6
6
  name: string;
7
7
  status: "pass" | "fail" | "warn";
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/doctor/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/doctor/doctor.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ import { detectMachineSearchMcp, getClaudeJsonPath, } from "../search/MachineMcp
122
122
  import { probeCreepjs } from "./creepjs-probe.js";
123
123
  const execFileP = promisify(execFile);
124
124
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
125
- export const LASSO_VERSION = "1.9.0";
125
+ export const LASSO_VERSION = "1.10.0";
126
126
  // ============================================================
127
127
  // runDoctor
128
128
  // ============================================================