Headless Service
Run Tandem as a standalone headless service with optional embedded web admin.
Start the Engine (Headless)
tandem-engine serve \ --hostname 127.0.0.1 \ --port 39731 \ --api-token "$(tandem-engine token generate)"This starts the HTTP/SSE engine runtime without desktop UI requirements.
Enable Embedded Web Admin
tandem-engine serve \ --hostname 127.0.0.1 \ --port 39731 \ --api-token "tk_your_token" \ --web-ui \ --web-ui-prefix /admin$env:TANDEM_WEB_UI=“true”; .\src-tauri\binaries\tandem-engine.exe serve —hostname 127.0.0.1 —port 39731 —web-ui —state-dir .tandem-test
Open:
http://127.0.0.1:39731/admin
The admin page expects a valid API token and keeps it in memory for the current tab/session.
Environment Variable Mode
TANDEM_API_TOKEN=tk_your_tokenTANDEM_WEB_UI=trueTANDEM_WEB_UI_PREFIX=/admintandem-engine serve --hostname 127.0.0.1 --port 39731Common Headless Admin Endpoints
GET /global/healthGET /channels/statusPUT /channels/{name}DELETE /channels/{name}POST /admin/reload-configGET /memoryDELETE /memory/{id}
Example: Check Health
curl -s http://127.0.0.1:39731/global/health \ -H "X-Tandem-Token: tk_your_token"Example: Check Channel Status
curl -s http://127.0.0.1:39731/channels/status \ -H "X-Tandem-Token: tk_your_token"Security Notes
- Use
--api-token(orTANDEM_API_TOKEN) whenever binding beyond localhost. - Put TLS in front of Tandem when exposing it on a network.
- Do not expose the service directly to the public internet without a reverse proxy.