Prerequisites
You need one of the following setups:- Docker & Docker Compose (recommended) — no other dependencies required
- Or: Python 3.10+, Node.js 18+, PostgreSQL 16, and Redis 7 installed locally
Steps
Start UASAM
UASAM manages users, projects, agents, and API keys. Start it with Docker Compose:UASAM listens on http://localhost:8000. Wait until you see the Django server ready message before proceeding.
Start Brain
Brain receives and stores event logs. Start it in a second terminal:Brain listens on http://localhost:8002.
Start the frontend
The React dashboard connects to UASAM and Brain using the hardcoded endpoints in The dashboard is available at http://localhost:5173.
src/constants.ts (UASAM_ENDPOINT = http://localhost:8000, BRAIN_ENDPOINT = http://localhost:8002). Start it in a third terminal:If your backend services run on different hosts or ports, update
UASAM_ENDPOINT and BRAIN_ENDPOINT in frontend/otas-frontend/src/constants.ts before starting the frontend.Sign up
Open http://localhost:5173 and create an account. Provide your first name, last name, email, and a password of at least six characters. On success you receive a user JWT that is stored in the frontend and sent as
X-OTAS-USER-TOKEN on every subsequent management request.Create a project
From the dashboard, create a new project. Give it a name and an optional description and domain. OTAS creates a
UserProjectMapping that assigns you the Admin privilege (privilege 1) for this project. Copy the project UUID — you’ll need it as X-OTAS-PROJECT-ID when calling management endpoints directly.Create an agent and copy your AgentKey
Navigate to the Agents section of your project and create an agent. Provide a name, description, and provider (for example,
Anthropic). OTAS creates the agent and immediately generates an AgentKey valid for 30 days.The key has the format agent_<prefix>_<secret>. Use it as the value of the X-OTAS-AGENT-KEY header.Create a session
At the start of every new agent run, create a session. The session token authenticates all event logs sent to Brain.A successful response looks like:Store the
jwt_token value. Pass it as X-OTAS-AGENT-SESSION-TOKEN on every log request for this session.What’s next
Now that you have a working integration, explore the full agent protocol and analytics capabilities:Architecture overview
Understand how UASAM, Brain, and the frontend are connected.
Agent integration guide
Read the full Agent Manifest for in-domain and out-of-domain logging rules.