Connect Google's Agent Development Kit (ADK) to a React chat UI with assistant-ui — streaming, tool calls, and multi-agent orchestration supported.
@assistant-ui/react-google-adk integrates with Google ADK JS, Google's official agent framework for TypeScript, and works with ADK Python backends as well. It supports streaming text, tool calls, multi-agent orchestration, code execution, session state, tool confirmations, auth flows, and input requests.
When to use it
Pick the Google ADK runtime when:
- You are building agents with ADK JS (
LlmAgent, sequential / parallel / loop agents) or ADK Python. - You want support for ADK's HITL (human-in-the-loop) primitives: tool confirmations, auth credential flow, workflow input requests.
- You need multi-agent author and branch tracking, agent transfer events, and grounding / citation metadata.
Architecture
@assistant-ui/react-google-adk is layered on ExternalStoreRuntime (see architecture). Features that ship as runtime adapters work the same way they do everywhere else; see adapters.
No configuration is needed; connect to either ADK JS or ADK Python servers, both of which send camelCase JSON. A backend that sends snake_case field names instead, such as a custom server serializing with pydantic's default model_dump(), works too: the package normalizes them in events, message parts, and artifact responses (function_call → functionCall, inline_data → inlineData, mime_type → mimeType, file_data → fileData, file_uri → fileUri, requested_tool_confirmations → requestedToolConfirmations).
Requirements
- A Google ADK agent running on a server (ADK JS or ADK Python).
- React 18 or 19.
Install
npm install @assistant-ui/react @assistant-ui/react-google-adk @google/adknpx expo install @assistant-ui/react-native @assistant-ui/react-google-adknpm install @assistant-ui/react-ink @assistant-ui/react-google-adk ink reactInfo
@google/adk is only needed on the server side. The client-side runtime has no dependency on it.