Skip to main content

end-of-speech-integration

Add or modify end-of-speech integrations in assistant-api with strict separation from VAD internals. Use for transcript/audio/history-aware turn-finalization logic, provider wiring, and EOS UI config.

설치로 이동

소스 정보

저장소
rapidaai/voice-ai
최근 소스 활동
2026년 8월 23일 07:23
감지된 SKILL.md 언어
영어
스타
733
포크
120

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
6 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
end-of-speech-integration
description
Add or modify end-of-speech integrations in assistant-api with strict separation from VAD internals. Use for transcript/audio/history-aware turn-finalization logic, provider wiring, and EOS UI config.
# End Of Speech Integration Skill ## Mission Implement EOS that finalizes each user turn exactly once, at low latency, without mutating VAD behavior. ## Hard boundaries In scope: - `api/assistant-api/internal/end_of_speech/internal/<provider>/...` - `api/assistant-api/internal/end_of_speech/end_of_speech.go` - `api/assistant-api/internal/type/end_of_speech.go` and packet compatibility only if required - `ui/src/providers/<provider>/eos.json` and optional `model-options.json` - `ui/src/app/components/providers/end-of-speech/` Out of scope: - `api/assistant-api/internal/vad/internal/...` - VAD factory/provider behavior - STT/TTS/telephony provider internals ## Inputs expected from user 1. EOS signal mode: transcript-only, audio-model, or history-aware. 2. Priority: lower latency or lower false-finalization. 3. Deployment/model constraints. If missing: - Default to transcript-only (`silence_based_eos`) for text/STT flows. - Keep current threshold/timeout defaults. ## Packet contract Consumed packets vary by provider: - transcript flow: `SpeechToTextPacket`, `UserTextPacket` - timer reset flow: `InterruptionPacket`, `VadSpeechActivityPacket` - model-aware flow: optional `UserAudioPacket`, `LLMResponseDonePacket` Required outputs: - `InterimEndOfSpeechPacket` - `EndOfSpeechPacket` (exactly once per utterance) - `ConversationEventPacket{Name:"eos", ...}` ## Implementation workflow 1. Choose baseline (`silence_based`, `pipecat`, `livekit`). 2. Implement provider in `internal/<provider>/`. 3. Register provider in EOS factory switch. 4. Enforce deterministic interim/final packet order. 5. Wire UI provider config and component mapping. 6. Add tests for timeout/interruption/dedup-finalization. ## Governed lifecycle - Classify work as Fast, Standard, or Governed using `DEVELOPMENT_PROCESS.md`; use the full gated lifecycle only for Governed work. - This skill operates only in its assigned phase and path ownership; it may not approve its own plan or code review. - Governed implementation starts only from a coordinator-attested approved plan; Fast and Standard work follows its lighter documented lifecycle. - Return changed-file and verification evidence to the coordinator, then route the complete verified diff to the read-only `code-reviewer`. ## Validation commands - `go test ./api/assistant-api/internal/end_of_speech/...` - `go test ./api/assistant-api/internal/adapters/internal/...` - `cd ui && yarn test providers` - `./skills/end-of-speech-integration/scripts/validate.sh --check-diff --provider <provider>` ## References - `references/checklist.md` - `references/eos-checklist.md` - `examples/sample.md`
GitHub에서 보기