Skip to content

Remote UI

Remote UI is Tycho’s browser control surface. It uses the same local project registry, agent store, schedules, logs, and lifecycle rules as the TUI and CLI. The browser does not become the owner of that state.

Bind explicitly to localhost for the safest first run:

Terminal window
tycho serve --host 127.0.0.1 --port 7373

Open http://127.0.0.1:7373. Use tycho serve daemon when you want the server to continue in the background; its request and lifecycle output continues in ~/.tycho/logs/remote_server_daemon.log and ~/.tycho/logs/hq.log.

Remote UI can create the Welcome Sandbox on an empty installation. It cannot register an arbitrary host directory. Register real project paths from the TUI or CLI, or ask a Welcome Sandbox agent to run an exact tycho project create command.

The Agents view combines projects and sessions. Open a conversation to:

  • watch sequenced assistant messages, tool activity, and results while the harness runs;
  • queue ordered follow-ups without waiting for the current run to stop;
  • answer, dismiss, or restore a structured inquiry;
  • inspect concise previews and ordered rich summary sections;
  • open run attachments, including scrollable attachment detail and direct file downloads, usage details, saved pull-request diffs, and durable history;
  • run, stop, clone, archive, schedule, or delegate work when that action is valid.

The Now view keeps attention work and schedules compact. no_action_needed runs stay quiet; input-required, blocked, failed, stopped, partial, and normal successful outcomes keep their distinct lifecycle meaning. See Agent Session Lifecycle.

The agent switcher follows the same ordering and status cues as the Agents view, including FRED when it is configured. While a session is running, you can queue follow-up prompts and load newer conversation messages on demand without losing the focused conversation.

Each registered project has a Files view. Search files, preview Markdown and images, and use guarded plain-text editing on desktop where available; existing workspaces remain read-only on mobile. The server accepts relative paths inside that project and rejects traversal, unsafe symlinks, VCS and generated directories, secret-shaped names or content, binary files, and oversized previews. This boundary protects browsing and editing; it does not restrict what a launched harness can access. Review Harnesses before running an agent.

FRED is Tycho’s opt-in Personal Assistant on the current server. Open FRED to choose its Codex model, reasoning effort, timezone, personality, and optional external-event preference, then confirm setup. FRED keeps one persisted daily conversation, offers recommendations, and can inspect Tycho state directly.

When FRED proposes a change—such as creating a project or schedule, or installing a Tycho skill—it shows the exact action preview and requires a separate confirmation for each action. FRED’s persisted daily sessions are not ordinary agent sessions: regular lifecycle and delegation controls cannot start, stop, or attach to them.

Without TYCHO_REMOTE_TOKEN, Remote UI and its API are appropriate only on localhost. Set a bearer token before binding to Tailscale or another non-loopback address:

Terminal window
TYCHO_REMOTE_TOKEN_VALUE="$(ruby -rsecurerandom -e 'puts SecureRandom.hex(24)')"
export TYCHO_REMOTE_TOKEN="$TYCHO_REMOTE_TOKEN_VALUE"
printf %s "$TYCHO_REMOTE_TOKEN_VALUE" | pbcopy
tycho serve

This keeps the generated value in the named shell variable and copies it to the macOS clipboard without printing it. When Remote UI asks for authentication, paste that same value into Remote token and save it. On WSL, replace pbcopy with clip.exe; on Linux with Wayland, use wl-copy. Do not print the token, put its literal value in shell history, or paste it anywhere else. Run unset TYCHO_REMOTE_TOKEN_VALUE TYCHO_REMOTE_TOKEN after the server stops.

When Tailscale is available, tycho serve can auto-bind to its IPv4 address and print a MagicDNS URL and QR code. Prefer Tailscale Serve HTTPS when you need service workers or push notifications. Passing --host disables Tailscale auto-binding.

Configure peers under remote_servers in ~/.tycho/config/hq.yml, then enroll each bearer token with tycho server login <key>. The UI-serving Tycho instance brokers requests and keeps one server-qualified catalog; the browser does not send one peer’s credential to another.

Projects, agent sessions, and delegation graphs remain owned by one server. Schedules, setup, GitHub, push notifications, skills, and restart controls apply to the Tycho server serving the UI. Resource health remains visible when a peer is offline, stale, or needs a token.

See Projects and Agents for peer configuration and the CLI Reference for direct --server commands.