writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
browser-demoRun, deploy, and modify the speech-to-speech browser demo, including WebSocket/WebRTC client modes, tools, search/camera flows, Hugging Face Space limits, and UI behavior.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the task is to run the browser voice UI, connect it to a
speech-to-speech backend, deploy it as a Space/container, debug browser audio
or transport selection, change demo tools/search/camera behavior, or preserve
UI design rules while editing the demo.
--num_pipelines: route to
cli-and-server./v1/realtime/calls: route to
realtime-api.ws://localhost:8765/v1/realtime.python -m pip install -r assets/demo/requirements.txt
export SPEECH_TO_SPEECH_URL=ws://localhost:8765/v1/realtime
export SERPER_API_KEY=... # optional, enables server-side web search
export STARTUP_GREETING=... # optional; empty disables automatic greeting
uvicorn --app-dir assets/demo server:app --port 7860
http://localhost:7860/, click the orb, allow the microphone, and talk.
Browsers require HTTPS or localhost for microphone/camera access.SPEECH_TO_SPEECH_URL is the highest-priority mode: the browser connects
directly to the pinned Realtime URL, the settings URL is locked, load-balancer
metering is off, and WebRTC can be offered./api/calls proxy forwards only to an env-pinned URL.LOAD_BALANCER_URL mode is WebSocket-only and hides the backend URL from the
browser. When also running on a Hugging Face Space with SPACE_ID, OAuth
identity and daily time limits are active.The detailed references above are self-contained so future agents can handle normal operation and edits without relying on the source demo files being present.