a2ui-project / a2ui-project/a2ui

feat: Proposal for A2UI Markdown Profile & String Transport API

未关闭
#2,173 8 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
P2
主要语言
TypeScript
星标
16.4k
派生
1.3k
平均合并
2 天 13 小时
30 天内合并 PR
134

描述

### Problem Statement & Challenge

Standard A2UI uses structured wire protocol messages (`createSurface`, `updateComponents`, `updateDataModel`, `deleteSurface`) transmitted over stateful transports such as WebSockets or Server-Sent Events. In this standard model, renderers maintain long-lived surface registries, while agents manage surface identifiers and state transitions across conversation turns.

However, many application developers build conversational interfaces using standard text-based chat frameworks (such as the OpenAI API, Google Gemini API, Vercel AI SDK, or LangChain). These frameworks store and transmit messages strictly as plain text or Markdown strings. Forcing developers to adopt custom WebSocket frame schemas, out-of-band JSON streaming protocols, or persistent surface state managers introduces integration friction.

### Proposed Solution

Introduce the **A2UI Markdown Profile** ("String Transport") built on top of core A2UI abstractions:

1. **Message-Bound Surface Isolation**: Every embedded block (`` or ``) is an independent, self-contained UI surface created using v1.0 single-message UI instantiation (`createSurface` with full component tree and initial data model).
2. **Wire Transparency**: Messages are stored and transmitted as standard Markdown text strings without requiring custom transport frames or out-of-band JSON channels.
3. **Agent SDK Facade (`A2uiMarkdownProcessor`)**: Server-side facade providing prompt skill generation (`generate_skill()`), context formatting (`format_context()`), and output processing (`process_output()`) to validate and compile compact inference DSLs (Express) into canonical `` before database persistence.
4. **Framework Renderers (`A2uiMarkdownRenderer` / ``)**: High-level components/directives for React, Lit, and Angular that parse Markdown prose and render inline A2UI surfaces automatically.

See the detailed design specification in the comment below.

贡献指南

打开贡献指南

调研方向

The issue proposes a major new API and renderer system. Start by reviewing the detailed design specification in the comments. Look for existing A2UI core abstractions, surface instantiation logic, and the current renderer implementations (React, Lit, Angular). Understanding the existing wire protocol and component tree structure is essential before designing the MarkdownProcessor facade or new framework renderers.

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, markdown, typescript
领域
api, backend, documentation, frontend
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。