sveda-server
binary
RUNTIME
sveda-server binds 0.0.0.0:8787 by default. It owns the agent loop, catalog, tools, and MCP. Your routes, auth, and deploy stay yours.
sveda-server
binary
:8787
default bind
Axum
HTTP stack
Rolling an agent usually means a control plane in the same process as the product. Health becomes “the app is up.” Tools, models, and MCP share your request workers. A sidecar should be a binary you can bind, probe, and proxy.
Prompt routers inside Laravel, Rails, or Node HTTP handlers stall the page. sveda-server owns the agent loop on its own port.
Workers, catalogs, and admin UI sprawl before a first token. The runtime binary already binds those routes under /sveda/*.
A 200 on your app index does not mean the agent can stream. GET /sveda/health answers { ok: true, runtime: "rust" }.
sveda-server is Axum. Default bind is 0.0.0.0:8787, override with SVEDA_BIND. Your host proxies or calls it. POST /sveda/stream is required for a turn. Token mint, health, config, message, histories, and document extract sit beside it.
The binary listens on its own address. You do not mount it as a Laravel package or a Vue plugin.
The JS client only needs stream to send. The rest of the surface is optional until you wire it.
Non-stream turns, chat histories, and document extract share the runtime — not a second service.
GET /sveda/health
POST /sveda/embed/token
GET /sveda/embed/config
POST /sveda/stream
POST /sveda/message
histories
documents/extract
runtime: rust
Start the binary, then GET /sveda/health. The body is JSON: ok true, runtime rust. That is the contract that the process on :8787 is sveda-server, not a mock in your app.
Catalog, tools, and host MCP execute here. The JS client does not run the model loop. Admin and embed config are HTTP on the same listener. Change the bind with SVEDA_BIND when 8787 is taken.
See the runtime docs for the route list. The product copilot solution keeps this process next to an existing app.
$ curl -s http://127.0.0.1:8787/sveda/health
{
"ok": true,
"runtime": "rust"
} JS client
SvedaClient posts to this runtime. session.send is the turn.
Models
The catalog and failover list live on sveda-server, not in the UI.
MCP & tools
Builtin tools and host MCP execute inside the runtime.
Runtime docs
Bind address, Axum routes, health, and admin surface.
Get started
Run sveda-server, then attach @sveda-ai/core.
Product copilot
Sidecar next to the host. Routes and auth stay yours.
Run sveda-server. Probe GET /sveda/health. Proxy POST /sveda/stream when you want one origin.