Skip to content

Broader examples proving the positioning: translator, voice room, copilot, SIP, no-LLM audio #59

Description

@jason-shen

Problem

The streamcoreai/examples repo proves the SDKs work. It does not prove the positioning.

What is there today is one shape repeated per language: connect to a server, talk to an LLM agent, see a transcript. typescript, python, golang, golang-tui, rust, rust-tui, esp32, esp32-desktop-car, bring-your-own-agent. Useful as SDK smoke tests, and every one of them says the same thing about what this project is.

The claim being made is realtime media infrastructure — a WebRTC transport with a pluggable pipeline on top, where the LLM is one thing you can put in the middle rather than the point of the exercise. Nothing in the examples repo demonstrates that. A visitor reasonably concludes this is a voice-chatbot starter, because every example is a voice chatbot.

Proposed change

Six examples, each chosen because it is the smallest thing that makes a different claim. Each is independently useful, so these can land one at a time and this issue can be split.

1. Realtime translator. Caller speaks one language, agent replies in another, both transcripts shown. Demonstrates that the pipeline is a transform, not a chat loop, and it is the single most convincing thing this stack can do in a 30-second video.

2. AI-hosted voice room. Multiple human participants plus the agent as a participant that listens continuously and speaks when addressed. This is the one that most directly contradicts "it's a chatbot", and it will surface real design questions about turn-taking with more than two parties — worth knowing about either way.

3. Browser copilot. The agent sees page context and drives the UI through the DataChannel. Uses the existing tool/plugin path and the vision message assembly in internal/pipeline/vision.go, which no example currently exercises.

4. Embedded device. A finished ESP32-S3 build with a specific parts list and a flashing guide, rather than a firmware source tree. The current ESP32 examples require the reader to already own the hardware and know ESP-IDF.

5. SIP application. streamcoreai/sip-server exists; no example calls it. A phone number that reaches an agent, with the PSTN setup written down. Note the echo-reference caveat from #48 while that is open.

6. Raw audio processing, no LLM at all. The important one. A WHIP endpoint that runs a DSP transform — pitch shift, noise gate, a recorder, an energy meter — with no STT, no LLM, no TTS configured. If the server cannot be configured to do this cleanly today, that is a finding worth having, and it is exactly the claim "media infrastructure, not framework" rests on.

Conventions for each, so they stay maintainable rather than rotting into a second codebase: a README with a one-command run, a config.toml fragment showing only what differs from the default, a screenshot or short clip, and no dependency on credentials beyond what the quick start already asks for. Cross-link from the main README's example table and from docs/capabilities.md.

Per repo convention, README updates ship with the example, including the zh-CN mirrors.

Acceptance criteria

  • Six examples, each with a README and a one-command run.
  • The no-LLM audio example works with STT/LLM/TTS all unconfigured.
  • The translator example shows both transcripts.
  • The voice-room example handles at least three participants plus the agent.
  • Root README and docs/capabilities.md link to each, with zh-CN mirrors updated.
  • No example needs credentials the quick start does not already require.

Pointers

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationeffort: mediumA day or two, spans a few packagesenhancementNew feature or requesthelp wantedMaintainers would welcome an outside contributor here

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions