FORGE KUI / docs

KUI DevTools 与 CDP

同一种调试接口形状,不同的运行时与能力范围。选择能复用的命令,也看清需要改写的部分。

版本 3.61.7

为什么看起来像 CDP

Chrome DevTools Protocol(CDP)按域组织命令和事件,消息用 JSON 传输。KUI 同样通过 HTTP 发现 target,再经 WebSocket 收发带 id 的命令;DOM、CSS、Page、Input 等名字便于复用部分调试客户端。相似的是连接方式与部分命令形状,不是底层浏览器实现。

按工作流比较

以下对比基于 KUI 当前路由表和 CDP 官方定义。CDP 的具体域随 Chromium 版本演进;KUI 的当前方法也应按所用 SDK 版本核对。

KUI 与 CDP 的可复用范围
工作流KUI DevToolsChrome CDP
运行环境KUI 原生窗口、HTML/CSS、可选 LuaChromium/Blink 页面和浏览器进程
发现与连接回环 HTTP `/json` + 带 token 的 WebSocket远程调试端点 + WebSocket
元素与样式DOM、计算样式、匹配规则、盒模型、运行时编辑更广的 DOM/CSS 域与浏览器样式模型
脚本调试Lua 求值、断点、调用栈与变量;需要脚本引擎JavaScript/V8 调试
网络脚本、样式与图片的资源状态列表请求、响应、时序等完整网络域
性能KUI 帧阶段、失效、节点工作、可用资源指标浏览器渲染与运行时的性能、Tracing 等域
自动化输入、截图、录屏与 MCP 工具;部分 CDP 方法为别名浏览器导航、target、网络拦截等广泛自动化

哪些命令能直接借用

Page.captureScreenshot 对应 KUI 截图,Runtime.evaluate 对应 Lua 求值;DOM.getBoxModel、Input.dispatchMouseEvent 等也提供类似入口。参数或返回结构可能只有部分对齐,适配器应逐方法核对。尤其不要把返回 {} 的 bootstrap enable 方法误判为整域功能已实现。

迁移现有 CDP 客户端时

先列出客户端实际发送的方法,再对照 KUI 协议表。保留 DOM/CSS/输入/截图等有对应实现的步骤;把 JavaScript 求值改成 Lua 或原生宿主接口;把浏览器导航、ServiceWorker、完整 Network、Target 会话和设备仿真等步骤按 KUI 应用模型重写。最后在真实应用窗口验证交互与结果。

兼容性的准确说法

KUI 提供 CDP 风格的调试协议和部分同名方法,另有面向 KUI 渲染与 Lua 的专用能力。它不是 CDP 的完整实现。对 Playwright、Puppeteer 等浏览器自动化工具,只有经过目标方法和运行场景验证,才可以说某条工作流可用。

文档有误或遗漏?

反馈此页问题 →