Responses Proxy dashboard
Open the hosted dashboard at:
https://agent-responses-proxy.svc.cloud.morph.so/
Use the dashboard to see which resources are available, how traffic is being routed, and whether recent requests are being persisted to durable history.
What to check first
After sending a quickstart request, check:
- The resource cards show at least one available resource.
- The request appears in Recent requests.
- The matching routing decision appears in Recent routing decisions.
- The session name matches the metadata or headers you sent.
Data sources
The dashboard combines Redis live state with SQL-backed durable history.
Live state:
GET /admin/stateGET /admin/events
Durable history:
GET /admin/decisions?limit=20GET /admin/requests?limit=20
/admin/events is a server-sent event stream. It updates resource cards and summary counters. Durable history is polled every five seconds.
Summary metrics
The top row shows:
- registered resources
- in-flight requests
- affinity mappings
- telemetry queue depth
These are live Redis values and can reset when Redis or the service container restarts.
Resource cards
Each resource card shows:
- resource name and id
- health state
- pool id
- weight
- in-flight count
- total requests
- total errors
- last observed latency
- last error
Health values are healthy, degraded, unhealthy, or unknown.
Recent routing decisions
The decisions table is loaded from SQL through /admin/decisions. It shows request id, session name, session id, resource id, selection reason, and timestamp.
Common selection reasons:
weighted_least_connectionssession_affinityresponse_affinity
Recent requests
The requests table is loaded from SQL through /admin/requests. It shows request id, session name, session id, resource id, status code, total tokens, and timestamp.
The token column uses total_tokens when present. If only input and output token counts are available, the dashboard computes the display total.
What persists
Persists when PROXY_DATABASE_URL points at the same SQL database:
- request history
- load-balancer decisions
- sessions
- token usage
- registered providers
- registered model or agent aliases
Resets with Redis or container lifecycle:
- in-flight counters
- affinity mappings
- queue depth
- live health state
- live request and error counters
Current limits
- No provider or model registry forms yet.
- No historical charts for throughput, error rate, or token usage.
- No request or response body viewer.
- Telemetry admin endpoints are not protected by
PROXY_ADMIN_TOKEN. - Registry endpoints are protected only when
PROXY_ADMIN_TOKENis set.
Troubleshooting
If the dashboard is blank:
curl -fsS https://agent-responses-proxy.svc.cloud.morph.so/healthz
curl -fsS https://agent-responses-proxy.svc.cloud.morph.so/admin/state
If resource cards show but recent requests do not:
- confirm
responses-proxy-workeris running - confirm API and worker use the same
PROXY_REDIS_URL - confirm API and worker use the same
PROXY_DATABASE_URLorPROXY_SQLITE_URL - run a smoke request, then check
/admin/requests
If SSE keeps reconnecting, check browser network logs for /admin/events, API logs for exceptions, and any reverse proxy in front of server-sent events.