diff --git a/browser-harness/SKILL.md b/browser-harness/SKILL.md index 91b1d93..718031b 100644 --- a/browser-harness/SKILL.md +++ b/browser-harness/SKILL.md @@ -17,11 +17,14 @@ Direct browser control via CDP. For task-specific edits, use `agent-workspace/ag `agent-browser` / `playwright-cli` 插件已置 `false`。 - ⛔ **不附着用户日常 Chrome**。下面「Local Chrome」一节说的"默认附着正在运行的 Chrome" 在本机**不适用** —— 那样会弹「允许远程调试?」去动用户自己的浏览器(2026-09-26 实际踩到)。 + ⇒ 必须起**独立实例**:`BU_CDP_URL=127.0.0.1:9223`(不要用用户 Chrome 默认的 9222)。 +- 🔴🔴 **起实例 = 丢进常驻后台任务,⛔ 别在同步调用里起**(2026-10-09 用户点破「每会开浏览器都要错一次」)。 + 本机沙箱**父进程一退就连带杀子进程** ⇒ 同步调用(含 PowerShell `Start-Process`)里起的 Chrome **会立刻死**, + 症状是 `netstat` 查不到 9223、`curl` 报 `WinError 10061`(2026-10-09 实测踩到一次)。 + 做法:**先用常驻后台任务把浏览器开着(守端口),之后每次操作只连不起**;细节见「调 AI 工具」§1,⛔ 本处不复述。 - 🔴🔴 **一类任务只开一个标签页并复用,⛔ 禁止反复开**(2026-10-09 用户令)。 反复开页会把共享实例堆到**整机卡死**(端口不应答、进程不死,保活脚本也救不回 —— 见下面那条的实测读数)。 - 细则(什么叫"一类任务"、换路由/换视口/换页面各怎么办)**只写在下面那颗同名的 🔴🔴 子弹里**, - ⛔ 本处不复述 —— 但要记住它**优先于任何"顺手再开一个"的念头**。 - ⇒ 必须起**独立实例**:`BU_CDP_URL=127.0.0.1:9223`(不要用用户 Chrome 默认的 9222)。 + 细则**只写在下面那颗同名的 🔴🔴 子弹里**,⛔ 本处不复述 —— 但它**优先于任何"顺手再开一个"的念头**。 - 🔴 **先探测、能复用就复用**(2026-10-08 用户当场点破:「为什么要重新开浏览器,先检查之前是否开过浏览能否复用」)。 动手第一件事是查 `9223` 上**有没有已经在跑的实例**;有 ⇒ 直接连,⛔ 不要再起一个。 ⛔ 「量个尺寸 / 截个图 / 取个数」这类小活最容易犯这个错 —— 为了量一次就另起一个 headless 实例,