Galvanized Pukeko

August 26, 2026 · View on GitHub

Vue.js 3 npm @galvanized-pukeko/vue-ui AG-UI Java 17+ (ADK backend) License: MIT

Give your LLM agent a real UI. Instead of replying with text only, the agent renders forms, charts, tables and interactive A2UI surfaces — and reads back what the user does with them. The UI is a Vue 3 component library that talks to any AG-UI server.

galvanized-pukeko-logo.png

galvanized-pukeko-logo.png

Start here: the Vue UI

The heart of the project is @galvanized-pukeko/vue-ui — a Vue 3 library that renders the chat interface plus the components an agent asks for.

npm install @galvanized-pukeko/vue-ui vue
import '@galvanized-pukeko/vue-ui/style.css'
import { createApp } from 'vue'
import { CoreApp, configService } from '@galvanized-pukeko/vue-ui'

await configService.load()
createApp(CoreApp).mount('#app')

Point it at any AG-UI server and the agent can render UI right in the conversation. See the docs:

In the wild: the Pukeko robot controller drives a physical robot through the Vue UI — the agent calls browser-side client tools (camera, motion) and reads the results back.

How it works

graph LR
    subgraph Browser
        UI["Vue UI<br/>@galvanized-pukeko/vue-ui"]
    end

    subgraph Server["AG-UI server (your choice of backend)"]
        direction TB
        GTH["Gaunt Sloth<br/>(TypeScript CLI)"]
        ADK["ADK agent<br/>(Java / Spring Boot)"]
    end

    UI -->|"AG-UI · HTTP/SSE"| Server
    Server -->|"tool calls → render forms, charts, tables, A2UI"| UI

The Vue UI is backend-agnostic — any AG-UI server works. This repo ships two: the npm-based Gaunt Sloth CLI and a Java/Spring ADK agent.

Packages

PackageDescription
galvanized-pukeko-vue-uiThe Vue 3 UI library — chat interface, forms, charts, tables, A2UI surfaces. Published on npm. Docs.
galvanized-pukeko-web-clientThin host app that mounts the Vue UI — the dev server, and the build embedded by the ADK agent. Not published.
galvanized-pukeko-agent-adkOne backend option: a Spring Boot / Google ADK agent with UI-rendering tools, MCP and A2A. On Maven Central. See its README.

Gaunt Sloth — a separate TypeScript CLI — is the other supported AG-UI backend.

Run a demo

Prerequisites: Node.js 24+. (The ADK backend additionally needs Java 17+; Maven is bundled via ./mvnw.)

Option 1 — Gaunt Sloth backend (Node only):

pnpm install
pnpm run start-gth-ag-ui   # AG-UI server on :3000 + web client on :5555

Option 2 — ADK agent (Java):

pnpm install
pnpm run start-adk         # ADK agent on :8080 + web client on :5555

See the ADK README for ADK setup, models, MCP/A2A and Cloud Run deployment.

Then open http://localhost:5555 and try:

  • "Show me a contact form" — renders a form
  • "Show me a chart of month lengths" — renders a chart
  • "Show me a table of suppliers" — renders a table

More end-to-end setups live in examples/.

Testing

End-to-end tests use Playwright; the runners start the services for you:

pnpm run it-gth-ag-ui   # Gaunt Sloth backend
pnpm run it-adk         # ADK backend (add it-adk-headed for a visible browser)

If Playwright reports the browser is missing, run node_modules/.bin/playwright install from the repository root. Use the installed binary rather than a one-shot package runner: given a name that does not resolve locally, those fetch and execute whatever the public registry serves under it.

Contributing

Contributions are welcome — see CONTRIBUTING.md.

License

Released under the MIT License © Andrew Kondratev.

The galvanized-pukeko-agent-adk package is a separate, optional backend licensed under Apache License 2.0.