feat(boson-avatar): add avatar plugin - #7019
Open
warlockee wants to merge 11 commits into
Open
Conversation
warlockee
marked this pull request as ready for review
August 27, 2026 18:18
Contributor
There was a problem hiding this comment.
Note
This report is out of date. Scroll down for Devin Review's latest report on this PR.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
warlockee
force-pushed
the
codex/boson-avatar-plugin
branch
from
August 28, 2026 04:13
be915d5 to
30625f3
Compare
Author
|
Ready for maintainer review at 30625f3.
@tinalenguyen, would you be able to take a look? You reviewed the recent Runway and Protoface Avatar plugin contributions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
livekit-plugins-boson-avatar, a BYOK Avatar plugin for Boson Higgs Audio-Driven AvatarAgentSessionvoice pipeline instead of creating a second voice participantlivekit-agents[boson-avatar]optional dependenciesDeveloper experience
The host application is the composition root: it supplies its Boson endpoint and API key, loads the project catalog server-side, and passes the Avatar selected by its UI to the session.
api_urlmay alternatively be supplied throughBOSON_AVATAR_API_URL;BOSON_API_KEYsupplies the API key. The plugin intentionally does not define or assume a production hostname. It accepts the audio output of any compatibleAgentSessionvoice pipeline and has no dependency on a Boson audio model. The URL must be an HTTPS base URL (loopback HTTP is allowed for local development); the plugin appends/avatarsand the session resource paths.list_avatars()owns its short-lived HTTP client, so it also works in a normal application server outside a LiveKit job context.Validation
uv run ruff format --check .anduv run ruff check .— passeduv run python scripts/check_types.py— passed strict mypycan_subscribe=False, Avatar joined, targeted PCM streamed, audio and video tracks published, and DELETE cleanup returned all four GPU workers to idleIntegration boundary
Deployment of a compatible Boson Avatar endpoint is an application/provider concern, not a plugin release dependency. The host app owns endpoint selection and composes the voice pipeline, Avatar plugin, LiveKit room, API credentials, and Avatar selection. The browser receives only catalog display data; the provider URL and Boson API key stay server-side.
The provider should retain its project-scoped catalog plus room-disconnect and max-duration reapers for process-kill and lost-response boundaries where a client can never receive the provider session ID.