a2ui-project / a2ui-project/a2ui
feat: Proposal for A2UI Markdown Profile & String Transport API
- 主要语言
- 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