Search: #Web开发

  1. 深入浅出 Chrome DevTools Protocol (CDP):浏览器自动化的幕后功臣当你在 Chrome 中按下 F12 打开开发者工具,查看网络请求、调试 JS 代码或模拟手机时,你是否好奇过这个面板是如何与浏览器核心进行通信的?答案就是 CDP(Chrome DevTools Protocol,Chrome 开发者工具协议)

    深入浅出 Chrome DevTools Protocol (CDP):浏览器自动化的幕后功臣

    当你在 Chrome 中按下 F12 打开开发者工具,查看网络请求、调试 JS 代码或模拟手机时,你是否好奇过这个面板是如何与浏览器核心进行通信的?

    答案就是 CDP(Chrome DevTools Protocol,Chrome 开发者工具协议)。它是所有 Chromium 系浏览器(包括 Chrome、Edge、Brave、Arc 等)对外的控制接口。无论是开发者面板本身,还是 Puppeteer、Playwright 等自动化测试框架,甚至是最新的 AI 浏览器 Agent,底层都依赖 CDP。

    什么是 CDP?

    CDP 是一个基于 JSON 的通信协议,通常通过 WebSocket 传输。它将浏览器的控制权划分为多个不同的“域”(Domains):

    Page:负责控制页面导航、截屏等。
    Network:观察和拦截网络请求与响应。
    Runtime:执行 JavaScript 代码并获取控制台输出。
    Input:模拟底层的鼠标、键盘和触摸输入。
    Target:发现并连接到不同的页面、Iframe 或 Service Worker。

    为什么直接操作原生 CDP 非常困难?

    虽然发送 JSON 指令看起来很简单,但维护浏览器状态却极其复杂:

    1. 动态生命周期:页面导航会销毁旧的 JavaScript 执行上下文并创建新的上下文。一旦发生跳转,之前的对象 ID 和引用都会失效。
    2. 多进程架构(Site Isolation):为了安全,浏览器会将跨站点的 Iframe 放在不同的渲染进程中。在 CDP 中,这意味着它们会被作为不同的 Target 暴露,你需要自己管理复杂的 Session 树。
    3. 协议演进快:CDP 的方法会随着 Chromium 的更新而频繁变动,维护兼容性成本极高。

    因此,在实际开发中,更推荐使用 Playwright 或 Puppeteer 这样成熟的库。它们帮我们处理了繁琐的等待、定位和生命周期管理,只在需要更底层能力时才向外暴露 CDP 会话。

    理解 CDP 的工作原理,能让我们在构建浏览器自动化工具或浏览器 AI Agent 时,做出更合理的架构设计。

    原文链接:https://x.com/kylejeong/status/2078196340216185127

    #浏览器自动化 #Chrome #CDP #开发者工具 #Web开发

  2. 让 Cloudflare Workers 拥有专属缓存:更低的延迟与零 CPU 开销Cloudflare 宣布推出 Workers Cache

    让 Cloudflare Workers 拥有专属缓存:更低的延迟与零 CPU 开销

    Cloudflare 宣布推出 Workers Cache。以往,Worker 总是运行在缓存的前面;而现在,Cloudflare 的多级缓存(Tiered Cache)可以直接放置在你的 Worker 前面。

    当请求命中缓存时,你的 Worker 代码根本不会执行。这不仅能让页面加载体验如静态网页般飞快,还能将这部分请求的 CPU 计费直接降为零。

    核心特性

    极简配置:只需在 Wrangler 配置文件中开启一行配置,即可通过标准的 HTTP 响应头(如 Cache-ControlVary)直接控制缓存。
    丝滑的异步更新:原生支持 stale-while-revalidate。当缓存过期时,系统会先将旧页面立即返回给用户,并在后台异步运行 Worker 更新缓存,让用户实现“零等待”。
    属于 Worker 自己的缓存:它摆脱了传统域名(Zone)的规则限制,缓存直接跟随 Worker 移动。无论是在自定义域名、workers.dev 还是预览 URL 中,都能无缝工作。
    多租户安全(ctx.props:可以将用户 ID 或租户 ID 编入缓存键,从而在边缘安全地为不同登录用户缓存个性化的 API 响应。
    应用内微服务级组合:缓存不仅能挡在最外层,还可以塞入同一个 Worker 的不同入口点(Entrypoints)之间,让你的架构设计更加灵活。

    目前,Astro 框架已经率先提供原生集成支持。所有方案(包括免费版)的 Worker 即日起均可启用该功能。

    https://blog.cloudflare.com/workers-cache/

    #Cloudflare #Serverless #Web开发 #缓存技术 #CloudflareWorkers Your Worker can now have its own cache in front of it

  3. WebClaw:OpenClaw 的轻量快速 Web 客户端(Beta)WebClaw 是一个面向 OpenClaw 的快速 Web 客户端,主打轻量、上手快,适合想用浏览器直接连接 OpenClaw Gateway 的用户与开发者

    WebClaw:OpenClaw 的轻量快速 Web 客户端(Beta)

    WebClaw 是一个面向 OpenClaw 的快速 Web 客户端,主打轻量、上手快,适合想用浏览器直接连接 OpenClaw Gateway 的用户与开发者。目前项目处于 Beta 阶段。

    你可以用它做什么

    • 在浏览器里访问/使用 OpenClaw(通过 Gateway 连接)
    • 本地快速启动,便于二次开发与调试

    本地安装(快速开始)

    • 克隆项目并启动开发环境:
    gh repo clone ibelick/webclaw
    cd webclaw
    pnpm install
    pnpm dev

    关键配置(连接 Gateway)
    apps/webclaw/.env.local 中配置:

    CLAWDBOT_GATEWAY_URL
    • 认证二选一(推荐 Token):
    CLAWDBOT_GATEWAY_TOKEN(推荐)或 CLAWDBOT_GATEWAY_PASSWORD

    默认 Gateway 地址为:ws://127.0.0.1:18789
    相关文档:https://docs.openclaw.ai/gateway

    链接:

    https://webclaw.dev/
    https://github.com/ibelick/webclaw

    #OpenClaw #WebClaw #开源项目 #TypeScript #Web客户端 webclaw.dev

  4. 如何更好地使用 AI 进行 UI 设计?Lovable 的 Prompt 指南这是一篇关于如何在使用 AI UI 构建工具 Lovable 时,写出更有效 Prompt 的实用指南

    如何更好地使用 AI 进行 UI 设计?Lovable 的 Prompt 指南

    这是一篇关于如何在使用 AI UI 构建工具 Lovable 时,写出更有效 Prompt 的实用指南。核心思想是通过结构化、系统化的方式与 AI 沟通,从而获得高质量、可控的设计成果。

    一个非常有效的技巧是让 AI 主动提问。在你的需求后面加上一句:“为了完全理解我的需求,请向我提问”,这样可以提前澄清细节,避免后期反复修改。

    指南将整个过程分为四个阶段:

    1. 奠定基础
    在动手前先做好规划,明确产品功能、目标用户和核心操作。从一开始就确定好整体的设计风格,是后续所有工作的基础。

    2. 系统化思考
    不要一次性生成整个页面,而是像搭积木一样,按组件(如导航栏、卡片)进行构建。使用真实内容而非占位符,并使用具体的 UI 术语(按钮、模态框)和风格关键词(如“极简”、“电影感”)来精确传达你的意图。

    3. 精确构建
    为常用布局创建可复用的 Prompt 模式以提高效率。通过 URL 直接添加图片或视频素材,并善用“编辑”功能进行微调,而不是每次都从头开始。

    4. 迭代与发布
    在设计阶段就考虑后端逻辑(如用户登录状态),并有意识地对设计进行版本管理,让迭代过程清晰可控。

    这套方法论不仅适用于 Lovable,对我们与其他 AI 工具进行高效协作也极具启发。

    原文链接:https://docs.lovable.dev/prompting/prompting-one

    #AI #提示工程 #UIDesign #Web开发 #Lovable Prompting best practices - Lovable Documentation

1px