OpenUI Lang: Support live data sources
Maintainers usually reply within 1 day
@Aditya-thesys is already working on this.
Since Mar 25, 2026.
Assessment
This issue has not been assessed yet.
Description
Is your feature request related to a problem? Please describe.
OpenUI responses can render data-rich UI, but the data in a response is mostly fixed at the time the model generates it. If the underlying data changes, the user often needs to ask again or the app needs to regenerate the whole response.
This is limiting for UI that should stay current, such as dashboards, metrics, stock prices, tickets, incident status, analytics, weather, inventory, or any view backed by an API or MCP tool.
Describe the solution you'd like
Allow OpenUI responses to include live data sources that can refresh independently of the original model response.
Ideally, OpenUI should support data sources backed by APIs, MCP tools, or registered host functions. A generated response could declare that a component depends on a live query, and the renderer/runtime would keep that data fresh.
This should support:
- Declaring live data dependencies in OpenUI Lang.
- Fetching data from an API, MCP tool, or host-provided provider.
- Refreshing data on an interval, on demand, or when inputs change.
- Showing loading, error, and stale states in rendered UI.
- Updating only the affected part of the response instead of regenerating the entire message.
- Cancelling or ignoring stale requests when a newer request is made.
- Keeping the model output declarative and safe, so the model cannot execute arbitrary code.
- Clear docs and examples for live charts, tables, cards, and metric components.
Describe alternatives you've considered
- Ask the model to regenerate the full response every time data changes.
- Fetch data outside OpenUI and manually inject it into component props.
- Build custom components that handle their own data fetching.
- Use only static snapshots of API results in generated responses.
These approaches work for simple cases, but they either duplicate data-fetching logic, make generated UI harder to reuse, or prevent OpenUI responses from staying current.
Additional context
This would make OpenUI much more useful for dashboards, monitoring views, analytics reports, admin panels, and assistant responses that need to reflect real-time or frequently changing data.
This likely overlaps with Query / Mutation, tool provider support, and MCP integration. The important part is that live data should be represented as a safe declarative dependency in OpenUI Lang, with actual execution handled by trusted runtime providers.
- Dominant language
- TypeScript
- Stars
- 10k
- Forks
- 698
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 148
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from thesysdev/openui
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
thesysdev/openui#1445 · 2 comments ·
Maintainers usually reply within 1 day
-
Add dataInvention flag to PromptOptions to disable the 'generate realistic/plausible data' ruleOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
thesysdev/openui#959 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 18/100
Maintainers usually reply within 1 day
All issues in thesysdev/openui
Similar issues
-
[Text] Add Reading Time & Word Count Estimator for Reflection Notes in src/lib/text/reading-time.tsOpenarea:core beginner-friendly community contributions-welcome difficulty:easy enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
[fullsend] E2E: scorecard — filecheck GitLab entity metrics unavailable due to initialDelay timingOpene2e-failure ready-to-code
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
redhat-developer/rhdh-plugin-export-overlays#4698 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
devswha/herdr-web-ui#2884 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
b:minor bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
software-mansion/argent#1771 ·
Maintainers usually reply within 1 day