Skip to main content
AG-UI, the Agent-User Interaction Protocol, standardizes how AI agents connect to frontend applications.
Migration from Apps: For migration from AGUIApp, see the v2 migration guide for complete steps.

Example usage

1

Install backend dependencies

2

Run the backend

Expose an Agno agent through the AG-UI interface using AgentOS and AGUI.
basic.py
3

Run the frontend

Use Dojo (ag-ui’s frontend) as an advanced, customizable interface for AG-UI agents.
  1. Clone: git clone https://github.com/ag-ui-protocol/ag-ui.git
  2. Install dependencies in /ag-ui/typescript-sdk: pnpm install
  3. Build the Agno package in /ag-ui/integrations/agno: pnpm run build
  4. Start Dojo following the instructions in the repository.
4

Chat with the Agno Agent

With Dojo running, open http://localhost:3000 and select the Agno agent.
Additional examples are available in the cookbook.

Custom Events

Custom events created in tools are automatically delivered to AG-UI in the AG-UI custom event format. Creating custom events:
Yielding from tools:
Custom events are streamed in real-time to the AG-UI frontend. See Custom Events documentation for more details.

Core Components

  • AGUI (interface): Wraps an Agno Agent or Team into an AG-UI compatible FastAPI router.
  • AgentOS.serve: Serves the FastAPI app (including the AGUI router) with Uvicorn.
AGUI mounts protocol-compliant routes on the app.

AGUI interface

Main entry point for AG-UI exposure.

Initialization Parameters

ParameterTypeDefaultDescription
agentOptional[Agent]NoneAgno Agent instance.
teamOptional[Team]NoneAgno Team instance.
Provide agent or team.

Key Method

MethodParametersReturn TypeDescription
get_routeruse_async: bool = TrueAPIRouterReturns the AG-UI FastAPI router and attaches endpoints.

Endpoints

Mounted at the interface’s route prefix (root by default):
  • POST /agui: Main entrypoint. Accepts RunAgentInput from ag-ui-protocol. Streams AG-UI events.
  • GET /status: Health/status endpoint for the interface.
Refer to ag-ui-protocol docs for payload details.

Serving AgentOS

Use AgentOS.serve to run the app with Uvicorn.

Parameters

ParameterTypeDefaultDescription
appUnion[str, FastAPI]requiredFastAPI app instance or import string.
hoststr"localhost"Host to bind.
portint7777Port to bind.
reloadboolFalseEnable auto-reload for development.
See cookbook examples for updated interface patterns.