Demos / Your own UI · Halcyon
Halcyon
Your own UI: the UI-less client hands you the conversation as data, so every pixel is yours. In a sleep app, the agent’s breathing widget arrives as data and drives the app’s own orb.
What it shows
- Your own UI: the UI-less client (
createAgentConversation) with the page drawing every bubble, the composer and the status line itself: no Mindset UI on screen - A custom widget,
halcyon-breathing-timer, arriving as awidget-payloadevent and drawn as the app’s breathing orb instead of a card - A composer held closed until the client is ready, announced through an
aria-livestatus, as the UI-less reference page teaches - Situational awareness telling the agent whether a breathing session is running, so it never starts a second one
- A still orb with a text countdown under
prefers-reduced-motion
Files
- demos/halcyon/demo.json
- demos/halcyon/widgets/halcyon-breathing-timer.json
- demos/halcyon/prompt/policy-rules.md
- src/demos/halcyon/index.tsx
- src/demos/halcyon/breath.ts
- src/demos/halcyon/useBreathing.ts