欲Desire 浏览器/DPP

Desire Page Protocol
让页面成为智能体的一等公民

DPP 是一个声明式页面协议:站点告诉智能体「我有什么数据、能做什么动作」, 智能体据此精确读取与操作页面——不再靠脆弱的猜测去猜选择器。

01三层接入,一分钟上线

按投入从低到高,三个层级随时可用、可以叠加(高层级覆盖低层级):

L0
well-known 站点声明
在 /.well-known/desire.json 放一份 JSON:站点级页面地图、登录态指引。 不改一行业务代码。
L2
页面内联声明
页面脚本直接设置 window.__desireProtocolExposed = {…}(原生声明形态, 无需引外部 SDK);噪音区在元素上标 data-dpp-ignore。
L3
SDK 一行接入
<script src="https://desire.mankong.icu/desire-sdk.js"></script> 自动发现数据视图与动作,支持事件(order-placed 等)主动唤起智能体。

02声明什么:views · actions · events

一个典型的 L3 声明长这样(来自演示商店):

desire.expose({
  views: {
    products: { item: ".card[data-sku]",
      fields: { title: ".name", price: {selector: ".price", type: "price"},
                sku: {selector: ".", attr: "data-sku"} } }
  },
  actions: {
    "add-to-cart": { params: {sku: {type: "string", required: true}},
                     run: [{click: ".card[data-sku='{sku}'] button.add"}],
                     effects: "persist" },
    checkout: { run: [{click: "#checkout-btn"}], effects: "outbound" }
  },
  events: { "order-placed": {watch: ".toast.order"} }
});

03L3 SDK:一行脚本,全量能力

在任意页面引入:

<script defer src="https://desire.mankong.icu/desire-sdk.js"></script>

SDK 提供类型化字段抽取、动作执行器、事件观察与自动化翻页;与 Desire 的信任分级 (站点声明 < 页面声明 < 用户显式指令)天然协同——声明只描述能力,执行永远经过用户的 访问等级与审批闸门。

隐私边界:声明与抽取全部在本机完成,页面数据不上传;跨源 iframe 的声明聚合与 定向提取在宿主侧实现,页面之间互相不可见。

04演示商店:真实请求的活样本

desire.mankong.icu/demo/ 是一个按 DPP 接入的迷你商店:购物车与下单是真实请求(写入演示服务的内存,非真实交易)。用 Desire 打开后对智能体说:

页面右下角的虚线框是 data-dpp-ignore 标注的噪音横幅——智能体会绕开它。

05兼容性与边界