Start the Izwi inference server.

Synopsis


Description

Launches the local HTTP API server that powers Izwi. The server also serves a local API reference:
  • Scalar API reference: http://<host>:<port>/docs
  • OpenAPI JSON: http://<host>:<port>/openapi.json
The local Scalar/OpenAPI reference covers the stable OpenAI-compatible contract, the /v1/responses preview contract, readiness probes, and sidebar entries for preview first-party, operator, and realtime route families. Detailed route behavior is documented in the API Reference. Resolution order for serve/runtime settings is:
  1. CLI flags
  2. Environment variables
  3. config.toml
  4. Built-in defaults
The resolved settings are passed through to the spawned izwi-server process, so izwi serve and izwi-server now run with the same runtime contract.

Options


Modes

Server Mode

Starts only the HTTP server:

Desktop Mode

Starts the server and opens the native desktop application:

Web Mode

Starts the server and opens the browser.
When --no-ui is set, web mode opens http://<host>:<port>/v1/ready instead of the UI root.

Examples

Basic server

Custom runtime settings

Development browser access

API-only mode


Environment Variables

Legacy aliases still resolve for one release cycle:
  • MAX_CONCURRENT_REQUESTS
  • REQUEST_TIMEOUT_SECS

Configuration File

izwi serve also reads config.toml. Supported runtime keys:

Logging

Text logs are the default. Use JSON logs when a collector needs machine-readable application events:
--log-format json controls Izwi’s application log lines. Docker’s json-file logging driver only frames container stdout/stderr and is separate from the application log format. JSON logs include the normal tracing fields such as timestamp, level, target, and message. HTTP request events also include service, version, correlation ID, method, path, status, latency in milliseconds, and error fields when a request fails.

Graceful Shutdown

Press Ctrl+C to gracefully shut down the server. Active requests finish before shutdown. During startup, izwi serve waits for the readiness endpoint before opening desktop or web clients. Use /readyz for deployment readiness checks and /livez for cheap liveness checks; /v1/health remains the richer status payload used by izwi status.

See Also