Saltar al contenido

DOCS

Runtime

El binario es sveda-server en Axum. No entra en el request cycle de la app salvo que proxies tú.

Runtime

El binario es sveda-server en Axum. No entra en el request cycle de la app salvo que proxies tú.

HTTP de sveda-server: /sveda/health, /sveda/ready, /sveda/embed/token, /sveda/stream. Por defecto 0.0.0.0:8787.

Binary

Crate and binary: sveda-server. HTTP is Axum. Default bind 0.0.0.0:8787 via SVEDA_BIND. The process sits beside the host — it is not a plugin in the host request cycle. Product page: Rust runtime.

export SVEDA_BIND=0.0.0.0:8787
sveda-server

Health

Unauthenticated. Use /sveda/health as a liveness probe and /sveda/ready as readiness (Postgres and Redis ping when those URLs are set). Cluster install: deploy.

GET /sveda/health
GET /sveda/ready

{"ok":true,"runtime":"rust"}

Routes

Stream and message require a valid embed token ( embed docs ). Settings, models, MCP, security, and the code index come from sveda.yaml (SVEDA_CONFIG) or from /admin/settings with x-sveda-admin-key. The sidecar has no admin UI.

GET    /sveda/health
GET    /sveda/ready
POST   /sveda/embed/token
GET    /sveda/embed/config
POST   /sveda/stream
POST   /sveda/message
GET    /sveda/chat-histories
GET    /sveda/chat-histories/{chat_id}
PATCH  /sveda/chat-histories/{chat_id}
DELETE /sveda/chat-histories/{chat_id}
POST   /sveda/documents/extract
GET    /admin/settings
PUT    /admin/settings
POST   /admin/settings
POST   /admin/session
GET    /admin/usage

Agent loop

POST /sveda/stream and POST /sveda/message run the same turn. The runtime owns the multi-step agent loop: model catalog, builtin tools, frontend tool specs from the client, and host MCP tools listed for that visitor_id. Failover walks the ordered catalog list without a new client request. See models, MCP and tools, and stream protocol.

One POST. One SSE pipe.

Accept application/vnd.sveda.stream+json. The runtime answers with text/event-stream.

Stream protocol