title, emoji, colorFrom, colorTo, sdk, app_port, pinned, short_description
| title | emoji | colorFrom | colorTo | sdk | app_port | pinned | short_description |
|---|---|---|---|---|---|---|---|
| HF Realtime Voice | 🎙️ | indigo | purple | docker | 7860 | false | Voice chat over WebSocket against a HF speech-to-speech |
Realtime voice backend
FastAPI APIs and WebSocket relay for the React voice frontend. This service handles configuration, caller context, upstream authentication, search, reasoning, ApiPilot tools, and optional load-balancer allocation.
The root start_ui.sh now serves the React frontend with
Vite on public port 8420, proxying backend requests here on loopback port
8421. The browser UI lives entirely in s2s-frontend; running FastAPI directly
or through Docker exposes only backend routes and shared documentation.
The complete usage guide covers local startup, connection modes, Docker, settings, and queue behavior. See the documentation index, architecture, and change history for implementation details and history.
Build from the repository root so the container includes the documentation:
docker build -f s2s-client/Dockerfile -t s2s-client .
The Python project is contained in this directory: pyproject.toml, uv.lock,
.python-version, .venv, quality tools, and tests. Use uv 0.12.5 and Python
3.12 (uv can provision Python). From the repository root:
make -C s2s-client install
make -C s2s-client check
Tests isolate environment configuration, use HTTP fixtures for allocation and caller authentication, and start a loopback WebSocket service to verify audio frames, keepalive, and teardown. No deployed services or database are needed.
See backend development and compatibility for
formatting, typing, schema policy, optional Git hooks, and deployment checks.
uvicorn server:app --app-dir s2s-client remains a supported entry point;
the implementation now lives in s2s_client/.
FastAPI's API explorer remains at /docs. Project documents are served as files below
/docs/client/, /docs/speech/, /docs/adr/, /docs/examples/, and
/docs/proposals/. The historical /project/ and /public/docs.html URLs
redirect to the retained architecture proposal. Markdown remains source text;
documentation directories are not browsable rendered pages. Start from the
repository documentation index or request /docs/README.md explicitly.