{"slug": "show-hn-persona-js-a-vanilla-js-agent-ui-library-with-native-webmcp-mit", "title": "Show HN: Persona.js – a vanilla-JS agent UI library with native WebMCP (MIT)", "summary": "RunType Labs has open-sourced Persona.js, a vanilla-JS agent UI library with native WebMCP support under MIT license. The library enables building agentic web experiences without framework dependencies, offering features like Shadow DOM isolation and customizable hooks. It aims to simplify AI feature integration for complex web applications.", "body_md": "Hey everyone. My cofounder and I are formally open sourcing (MIT) persona.js. It's a VanillaJS library that helps anyone build agentic experiences on the web, without a framework dependency, and full WebMCP support\n\nSo, why'd we do this?\n\n1) We're super fans of the web and the browser can do a ton today\n\n2) We've seen AI builds be way overly complex because the FE requires a large project within an existing app OR the site wasn't using a framework to begin with\n\nIf you've been a part of huge apps with multiple frameworks inside them, or work inside CMS / website builders / ecomm platforms... you know what we're talking about. A \"simple\" AI feature disrupts your life for months\n\nIf you have a singular React codebase and can't possibly imagine building an interface without JSX, nothing to see here! You already have a lot of great options that are really cool too. Check out Assistant UI / CopilotKit / AI Elements which are all MIT\n\n----\n\nSome specifics:\n\nPersona has a ~15 kB brotli to first paint (the full widget lazy-loads on first click) while being able to render most of the primary agent experiences you see on the web: from 'Fin' (pill launcher) to 'Claude' (fullscreen assistant) to 'Shopify Sidekick' (docked)\n\nYou can run it in Shadow DOM isolated mode so existing styles play nice\n\nEverything has hooks and events, so you can add unique flavor (and easily share back!) in a few lines\n\nWe have a ton of demos on the library site, along with all the knobs to play with how each aspect renders. Tool and reasoning, custom loading animations, voice, approval UX, etc\n\nWe've also added a ton of examples across agent and frontend stacks\n\nCheck out the code @ [https://github.com/runtypelabs/persona](https://github.com/runtypelabs/persona)\n\nFeedback and contributions welcome!\n\nComments URL: [https://news.ycombinator.com/item?id=48612231](https://news.ycombinator.com/item?id=48612231)\n\nPoints: 6\n\n# Comments: 5", "url": "https://wpnews.pro/news/show-hn-persona-js-a-vanilla-js-agent-ui-library-with-native-webmcp-mit", "canonical_source": "https://www.persona-chat.dev/", "published_at": "2026-06-20 19:32:56+00:00", "updated_at": "2026-06-20 20:07:48.588302+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "ai-products"], "entities": ["RunType Labs", "Persona.js", "WebMCP", "Fin", "Claude", "Shopify Sidekick", "Assistant UI", "CopilotKit"], "alternates": {"html": "https://wpnews.pro/news/show-hn-persona-js-a-vanilla-js-agent-ui-library-with-native-webmcp-mit", "markdown": "https://wpnews.pro/news/show-hn-persona-js-a-vanilla-js-agent-ui-library-with-native-webmcp-mit.md", "text": "https://wpnews.pro/news/show-hn-persona-js-a-vanilla-js-agent-ui-library-with-native-webmcp-mit.txt", "jsonld": "https://wpnews.pro/news/show-hn-persona-js-a-vanilla-js-agent-ui-library-with-native-webmcp-mit.jsonld"}}