Skip to content

[TUI] Add explicit host overrides to strata launch - #4207

Open
yuantianxiayouqingrenzhongchengxiongmei wants to merge 2 commits into
Niko1221:mainfrom
yuantianxiayouqingrenzhongchengxiongmei:feat/launch-host
Open

yuantianxiayouqingrenzhongchengxiongmei wants to merge 2 commits into
Niko1221:mainfrom
yuantianxiayouqingrenzhongchengxiongmei:feat/launch-host

Conversation

@yuantianxiayouqingrenzhongchengxiongmei

@yuantianxiayouqingrenzhongchengxiongmei yuantianxiayouqingrenzhongchengxiongmei commented Oct 26, 2026 •

Copy link
Copy Markdown

strata launch exposes access mode and port but cannot select a particular local interface. This adds --host ADDRESS so, for example, a server can bind to 192.168.1.20:8080 directly from the launch command.

The address follows the launch through presets, private run configuration, managed profiles, status, Connect and monitoring. It accepts IPv4 addresses and localhost; a non-loopback address keeps the existing shared-access API-key policy. Wildcard bindings are never advertised as client destinations. Tunnel-incompatible binds are rejected before start.

An omitted --host preserves the existing access-mode bind defaults and serialized launch settings. Choosing --access without --host clears a saved host override. Local HTTP monitoring accepts addresses belonging to this computer and bypasses system proxies; other network peers still require HTTPS.

Example:

strata launch --family qwen --model iq3_s --host 192.168.1.20 --port 8080 --context 128k --vision cpu --no-tui

Validation against upstream main 5e8a4cca (v0.2.7):

  • Windows / Python 3.13.1: launch, launch TUI, monitor, connections, terminal, loopback, second-launch and DeepSeek context suites: 311 passed, 1 skipped, 1 failed in 187.26 seconds. All 26 host tests passed, including a shared host with the upstream DeepSeek pack context limit.

  • The only failure was tests/terminal/test_launch_tui.py::FolderStep::test_default_folder_and_free_space_and_change (None instead of an explicit data directory). It also fails at the same assertion on unmodified upstream 5e8a4cca in the same environment. The full run reported three event-loop/thread warnings from SaveAndRun::test_save_and_stop_here.

  • Twenty synthetic cases without --host match upstream's serialized settings bytes, command flags, and derived configuration bytes.

  • git diff --check against upstream passed.

IPv6 and arbitrary DNS bind names are outside this PR. GPU inference, macOS/Linux integration, and live Cloudflare/Tailscale tunnels were not tested on this revision; no inference speed change is claimed. This remains a draft for review.

Carry the requested IPv4 bind address through launch presets, private run
configs, profiles, status, Connect and monitoring. Preserve the existing
access-mode binding when no host override is supplied.
@yuantianxiayouqingrenzhongchengxiongmei
yuantianxiayouqingrenzhongchengxiongmei marked this pull request as ready for review October 28, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants