AgentUI

An open-source AgentUI for your AgentOS

Agent UI

Agno provides an open-source UI for interacting with your agents. It's free to use and build on top of. Chat with agents and teams and browse their sessions. Memory and knowledge management screens are not part of this companion UI.

The UI connects directly to your configured AgentOS endpoint. The runtime uses your configured database and model providers; optional Agno telemetry sends configuration and run identifiers unless disabled.

Built with Next.js and TypeScript, the Open Source Agent UI was developed in response to community requests for a self-hosted alternative following the success of AgentOS.

Get Started with Agent UI

Install Node.js and npm first (or pnpm for the manual path). The companion README targets Agno v2; verify the UI features you use against your Agno v3 runtime when upgrading.

To clone the Agent UI, run the following command in your terminal:

npx create-agent-ui@latest

Enter y to create a new project, install dependencies, then run the agent-ui using:

cd agent-ui && npm run dev

Open http://localhost:3000 to view the Agent UI, but remember to connect to your local agents.

Agent UI homepage

Connect your AgentOS

The Agent UI needs to connect to an AgentOS server, which you can run locally or on any cloud provider.

Let's start with a local AgentOS server. Create a file agentos.py

agentos.py
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.os import AgentOS
from agno.db.sqlite import SqliteDb
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.tools.yfinance import YFinanceTools

agent_storage: str = "tmp/agents.db"

web_agent = Agent(
    name="Web Agent",
    model=OpenAIChat(id="gpt-4o"),
    tools=[DuckDuckGoTools()],
    instructions=["Always include sources"],
    # Store the agent sessions in a sqlite database
    db=SqliteDb(db_file=agent_storage),
    # Adds the current date and time to the context
    add_datetime_to_context=True,
    # Adds the history of the conversation to the messages
    add_history_to_context=True,
    # Number of history responses to add to the messages
    num_history_runs=5,
    # Adds markdown formatting to the messages
    markdown=True,
)

finance_agent = Agent(
    name="Finance Agent",
    model=OpenAIChat(id="gpt-4o"),
    tools=[YFinanceTools()],
    instructions=["Always use tables to display data"],
    db=SqliteDb(db_file=agent_storage),
    add_datetime_to_context=True,
    add_history_to_context=True,
    num_history_runs=5,
    markdown=True,
)

agent_os = AgentOS(agents=[web_agent, finance_agent])
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve("agentos:app", reload=True)

In another terminal, run the AgentOS server:

Setup your virtual environment

python3 -m venv .venv
source .venv/bin/activate

Install dependencies

uv pip install -U openai ddgs yfinance "agno[os]"

Export your OpenAI key

export OPENAI_API_KEY=sk-***

Run the AgentOS

python agentos.py
Make sure the module path in agent_os.serve() matches your filename (e.g., "agentos:app" for agentos.py).

View the AgentUI

  • Open http://localhost:3000 to view the Agent UI
  • Enter the http://localhost:7777 endpoint on the left sidebar and start chatting with your agents and teams!

Learn more