Repository navigation
Conversation
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 06:29
93a902e to
18e8519
Compare
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 06:51
18e8519 to
aebc686
Compare
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 07:52
aebc686 to
40e9ba3
Compare
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 08:02
40e9ba3 to
2bb9d5d
Compare
Add WebSocket and batch SSE speech recognition, streaming and HTTP SSE speech synthesis, and an optional OpenAI-compatible chat wrapper. Support regional endpoints, provider error handling, and conversational stream lifecycle management with regression coverage.
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 08:26
2bb9d5d to
4b6a6ea
Compare
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 09:51
ea3b668 to
95d1d6a
Compare
The streaming protocol never says which audio a final covers, so a reconnect cannot know what to resend: resending everything repeats speech the server already transcribed, and resending nothing drops the speech it had not. Retrying on a guess trades one failure for the other, so audio is consumed without being retained and a connection lost after any of it was uploaded — or while a turn is still pending — is reported as non-retryable. Recorded audio belongs on the batch recognize() route until the server can identify what a final covers. Also drop the redundant pool.remove on a failed session handshake, since the pool's context manager already drops the connection, and stop the keepalive's ping failure from vanishing with its task.
robinzsx
force-pushed
the
add-stepfun-plugin
branch
from
October 21, 2026 13:44
5cbbfef to
d8fa353
Compare
Author
|
Status update: all review findings are addressed. The |
This branch has not been deployed
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
Adds the official StepFun plugin for LiveKit Agents with support for:
Highlights
Speech-to-text
stepaudio-2.5-asr-streamstepaudio-3-asr-maxStreamAdaptersession identifiers
Text-to-speech
LLM
step-5-previewstep-3.7-flashstep-3.5-flashreasoning_effortvalues forstep-5-previewandstep-3.7-flashlivekit-plugins-openaidependencyRegional clusters
Supports:
global→api.stepfun.aichina→api.stepfun.comThe cluster can be configured through
STEPFUN_CLUSTERor the constructorarguments.
Testing
Validated locally with:
livekit.plugins.stepfunuv lock --checkpassedgit diff --checkpassedupstream/mainA complete runnable demo and recipe to build a voice agent using this plugin is available in my public repo:
https://github.com/robinzsx/livekit-plugins-stepfun
You can follow the README in the demo repo to test the end-to-end voice agent workflow.
Checklist