a2ui-project / a2ui-project/a2ui

Unified all-typescript demo app using next.js that performs inference based on Catalog defined in typescript

Aperta
#1,106 1 commento 1 reazione 0 assegnatari Vedi su GitHub
P2 sprint ready type: feature/enhancement
Lingua principale
TypeScript
Stelle
16.4k
Fork
1.3k
Merge medio
3g 15h
PR unite (30g)
134

Descrizione

Right now, we only support inference via Python, and rendering in web and Flutter. This is good for an application which happens to use this combination of technologies, but it's kind of tricky to get started for a small web application, because you need to hook up the API (potentially A2A) between server and client and manage surfaces etc correctly. Looking at our existing demo apps, it's quite a bit of code to do this.

In the Flutter Gen UI SDK, we made life easy for developers by handling inference on the client side, which meant that developers can programmatically define a catalog and then use that same object for inference and rendering, avoiding the need for them to think about JSON etc at all, even though it is used under the hood. E.g. see https://github.com/flutter/genui/blob/main/examples/simple_chat/lib/main.dart

Others in the industry are making life *way* easier for developers, e.g. see
https://json-render.dev/docs/generation-modes

This is important, to lower the barriers to entry for people trying out this system. If they see it can work and feel good in a simple, self-contained app, they might then consider expanding to a multi-agent system which requires A2A, MCP, A2UI wire protocol etc. But first, we need people to see it can feel good as a product. We have had some success with this with the Flutter Gen UI SDK, but then struggled with the inverse - use cases where people wanted to have a separate backend etc.

## Proposed demo features

Let's build a demo with these features:

- Supports chat out of the box. Conversation history managed effectively.
- Unified JS codebase for client and agent server
- Minimal boilerplate
- Custom catalog, defined in Zod in TS. No JSON files checked in.
- Uses some common model abstraction layer to call the actual model, maybe Genkit
- No A2A or MCP
- Example tool connected to the agent, to fetch domain-specific data

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Esamina l'esempio esistente di Flutter Gen UI SDK (simple_chat) per comprendere il catalogo e il pattern di inferenza. La demo richiede un'app Next.js con un catalogo TypeScript/Zod, una UI di chat e un'astrazione del modello come Genkit. Inizia configurando un progetto Next.js di base e integrando Zod per la definizione dello schema, quindi collega un semplice strumento per recuperare dati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
next.js, typescript
Ambito
ai, developer-experience, full-stack
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.