Skip to main content

Documentation Index

Fetch the complete documentation index at: https://agno-v2-fix-deploy-docs-restructure.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Manage

TaskCommand
Deploy updatesag infra patch --env prd
Stop deploymentag infra down --env prd
Force rebuildag infra up --env dev -f
Restart localag infra up
ag infra down --env prd removes all AWS resources, including the database. Back up your data first.

Customize

Create agents/my_agent.py:
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from db import get_postgres_db

my_agent = Agent(
    id="my-agent",
    name="My Agent",
    model=OpenAIResponses(id="gpt-5.5"),
    db=get_postgres_db(),
    instructions="You are a helpful assistant.",
)
Register in app/main.py:
from agents.my_agent import my_agent

agent_os = AgentOS(
    name="AgentOS",
    agents=[web_search, code_search, my_agent],
)
Restart locally:
ag infra up --env dev
Agno includes 100+ tool integrations. See the full list.
from agno.tools.slack import SlackTools
from agno.tools.google_calendar import GoogleCalendarTools

my_agent = Agent(
    tools=[
        SlackTools(),
        GoogleCalendarTools(),
    ],
)
Update your agent:
from agno.models.anthropic import Claude

my_agent = Agent(
    model=Claude(id="claude-sonnet-4-5"),
)
Add the dependency to pyproject.toml and regenerate requirements:
./scripts/generate_requirements.sh
ag infra up --env dev
  1. Edit pyproject.toml
  2. Regenerate requirements: ./scripts/generate_requirements.sh
  3. Rebuild: ag infra up --env dev
To upgrade all libraries:
./scripts/generate_requirements.sh upgrade
Add your credentials to infra/secrets/prd_api_secrets.yml:
SLACK_BOT_TOKEN: xoxb-...
SLACK_SIGNING_SECRET: ...
Redeploy to AWS:
ag infra up prd:aws
The interface activates automatically. See Slack setup for creating the Slack app.

Local Development

Run without Docker for faster iteration:
# Set up environment
./scripts/venv_setup.sh
source .venv/bin/activate

# Start PostgreSQL (required)
docker run -d --name agentos-db \
  -e POSTGRES_USER=ai -e POSTGRES_PASSWORD=ai -e POSTGRES_DB=ai \
  -p 5432:5432 pgvector/pgvector:pg17

# Run AgentOS
python -m app.main

Environment Variables

VariableRequiredDefaultDescription
OPENAI_API_KEYYesOpenAI API key
RUNTIME_ENVNoprddev enables hot-reload and disables JWT
JWT_VERIFICATION_KEYProductionPublic key from os.agno.com
AGENTOS_URLNohttp://127.0.0.1:8000Scheduler base URL
SLACK_BOT_TOKENNoEnable Slack interface
SLACK_SIGNING_SECRETNoEnable Slack interface
PARALLEL_API_KEYNoParallel SDK key for WebSearch
PORTNo8000API server port
DB_HOSTNolocalhostDatabase host
DB_PORTNo5432Database port
DB_USERNoaiDatabase user
DB_PASSNoaiDatabase password
DB_DATABASENoaiDatabase name

Troubleshooting

Reconfigure credentials with aws configure, then validate with aws sts get-caller-identity.
RDS can take about 5 minutes to become available. Check status in AWS Console (RDS → Databases).
Check CloudWatch logs for container startup errors, missing environment variables, or database connectivity issues.
The ECS service may still be starting. Wait 2-3 minutes for target health checks to pass.