AgentOS Registry App
Serve an AgentOS app whose Registry pre-registers DuckDuckGo and calculator tools, a custom function, and OpenAI/Claude/Azure models.
Demonstrates configuring AgentOS with a Registry and serving the app.
"""
AgentOS Registry App
====================
Demonstrates configuring AgentOS with a Registry and serving the app.
"""
from agno.agent.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.anthropic import Claude
from agno.models.azure import AzureOpenAI
from agno.models.openai import OpenAIChat
from agno.os import AgentOS
from agno.registry import Registry
from agno.tools.calculator import CalculatorTools
from agno.tools.duckduckgo import DuckDuckGoTools
# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai", id="postgres_db")
def sample_tool():
return "Hello, world!"
# ---------------------------------------------------------------------------
# Create Registry
# ---------------------------------------------------------------------------
registry = Registry(
name="Agno Registry",
tools=[DuckDuckGoTools(), sample_tool, CalculatorTools()],
models=[
OpenAIChat(id="gpt-5-mini"),
OpenAIChat(id="gpt-5"),
Claude(id="claude-sonnet-4-5"),
AzureOpenAI(id="gpt-5-mini"),
],
dbs=[db],
)
# ---------------------------------------------------------------------------
# Create AgentOS App
# ---------------------------------------------------------------------------
agent = Agent(
id="registry-agent",
model=Claude(id="claude-sonnet-4-5"),
db=db,
)
agent_os = AgentOS(
agents=[agent],
id="registry-agent-os",
registry=registry,
db=db,
)
app = agent_os.get_app()
# ---------------------------------------------------------------------------
# Run AgentOS App
# ---------------------------------------------------------------------------
if __name__ == "__main__":
agent_os.serve(app="agent_os_registry:app", reload=True)Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U "agno[os]" "psycopg[binary]" anthropic ddgs openaiExport environment variables
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
export AZURE_OPENAI_API_KEY="your_azure_openai_api_key_here"
export AZURE_OPENAI_ENDPOINT="your_azure_openai_endpoint_here"
export OPENAI_API_KEY="your_openai_api_key_here"Run PgVector
docker run -d \
-e POSTGRES_DB=ai \
-e POSTGRES_USER=ai \
-e POSTGRES_PASSWORD=ai \
-e PGDATA=/var/lib/postgresql \
-v pgvolume:/var/lib/postgresql \
-p 5532:5432 \
--name pgvector \
agnohq/pgvector:18Run the example
Save the code above as agent_os_registry.py, then run:
python agent_os_registry.pyFull source: cookbook/93_components/agent_os_registry.py