DocsChannelsWeb UI

Web UI

Ryvos includes a built-in web interface powered by Axum (Rust HTTP framework) with a Svelte frontend. Access it from any browser.

Start the Gateway

ryvos serve                    # Web UI only
ryvos daemon --gateway         # Web UI + Telegram/Discord/Slack

The gateway starts at http://localhost:18789 by default.

Configuration

[gateway]
bind = "127.0.0.1:18789"       # Host and port
 
[[gateway.api_keys]]
name = "web-ui"
key = "rk_your_secret_key"
role = "operator"               # viewer, operator, admin

Authentication

The gateway supports multiple authentication methods:

API Keys (Recommended)

[[gateway.api_keys]]
name = "personal"
key = "rk_abc123def456"
role = "admin"
 
[[gateway.api_keys]]
name = "ci-bot"
key = "rk_ci_readonly"
role = "viewer"

Roles

RolePermissions
viewerRead sessions and messages
operatorSend messages, approve/deny tool calls
adminAll permissions + configuration

Authentication Methods

  • Bearer token: Authorization: Bearer rk_abc123
  • Query string: ?token=rk_abc123
  • Anonymous: If no API keys are configured, access is open

WebSocket API

Connect to ws://localhost:18789/ws for real-time streaming:

  • Receive text deltas as the agent generates responses
  • Receive tool call notifications
  • Send approval/denial responses
  • Full event stream (same events as the internal EventBus)

REST API

MethodEndpointDescription
POST/api/messageSend a message
GET/api/sessionsList sessions
GET/api/sessions/:idGet session history
POST/api/approve/:idApprove a tool call
POST/api/deny/:idDeny a tool call

Deployment

For remote access, bind to 0.0.0.0 and use a reverse proxy:

[gateway]
bind = "0.0.0.0:18789"

Always configure API keys when exposing the gateway to a network.