3.2 KiB
3.2 KiB
Debug / Pitfalls
按工具 / 主题分节:## <tool> 为二级分组,具体坑用 ### YYYY-MM-DD 简述 + 症状 / 原因 / 规避 三联。同工具的坑逐步往下追加。
eza
2026-04-21 --tree 无路径参数静默空输出
- 症状:
eza --tree --git-ignore --level=2输出空, exit 0 - 原因: eza tree 模式需要显式路径参数
- 规避: 总是加
.(或其他路径)
broot
2026-04-21 无法在非交互环境使用
- 症状:
broot --cmd ":pt;:q"报Termimad Error: IO error: No such device - 原因: broot 需要 TTY, 设计就是交互工具
- 规避: CLI/Claude Code 场景直接用 eza + fd + rg
- 附注: 首次运行会自动 patch
~/.bashrc和~/.zshrc注入br函数
repomix
2026-04-21 大仓库 token 预算
- 症状: nexus4cc (203M 磁盘) 经 .gitignore 过滤后仍 144k tokens
- 原因: 前端单文件(如 Terminal.tsx 21k tokens)累积
- 规避: > 100k tokens 的仓库按子目录切片 (
repomix frontend/src -o /tmp/fe.xml)
pkill / bash
2026-04-21 pkill -f 匹配自身命令行导致 shell 退出
- 症状:
pkill -f cdp-proxy.mjs后整个 Bash 块 exit 144,没有错误信息 - 原因:
-f按完整命令行匹配,Bash tool 执行-c "pkill -f cdp-proxy.mjs ..."时 argv 里包含 "cdp-proxy.mjs",pkill 把自己的父 shell 一并杀了 - 规避: 用
pgrep -af <pattern>先列出 PID 再按 PID kill;或用更窄的 regex 如'cdp\S*proxy'(regex 元字符不在自己的命令行里出现)
lightpanda
2026-04-21 Beta 能力边界
- 症状: 多个看似标准的 CDP 操作失败:第二次
/new返回空对象、/screenshot报UnknownTargetId、关闭最后一个 tab 后所有请求BrowserContextNotLoaded - 原因: v1.0.0-nightly.5674 当前实现受限 ——(1)只维护单 target/BrowserContext(targetId 永远是
FID-0000000001)(2)Page.captureScreenshot未实现(3)没有 tab 自动重生机制 - 规避: 同时多目标时用 A 模式(
lightpanda fetch)或多进程 serve;需要截图走 web-access 默认 Chrome 模式;避免 close 最后一个 tab(或 close 后立即/new重建)
2026-04-21 强反爬 SPA 被挡在 noscript 页
- 症状: 导航到 x.com 等站点,
document.body.innerText返回<noscript>错误页内容而不是真实页面 - 原因: lightpanda 覆盖率不足,被站点的反爬/浏览器指纹检测识别为非真浏览器
- 规避: 需要反爬能力强的场景切换到 web-access 连真 Chrome;或提前测试目标站点可行性
web-access skill
2026-04-21 cdp-proxy.mjs 硬编码 Chrome 专用 ws 路径,不兼容 lightpanda
- 症状:
lightpanda serve --port 9222起来后check-deps.mjs报 "连接超时",proxy 日志循环 "连接错误: 连接失败" - 原因:
scripts/cdp-proxy.mjsgetWebSocketUrl()fallback 到/devtools/browser(Chrome 专用),而 lightpanda 的webSocketDebuggerUrl是ws://host:port/(根路径) - 规避: 端口扫描分支加入
/json/version探测(CDP 标准 discovery endpoint),从响应的webSocketDebuggerUrl取pathname。通用修复,Chrome 也受益。已本地 patch,skill 升级会被覆盖,需重新应用