inspect 会向正在运行的开发会话询问某个文档此刻的样子。它可以列出打开的标签页,返回结构化摘要或原始 HTML,并附上同一个目标最近的控制台输出。
会话必须在控制通道解锁的状态下运行:用 extension dev --allow-control 启动它。被拒绝时错误信息会点名缺失的 flag,所以一次被拒的调用就能告诉你该如何重启会话。
什么时候使用 inspect
- 你想确认你的 content script 究竟往页面里渲染了什么。
- agent 需要标签页 id,以便精确地把
eval或inspect调用指向某个目标。 - 你希望在一次机器可读的结果里同时拿到 DOM 状态和对应的控制台输出。
用法
参数与 flag
没有
--deep-dom 这个 flag。深层 DOM 支持是会话内部上报的桥接能力,不是你能逐次调用去开关的东西。
发现循环
数字形式的标签页 id 让定位变得确定。设计好的流程是先列出、再查看:--list-tabs 需要解锁的控制通道,但不需要 eval 令牌,所以它在任何 --allow-control 会话中都能用。返回结果是一个由 {id, url, title, active, windowId} 对象组成的数组。把其中的 id 值直接喂给这里的 --tab,或者喂给 eval。
控制台增强
--with-console 会往结果里合并一个 console 数组:同一 context 与标签页最近的 n 条日志记录,读取自会话的 logs.ndjson。这样 agent 一次往返就能同时拿到 DOM 状态和控制台证据。这个增强是尽力而为的,永远不会让命令失败。
两种输出模式都会显示它。pretty 模式会在 DOM 摘要之后,以 logs 使用的同一种 [seq] LEVEL (context) message 格式打印控制台行;当尾部为空时打印 (no console lines captured)。--output json 则把原始记录放在信封的 console 数组里。
截断
超过--max-bytes 的 HTML 返回时会被截断。pretty 模式会在 stderr 上打印一条截断提示,--output json 会在信封中设置 truncated: true(参见 结果信封)。
失败模式
- 该浏览器没有找到会话:
E_SESSION_NOT_FOUND,并附上应当运行的完整extension dev命令。 - 会话在没有
--allow-control的情况下运行:连接会被拒绝,错误信息会点名这个 flag。 - 目标界面没有打开,或者
--tab指定的 id 已经不存在:E_TARGET_NOT_FOUND。 - 目标耗时超过了
--timeout:E_TIMEOUT。
doctor。

