Pling · 页灵 / Page Intelligence
Pling 是 Web 应用的 Agent 能力层:把已有操作变成可发现、可调用、可授权、可审计的能力资产。
不用重写应用,也不让 Agent 靠截图猜下一步。
把「预约设计评审」标记完成
把「预约设计评审」标记完成
open → completed返回的是一条执行证据,而不是一句“完成”。
谁最需要 · 得到什么
Pling 面向已经在真实业务中使用 Web 应用的团队:不推翻现有产品,也不把控制权交给模型。
问题不在模型不够聪明
同一个 DOM,可以渲染出两个外观完全相同的按钮。对页面来说,一个是“通过订单”,另一个是“拒绝订单”;对只看到标签、坐标或截图的 Agent 来说,它们几乎没有区别。
缺的不是点击能力,而是对象、语义、风险、权限和结果。Pling 把这层事实放回界面本来就有定义的地方。
模型需要试探、截图、再试探。
approve_orderdanger对象、风险、授权点与结果,均可被模型和审计系统读取。
每个操作都带着完成一次业务动作所需的最小事实。
执行闭环
Pling 不把浏览器变成一个新的自动化入口。它让 Agent 在页面声明的能力中选择,再由页面自己的事件、校验和业务函数完成操作。
在原有控件上补充稳定 id、业务说明与风险分类。
只向模型提供当前区域、相关记录和真正可执行的动作。
调用沿页面原有路径运行,不绕过组件、校验或服务端权限。
返回执行前后的可观察变化;成功必须能被验证。
TaskRow.tsxconst toggle = usePlingTool({
id: `toggle@${task.id}`,
desc: `完成「${task.text}」`,
kind: "write",
});没有声明,就不在能力面内。没有授权,可用也不等于可执行。
为什么是能力层
精准、省 token、安全与可审计来自同一条设计约束:让 Agent 只看见完成当前任务所需的东西。
精准
稳定的记录 id 与动作 id,让“第 2 条”始终指向同一条业务数据,而不是屏幕上的某个坐标。
上下文
当前区域、命中的记录、可执行的动作;没有整棵 DOM,也没有整个前端状态仓库。
安全
Agent 不能凭空获得页面的全部操作权。能力是否出现、是否可用、是否需要确认,都由应用决定。
证据
执行记录包含动作、目标、结果、确认与变更证据。失败也能明确区分“没有执行”和“执行后未生效”。
Agent Surface
页面内助手和页面外客户端使用同一组声明。外部 Agent 不接触 DOM、密钥或底层实现。
Agent Surface
不是把整个应用交给 Agent。应用先决定哪些能力可以被发现、被谁调用、在什么条件下调用;协议只定义 describe 与 invoke,不提供选择器点击或脚本执行。
同一份能力目录,按使用场景开放不同范围。
pling.surface/0.1view_orders查看订单与状态update_note修改订单备注refund_order退款,需人工确认暴露范围由应用与后端共同决定;协议本身不携带任何隐式权限。
TaskRow.vue<button
@click="toggle(task.id)"
v-tool="{
id: `toggle@${task.id}`,
desc: `完成「${task.text}」`
}"
>
{{ task.text }}
</button>真实案例
五个案例覆盖从最小闭环到外部 Agent。每个案例都保留真实业务组件,并在同一套执行路径上接入模型。
查看全部案例