

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456# 容器排查指南78当用户说「session xxx 有问题」或报告浏览器异常行为时,按以下流程排查。910## 容器命名1112每个 session 对应一个 Docker 容器,名称为 `bp-{session_id[:12]}`。1314## 排查步骤1516### 1. 读 CDP 事件日志(最重要)1718```bash19docker exec bp-{id前12位} tail -100 /tmp/cdp-events.jsonl20```2122每行是一个 JSON 对象,关键字段:23- `ts` — UTC 时间戳24- `type` — 事件类型:`console` | `network` | `navigation` | `error`25- `summary` — 一行人类可读摘要26- `method` — CDP 原始方法名2728按类型过滤:29```bash30docker exec bp-xxx tail -200 /tmp/cdp-events.jsonl | python3 -c "31import sys, json32for line in sys.stdin:33 e = json.loads(line)34 if e.get('type') == 'error':35 print(e['ts'], e['summary'])36"37```3839### 2. 常见问题模式4041| 日志特征 | 可能原因 |42|---------|---------|43| 连续 `Network.responseReceived` 302 | 被反爬重定向,需要手动过验证 |44| `Network.loadingFailed` errorText=net::ERR_* | 网络不通或 DNS 解析失败 |45| `Runtime.exceptionThrown` | 页面 JS 报错 |46| 连续重复的 `Page.frameNavigated` 同一 URL | Agent 在重复导航(检查 prompt 规则) |47| 无任何日志 | CDP logger 可能未启动,见步骤 3 |4849### 3. 检查 CDP logger 本身5051```bash52docker exec bp-xxx cat /tmp/cdp-logger-supervisor.log53```5455### 4. 容器进程状态5657```bash58docker exec bp-xxx supervisorctl status59```6061正常状态应有:`browser` RUNNING、`cdp-logger` RUNNING、其他 selenium 进程。6263### 5. 后端 API6465也可通过 HTTP 读取日志(前端面板使用此接口):66```67GET /api/sessions/{session_id}/logs?tail=100&log_type=network68```6970### 6. 内部 Docker / Selenium 请求不能走环境代理7172后端访问浏览器容器、Selenium Grid、WebDriver、CDP readiness 等内部地址时,HTTP 客户端必须显式绕过部署机器的 `HTTP_PROXY` / `HTTPS_PROXY` / `ALL_PROXY` 环境变量,例如 `httpx.AsyncClient(..., trust_env=False)`。7374典型症状:75- `GET /api/browser/tabs` 返回 `Expecting value: line 1 column 1 (char 0)`76- WebDriver 响应被代理替换成空 body、HTML 错误页、网关错误页77- 局域网访问 API 本身正常,但浏览器操作接口失败7879这类问题不要只从外部 curl 判断“局域网不可用”;要继续确认后端到浏览器容器的内部链路是否被代理或错误 host 劫持。8081## JSONL 日志示例8283```json84{"ts":"2026-04-05T12:03:01.123Z","type":"navigation","method":"Page.frameNavigated","summary":"navigated -> https://www.zhipin.com/web/user/"}85{"ts":"2026-04-05T12:03:01.456Z","type":"network","method":"Network.responseReceived","summary":"<- GET https://www.zhipin.com/api/user 200 45ms"}86{"ts":"2026-04-05T12:03:02.789Z","type":"error","method":"Runtime.exceptionThrown","summary":"TypeError: Cannot read properties of undefined (reading 'map')"}87```88
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| NoDeskAI/browser-pilot.cursor/rules/build-from-user-perspective.mdc · 34 | Cursor rules | buildsecurity | 51/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/deploy.mdc · 34 | Cursor rules | no sections | 38/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/env-vars.mdc · 34 | Cursor rules | setup | 63/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/fingerprint-popover-sync.mdc · 34 | Cursor rules | no sections | 25/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/keyboard-shortcuts-ux.mdc · 34 | Cursor rules | ui | 31/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/plan-ui-summary.mdc · 34 | Cursor rules | ui | 54/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/tailwind-css-color-mix.mdc · 34 | Cursor rules | ui | 50/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/ux-ui-daynight.mdc · 34 | Cursor rules | lint-formatui | 54/100 | 14 days ago | |
| NoDeskAI/browser-pilot.cursor/rules/verify-before-claim.mdc · 34 | Cursor rules | no sections | 50/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/nodeskai-browser-pilot-cursor-rules-debug-container)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.