MDAN MDAN Docs
官网

MDAN

一页,同时面向人类和 Agent。

MDAN(Markdown Action Notation)是一种共享表示法,用来表达可交互页面,并让同一页面从同一份源在不同界面中都能同时对人类和 Agent 保持可读、可操作。

同一页面。同一动作。同一体验。

这意味着同一个应用可以同时服务浏览器和 Agent,而不需要把交互模型拆散到 Markdown、提示词、JSON API 和前端胶水代码里。

MDAN 是什么

MDAN 把页面本身当成应用行为的基本单位。

在一份页面源里,你可以同时保留:

这让 MDAN 很适合用来构建 agent app、skills app,以及需要持续多步交互的页面型应用。

@mdanai/sdk 是当前这套格式和相关 Host 行为的一份 TypeScript 参考实现。

它解决什么问题

如果一个应用本身就要同时给 Agent 和人使用,架构通常会很快分叉:

MDAN 的做法,是让页面本身承担这层表达。这样一来:

什么时候适合用 MDAN

当你满足下面这些条件时,MDAN 很合适:

什么时候不适合

下面这些场景通常不必上 MDAN:

工作方式

MDAN 的工作方式可以先概括成三步:

  1. 页面源用 Markdown 表达内容和操作
  2. 交互发生后,服务端返回更新后的 Markdown 片段
  3. Agent 或浏览器基于这个结果继续下一步

对 Agent 来说,通常读取的是 Markdown。
对浏览器来说,通常读取的是 HTML。

也就是:

变化的是返回形式,不是背后那套应用。

文档导览

开始

核心概念

用 MDAN 构建

规范

SDK 参考

推荐阅读顺序

  1. 快速开始
  2. 什么是 MDAN?
  3. 理解 MDAN
  4. HTTP 内容协商
  5. Agent 直接消费
  6. 开发者路线图
  7. 应用结构
  8. 规范 v1
  9. SDK 概览