browser-harness 第一屏:把「起实例要丢后台任务」提上来(用户点破「每会开浏览器都要错一次」)

用户原话:「后台任务开启 浏览器,这个是不是也要写入规则,每会开浏览器都要错一次」。

核实结论:**规则本来就写了** ——「### 1. 🔴 浏览器要由常驻后台任务开着」写得很细(沙箱连带杀子进程、
同步调用起的会立刻死、做法是常驻任务守端口)。**问题在位置**:它挂在
「## 用 browser-harness 调 AI 工具(ChatGPT 等)的提问方法」下面,标题把适用范围限成了"调 AI 工具"
⇒ 干别的活(如③段闸门取证)按目录根本翻不到 ⇒ 每次重踩。本轮又踩一次:用同步方式起实例,
`netstat` 查不到 9223、`curl` 无响应。

改法(两处):
1、第一屏「本机(用户明令)」段加 🔴🔴 一条 —— 起实例=丢进常驻后台任务,⛔ 别在同步调用里起;
   写明症状(`netstat` 查不到 9223 / `curl` 报 `WinError 10061`)与做法,细节指向 §1,⛔ 不复述。
2、顺带修一处**上轮编辑留下的结构错位**:`⇒ 必须起独立实例:BU_CDP_URL=…` 原属
   「⛔ 不附着用户日常 Chrome」那条的收尾,上轮被接到了"一类任务一个标签"条下面 ⇒ 已归位。
This commit is contained in:
admin committed 2026-10-09 07:20:03 +08:00
1 parent 4ae1d0e79e
commit c36a3f4a50
1 file changed
+6 -3
+6 -3
View File
@@ -17,11 +17,14 @@ Direct browser control via CDP. For task-specific edits, use `agent-workspace/ag
`agent-browser` / `playwright-cli` 插件已置 `false`。 `agent-browser` / `playwright-cli` 插件已置 `false`。
- ⛔ **不附着用户日常 Chrome**。下面「Local Chrome」一节说的"默认附着正在运行的 Chrome" - ⛔ **不附着用户日常 Chrome**。下面「Local Chrome」一节说的"默认附着正在运行的 Chrome"
在本机**不适用** —— 那样会弹「允许远程调试?」去动用户自己的浏览器(2026-09-26 实际踩到)。 在本机**不适用** —— 那样会弹「允许远程调试?」去动用户自己的浏览器(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 用户令)。 - 🔴🔴 **一类任务只开一个标签页并复用,⛔ 禁止反复开**(2026-10-09 用户令)。
反复开页会把共享实例堆到**整机卡死**(端口不应答、进程不死,保活脚本也救不回 —— 见下面那条的实测读数)。 反复开页会把共享实例堆到**整机卡死**(端口不应答、进程不死,保活脚本也救不回 —— 见下面那条的实测读数)。
细则(什么叫"一类任务"、换路由/换视口/换页面各怎么办)**只写在下面那颗同名的 🔴🔴 子弹里**, 细则**只写在下面那颗同名的 🔴🔴 子弹里**,⛔ 本处不复述 —— 但它**优先于任何"顺手再开一个"的念头**。
⛔ 本处不复述 —— 但要记住它**优先于任何"顺手再开一个"的念头**。
⇒ 必须起**独立实例**:`BU_CDP_URL=127.0.0.1:9223`(不要用用户 Chrome 默认的 9222)。
- 🔴 **先探测、能复用就复用**(2026-10-08 用户当场点破:「为什么要重新开浏览器,先检查之前是否开过浏览能否复用」)。 - 🔴 **先探测、能复用就复用**(2026-10-08 用户当场点破:「为什么要重新开浏览器,先检查之前是否开过浏览能否复用」)。
动手第一件事是查 `9223` 上**有没有已经在跑的实例**;有 ⇒ 直接连,⛔ 不要再起一个。 动手第一件事是查 `9223` 上**有没有已经在跑的实例**;有 ⇒ 直接连,⛔ 不要再起一个。
⛔ 「量个尺寸 / 截个图 / 取个数」这类小活最容易犯这个错 —— 为了量一次就另起一个 headless 实例, ⛔ 「量个尺寸 / 截个图 / 取个数」这类小活最容易犯这个错 —— 为了量一次就另起一个 headless 实例,