Installation
Install both halves of the platform — the FastAPI backend and the Next.js frontend — and verify each one is healthy.
1. Clone the repository
git clone https://github.com/ahmedjajan93/veyraops_ai.git
cd veyraops_ai2. Install the backend
The backend lives in backend/ and is managed with uv. Dependencies are pinned in backend/pyproject.toml and backend/uv.lock:
requires-python = ">=3.14"
dependencies = [
"chromadb>=1.5.9",
"fastapi>=0.136.3",
"langgraph>=1.2.5",
"openai>=2.38.0",
"python-dotenv>=1.2.2",
"python-multipart>=0.0.32",
"sqlalchemy>=2.0.50",
"uvicorn>=0.48.0",
]# Install uv if you don't have it
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
cd backend
uv syncuv sync creates backend/.venv and installs everything from the lock file. You never need to activate the venv manually — prefix commands with uv run.
Configure the OpenAI key
Create backend/app/.env (loaded by python-dotenv in the service modules):
OPENAI_API_KEY=sk-your-key-here
# Optional overrides (defaults shown)
OPENAI_MODEL=gpt-4o-mini
OPENAI_EMBEDDING_MODEL=text-embedding-3-smallSee Configuration for the full variable reference.
Start the backend
The app imports its own modules as top-level names (from database import ...), so run uvicorn from inside backend/app/:
cd backend/app
uv run uvicorn main:app --reload --port 8001The frontend defaults to http://localhost:8001 for all backend calls (AGENTOPS_API_BASE_URL). If you use another port, set that variable for the frontend — see Configuration.
Verify the backend
curl http://localhost:8001/health{ "status": "ok", "service": "agentops-ai-backend" }Interactive Swagger UI is at http://localhost:8001/docs — every endpoint in the API Reference can be exercised from there.
On first boot the backend creates backend/app/agentops.db (SQLite). The Chroma store backend/app/chroma_db/ appears after the first document upload. Both are runtime artifacts — never commit them.
3. Install the frontend
cd frontend
npm install
npm run devOpen http://localhost:3000 — the root page redirects to /dashboard.
| Script | Command | Purpose |
|---|---|---|
npm run dev | next dev | Development server with hot reload |
npm run build | next build | Production build |
npm run start | next start | Serve the production build |
npm run typecheck | tsc --noEmit | Type-check without emitting |
/dashboard fetches http://localhost:8001/agents/1/dashboard by default — it expects an agent with ID 1 to exist. On a fresh database you will see the built-in error panel ("Unable to load dashboard"). Create your first agent via the Quick Start and the dashboard comes alive.
4. Build the documentation site (optional)
The docs you are reading are built with MkDocs Material. Dependencies are in the root pyproject.toml / requirements.txt:
# from the repository root
uv sync
uv run mkdocs serve # http://localhost:8000Common installation problems
Next steps
- Quick Start — create your first agent and exercise every feature
- Project Structure — learn what every folder is for
- Architecture — the big picture