feat(stream): STREAM_BROWSER flag + make toolbar-hide/subtitles broadcast-wide

- Add STREAM_BROWSER (.env) gating screen-share/browser mode. false => the
  /자비스 stream command stays voice + API/MCP only (no Go-Live); true (default)
  => screen share as before. (Browser-driven info retrieval in true mode is a
  follow-up build; the bot has no browser-control tools yet.)
- Make the two test-time fixes broadcast-wide defaults via broadcast-helper.mjs:
  it now also watches every tab for HTML5 fullscreen and toggles Chrome window
  fullscreen so the address bar is hidden for ANY video (xfwm4 won't hide it on
  'f' alone), restoring on exit. Subtitles were already enforced per video.
  scenario.mjs drops its own fullscreen toggle and relies on the helper.
- Revert the test-settings env vars from .env.example (not wanted).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
javis-bot
2026-06-10 16:17:29 +09:00
parent f93b241575
commit ef6f6ff57d
5 changed files with 51 additions and 34 deletions

View File

@@ -54,6 +54,13 @@ VNC_PASSWORD=javis123
# Auto-opened page in the in-container Chrome.
CHROME_START_URL=about:blank
# ---------------------------------------------------------------------------
# Screen-share + browser mode.
# true = the bot may go Live (screen-share the VNC desktop) and drive the
# on-screen browser for real-time info (search / play / read screen).
# false = no screen share; voice only, real-time info via API/MCP tools.
STREAM_BROWSER=true
# ---------------------------------------------------------------------------
# VNC screen broadcast
# selfbot = real live "Go Live" stream (needs a USER/burner token; ToS risk)
@@ -91,20 +98,6 @@ NOVNC_URL=
# --- screenshot backend ---
SCREENSHOT_INTERVAL_SEC=5
# --- stream-test scripts (manual broadcast verification) ---
# Chrome remote-debugging port the scenario/helper attach to.
CDP_PORT=9222
# How long stream-hold.ts keeps the Go-Live up before auto-stopping (ms, 2h).
HOLD_MS=7200000
# scenario.mjs inputs: fixed concert clip + search queries.
TEST_VIDEO_ID=X_am71G6Vy4
TEST_YT_QUERY=내손을잡아
TEST_NAVER_QUERY=아이유
# Set MV_QUERY to auto-pick the first >=60fps search result instead of the clip.
MV_QUERY=
# Windowed/fullscreen watch duration per step (seconds).
WATCH_SECONDS=20
# ---------------------------------------------------------------------------
# Voice behaviour
# ---------------------------------------------------------------------------