singularity-forge/docs/user-docs/web-interface.md
2026-05-06 00:38:36 +02:00

2.5 KiB

Web Interface

Added in v2.41.0

SF includes a browser-based web interface for project management, real-time progress monitoring, and multi-project support.

Quick Start

sf --web

This starts a local web server and opens the SF dashboard in your default browser.

CLI Flags (v2.42.0)

sf --web --host 0.0.0.0 --port 8080 --allowed-origins "https://example.com"
Flag Default Description
--host localhost Bind address for the web server
--port 3000 Port for the web server
--allowed-origins (none) Comma-separated list of allowed CORS origins

Features

  • Project management — view milestones, slices, and tasks in a visual dashboard
  • Real-time progress — server-sent events push status updates as autonomous mode executes
  • Multi-project support — manage multiple projects from a single browser tab via ?project= URL parameter
  • Change project root — switch project directories from the web UI without restarting the server (v2.44)
  • Onboarding flow — API key setup and provider configuration through the browser
  • Model selection — switch models and providers from the web UI

Architecture

The web interface is built with Next.js and communicates with the SF backend via a bridge service. Each project gets its own bridge instance, providing isolation for concurrent sessions.

Key components:

  • ProjectBridgeService — per-project command routing and SSE subscription
  • getProjectBridgeServiceForCwd() — registry returning distinct instances per project path
  • resolveProjectCwd() — reads ?project= from request URL or falls back to SF_WEB_PROJECT_CWD

Configuration

The web server binds to localhost:3000 by default. Use --host, --port, and --allowed-origins to override (see CLI Flags above).

Environment Variables

Variable Description
SF_WEB_PROJECT_CWD Default project path when ?project= is not specified

Node v24 Compatibility

Node v24 introduced breaking changes to type stripping that caused ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING on web boot. This is fixed in v2.42.0+ (#1864). If you encounter this error, upgrade SF.

Auth Token Persistence

As of v2.42.0, the web UI persists the auth token in sessionStorage so it survives page refreshes (#1877). Previously, refreshing the page required re-authentication.

Platform Notes

SF support is Linux-only. The web interface is validated on Linux.