A standalone FastAPI microservice for the Roo AI agent with PostgreSQL + pgvector for vector embeddings and a skills-based architecture.
# Install dependencies
pip install -r requirements.txt
# Run development server
uvicorn roo.main:app --reload
# Run with Docker
docker-compose up -droo-standalone/
├── roo/ # Main application
│ ├── main.py # FastAPI entrypoint
│ ├── config.py # Settings
│ ├── agent.py # Core agent
│ ├── llm.py # LLM client
│ ├── database.py # PostgreSQL + pgvector
│ ├── embeddings.py # Vector embeddings
│ ├── slack_client.py # Slack SDK
│ ├── skills/ # Skill system
│ └── clients/ # External API clients
├── skills/ # Skill definitions (*.md)
├── tests/ # Test suite
└── docker-compose.yml
Skills are defined as markdown files in skills/. Each skill specifies:
- Trigger keywords
- Parameters to extract
- Actions to perform (LLM, database, API calls)
See skills/connect_users.md for an example.
Copy .env.example to .env and configure:
DATABASE_URL- PostgreSQL connectionSLACK_BOT_TOKEN- Slack bot tokenOPENAI_API_KEY- For LLM and embeddings