MDAN MDAN Docs
官网

理解 MDAN

这页只讲 MDAN 最核心的工作方式,不讲具体接入细节。

关键点

1. 页面源

一个 MDAN 页面通常包含:

也就是说,一页内容和这页里的交互,放在同一个地方定义。

2. Block

BLOCK 是页面里可以单独更新的一块内容。

它通过 mdan:block <name> 这样的锚点插回正文。
运行时如果这块内容发生变化,系统只需要更新这一个 block,不需要把整页重新返回一遍。

3. 片段更新

一次成功的读取或写入,通常不会返回整页,而是返回当前 block 的 Markdown 片段。

这个片段里通常不只是刷新后的内容,也会继续带着下一步可执行的操作。

所以对 Agent 来说,返回值不是“只看一眼的结果”,而是下一步继续交互的工作面。

Agent 和浏览器分别怎么用

MDAN 同时支持 Agent 和浏览器,但它们使用的是同一个应用。

Agent

Agent 先读取完整页面 Markdown,理解当前内容和可执行的操作。

执行某个 target 之后,服务端返回的 Markdown 片段通常会同时提供两类信息:

也就是说,服务端不是只把“结果”返回给 Agent,而是在持续提供下一步可读、可执行的交互上下文。

浏览器

浏览器访问同一个应用时,请求的是 HTML。页面加载后,浏览器运行时再接管后续交互,并按需要更新 block 或页面状态。

为什么这套模型重要

相关文档