Skip to content

[FEATURE]:Feature Request: UI Plugin API for rendering custom components in message parts #20034

Closed as not planned

Description

@Nihalmai

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Problem

The current plugin system only supports the AI/backend side (system prompts, tools).
There's no way for a plugin to inject custom UI components into message rendering
without forking the entire repo and modifying message-part.tsx directly.

Proof of Concept

I built a working fork that adds rich UI rendering to OpenCode:
https://github.com/Nihalmai/opencode-plugin-update

It renders weather cards, charts, tables, metrics, progress trackers,
forms, and more — all inline in the chat, triggered by LLM output.

What I'm asking for

A simple registerRenderer hook in message-part.tsx, something like:

// In a plugin:
opencode.registerRenderer((text) => {
  if (text.includes("---A2UI-START---")) {
    return <MyCustomRenderer text={text} />
  }
})

Why this matters

  • Plugins could render rich UI without forking
  • The ecosystem opens up massively
  • My fork shows it works and users love it

Would love to contribute this directly if the team is open to it.

Activity

  1. added
    discussionUsed for feature requests, proposals, ideas, etc. Open discussion
    on Mar 30, 2026
  2. added
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on Mar 30, 2026
  3. github-actions commented on Mar 30, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    These issues cover very similar ground — enabling plugins to render or inject custom UI without forking the repo. Consider adding your use case as a comment on one of the above, or the maintainers may close this as a duplicate.

  4. assigned and unassigned on Apr 26, 2026
  5. removed
    discussionUsed for feature requests, proposals, ideas, etc. Open discussion
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on May 3, 2026
  6. github-actions commented on Jul 3, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions