Skip to main content

Manage

TaskCommand
Deploy updatesrailway up --service agent-os -d
View logsrailway logs --service agent-os
Open dashboardrailway open
Set env variablerailway variables set KEY=value
Stop servicerailway down --service agent-os
Stop databaserailway down --service pgvector
Scale replicasEdit railway.json: {"deploy": {"numReplicas": 2}}

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.2"),
    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=[knowledge_agent, mcp_agent, my_agent],
)
Restart: docker compose restart
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(),
    ],
)
Load documents for the Knowledge Agent:
# Local
docker exec -it agentos-api python -m agents.knowledge_agent

# Railway
railway run python -m agents.knowledge_agent
Try it:
What is Agno?
How do I create my first agent?
What documents are in your knowledge base?
Add your API key to .env and update your agent:
from agno.models.anthropic import Claude

my_agent = Agent(
    model=Claude(id="claude-sonnet-4-5"),
)
Add anthropic to pyproject.toml and regenerate requirements:
./scripts/generate_requirements.sh
docker compose up -d --build
  1. Edit pyproject.toml
  2. Regenerate requirements: ./scripts/generate_requirements.sh
  3. Rebuild: docker compose up -d --build

Local Development

Run without Docker for faster iteration:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Set up environment
./scripts/venv_setup.sh
source .venv/bin/activate

# Start PostgreSQL (required)
docker compose up -d agentos-db

# Run AgentOS
python -m app.main

Environment Variables

VariableRequiredDefaultDescription
OPENAI_API_KEYYesOpenAI API key
PORTNo8000API server port
DB_HOSTNolocalhostDatabase host
DB_PORTNo5432Database port
DB_USERNoaiDatabase user
DB_PASSNoaiDatabase password
DB_DATABASENoaiDatabase name
RUNTIME_ENVNoprdSet to dev for auto-reload

Troubleshooting

Install: brew install railway (Mac) or npm install -g @railway/cli
Run railway init first, then ./scripts/railway_up.sh again.
PostgreSQL takes ~30s to start. Check: railway logs --service pgvector
Container is still starting. Wait 1-2 min. Check: railway logs --service agent-os