Reference

Web UI and API

vibe-trading serve runs the FastAPI server that the web UI, IM channels and scheduled jobs all use.

Web UI pages

  • Agent — chat with streaming tool steps and the swarm dashboard; up to five files per message.
  • Reports and run detail — past runs, metrics, charts and code; Compare runs side by side.
  • Portfolio — read-only holdings across your broker connections.
  • Alpha Zoo — browse, bench and compare alphas.
  • Options lab and Correlation regimes.
  • Scheduled — recurring research jobs.
  • Settings — model, data sources, IM channels and the API key.

Access and security

On the same machine the UI works with no configuration. For any other client, set API_AUTH_KEY and send Authorization: Bearer <key>. Interactive API docs are at /docs only in keyless local mode; with a key, fetch /openapi.json with the header.

IM channels

WebSocket, Telegram, Slack, Discord, Matrix, WhatsApp, Signal, QQ/NapCat, WeChat/WeCom, Feishu/Lark, DingTalk, Microsoft Teams, email and Mochat run the same sessions. Configure and start them from Settings → IM Channels, or with vibe-trading channels status | start | stop. A sender who is not on a channel's allow_from list gets a pairing code in a direct message and is ignored until you approve it with vibe-trading channels pairing approve.

Scheduled research

Run a prompt or a backtest on an interval or a cron schedule. The executor is off by default; start the server with VIBE_TRADING_ENABLE_SCHEDULER=1. Five templates are ready to schedule: pre-market brief, earnings-season tracker, portfolio check-up, A-share money flow and institutional-holdings diff.

vibe-trading playbook list
vibe-trading playbook show premarket-brief
vibe-trading playbook create premarket-brief

Main endpoints

EndpointDoes
POST /sessions, POST /sessions/{id}/messagesCreate a session, send a message
GET /sessions/{id}/eventsServer-sent event stream
POST /sessions/{id}/cancelStop the run in flight
GET /runs, GET /runs/{run_id}Runs
POST /uploadUpload a document, data file or image
POST /swarm/runsStart a swarm run
POST /alpha/benchStart an Alpha Zoo bench
/scheduled-runsScheduled jobs and templates
POST /live/halt, POST /live/resumeKill switch