SpeechKit

module
v0.51.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2026 License: Apache-2.0

README

SpeechKit

Go Reference License Go

SpeechKit is a local-first voice framework, server, device runtime, and the home of the shared voice contracts. The kernel is platform-neutral Go and can be embedded directly, run as a self-hosted server, or used through a device client.

Beta. Public APIs, config keys, and defaults can still change between minor releases. Use it in production only with version pins. Pre-1.0 releases use the v0.MAJOR.MINOR scheme; breaking changes are called out in each CHANGELOG.md entry.

Local testing standard: run the public verification gate before any deploy. See CONTRIBUTING.md.

Scope

This repository owns:

  • The platform-neutral Go voice kernel in pkg/speechkit: mode contracts, provider profiles, routing policy, readiness metadata, and the reusable Dictation, Assist, and Voice Agent services.
  • The self-host server target in cmd/speechkit-server, which wraps the same kernel behind HTTP and WebSocket APIs plus its OpenAPI/AsyncAPI contracts.
  • The agent-facing surfaces: the speechkit-mcp MCP server and the speechkit-cli command-line tool.
  • The Windows Wails device client in cmd/speechkit, a reference implementation of a device target — not a separate product.
  • The shared voice surface contract consumed by Kombify Companion, Workbench, and embeds.

This repository does not own:

  • Product identity, tenancy, entitlement decisions, or edge policy. Those belong to kombify-Gateway and the platform standards.
  • Cloud AI provider-key custody for the platform. kombify-AI-Platform is the only cloud provider-key custodian; SpeechKit deliberately keeps its own self-contained provider layer so the open-core framework stays usable standalone.
  • The consuming client UX of Companion, Workbench, or any embedding host.

When a SpeechKit server is operated as a Kombify-hosted surface, its public traffic goes through https://api.kombify.io.

Runtime And Stack

Concern Choice
Language / runtime Go 1.26+ (kernel, server, CLI, MCP); Node.js 22+ for the client frontend
Device client Wails v3 (Windows 10/11 x64, WASAPI capture and playback)
Server target Linux container, net/http + WebSocket, OpenAPI and AsyncAPI contracts
Package managers Go modules, npm, mise for the task surface
Authentication Bearer tokens or edge-auth for the server target; Auth0 JWT at api.kombify.io for the Kombify-hosted deployment
Data SQLite by default (pure-Go driver); optional PostgreSQL 17; Render Managed Postgres for the hosted server target
Voice providers whisper.cpp, Piper, OpenAI, Google, Groq, Deepgram, AssemblyAI, Hugging Face, OpenRouter, Ollama
Delivery GitHub Releases (Windows installer and portable), ghcr.io/kombifyio/speechkit-server container

SpeechKit imports no Kombify Go modules — it has no dependency on kombify-go-common and does not call /v1/ai/*. That self-containment is a deliberate open-core exception. The relationships that do exist are contract and edge relationships: shared client and voice contracts, and kombify-Gateway as the edge for the Kombify-hosted server target consumed by Companion and Workbench.

Public dependency and export rules are documented in the SDK surface boundary.

Repository Context

flowchart LR
  CORE["Shared client + voice contracts"] --> SK["kombify-SpeechKit"]
  HOST["Go host apps<br/>self-hosted servers"] --> SK
  SK --> GW["kombify-Gateway<br/>api.kombify.io"]
  GW --> COMP["kombify-AI-Mobile<br/>Companion"]
  GW --> WB["kombify-Workbench"]

The public kernel and adapter boundary is documented in the SDK surface boundary.

Modes

The runtime targets share the same three strict modes:

Mode Purpose Boundary
Dictation Turn speech into text. STT only. No LLM rewriting, no utilities, no codewords.
Assist Turn speech or text into one useful result. Codeword, utility, or LLM output with optional TTS and explicit UI surface metadata.
Voice Agent Run realtime audio-to-audio dialogue. Live conversation for brainstorming, support, and fast follow-ups.

Hands-Free is not a fourth mode. It is an activation and voice-output layer over the three modes: wake activation, microphone capture, auto-end policy, and optional speaker output.

Words and Replacements are the first-class customization axis over the same three modes. Words teach SpeechKit terms to recognize; Replacements define deterministic text, command, snippet, synonym, and template transformations. See the Words And Replacements standard.

Speaker diarization, identification, and attribution are add-on capabilities. Provider support and auth status are tracked in the voice capability matrix.

Targets

Target Entry point Use it when
Local-first Go kernel pkg/speechkit You embed voice into your own Go product, internal tool, prototype, or automation host.
Self-host server cmd/speechkit-server You need a durable Linux process for your own clients, teams, browsers, or centrally managed provider configuration.
Agent tools cmd/speechkit-mcp, cmd/speechkit-cli An agent or operator should inspect the framework, generate starters, validate payloads, or operate a self-hosted server.
Windows device client cmd/speechkit You want a ready-to-run desktop reference host for local use, provider testing, or server-connected workflows.

Desktop device support is Windows 10/11 x64 only today. Linux is supported as a server runtime, not as a desktop capture client; macOS and Linux desktop packages are not currently supported. Default device hotkeys are Ctrl+Win (Dictation), Win+Alt (Assist), and Ctrl+Shift (Voice Agent).

Public Windows builds are published on GitHub Releases. A fresh clone also carries current installer metadata in release/latest/windows/, including canonical download URLs and SHA-256 hashes; the GitHub Release assets remain canonical.

Quick Start

Embed the Go kernel:

go get github.com/kombifyio/SpeechKit

Import only the components your host needs: pkg/speechkit/dictation for dictation, pkg/speechkit/wakeword for activation, pkg/speechkit/tts for spoken output, pkg/speechkit/companion plus Assist/TTS adapters for one-shot Voice Companion hosts, pkg/speechkit/speaker for speaker-aware apps, and pkg/speechkit/client for server-connected apps.

To drive the framework from a config.toml instead of building settings by hand, pkg/speechkit/hostconfig turns a config file into the public ModeSettings and a starting RuntimePolicy in one call:

settings, policy, err := hostconfig.Load("config.toml")

Real providers run in-process — no SpeechKit server required. Two runnable references:

# in-process Voice Agent (Gemini Live), no server:
GOOGLE_AI_API_KEY=... go run ./examples/voice-agent/in-process
# in-process Assist (host-owned LLM + optional public TTS), no server:
GOOGLE_AI_API_KEY=... go run ./examples/assist/in-process

Scaffold a single-prompt Go starter, run the server image, or drive the agent tools:

speechkit-cli init --template go-assist-voice-companion ./my-companion
docker pull ghcr.io/kombifyio/speechkit-server:latest
go run ./cmd/speechkit-mcp --mode=docs,test
go run ./cmd/speechkit-cli status --server "$SPEECHKIT_SERVER_URL" --token "$SPEECHKIT_SERVER_TOKEN"

More starting points: Framework API, Voice Companion, and examples/.

Common Commands

Public source verification:

go test ./pkg/... ./cmd/speechkit-cli/... ./cmd/speechkit-mcp/... ./examples/...
GOOS=linux CGO_ENABLED=0 go build ./cmd/speechkit-server ./cmd/speechkit-mcp ./cmd/speechkit-cli

The complete public-clone gate is documented in CONTRIBUTING.md.

Repository Layout

pkg/speechkit/          Public Go kernel and SDK surface
cmd/speechkit/          Windows device client (reference implementation)
cmd/speechkit-server/   Self-host server entry point
cmd/speechkit-mcp/      MCP server for agent docs, validation, and management
cmd/speechkit-cli/      CLI diagnostics, scaffolding, and quick actions
internal/               Implementation packages behind the public binaries
docs/                   Detailed documentation
deploy/                 Container and server configuration
scripts/                Install and release-note helpers

Standards

Documentation

Document Purpose
docs/README.md Documentation index
docs/architecture/sdk-surface-boundary.md Public SDK and export boundary
docs/speechkit-framework-api.md Public framework API contracts
docs/api/openapi.v1.yaml Local control-plane OpenAPI
docs/server/README.md Server target documentation
docs/server/openapi.v1.yaml Server OpenAPI contract
docs/mcp/README.md MCP server documentation
docs/agent/llms.txt Agent entrypoint
CONTRIBUTING.md Public development and verification workflow
CHANGELOG.md Release notes

Generated agent documentation never overrides this README or the detailed public documentation.

Issue Tracking

Public issues and contributions use the GitHub repository. Internal planning metadata is not part of the public source export.

Dual-Repo

The consumer-facing source repository is kombifyio/SpeechKit: the go get path, Go Reference badge, container image, and release assets all use that identity. The public source tree is produced by an allowlist-based export from governed working source. Exported code and documentation must remain usable without access to that working repository; see CONTRIBUTING.md and the SDK surface boundary.

Trust

Public releases include checksums and an unsigned Windows notice while the no-cost unsigned release path is active. Download only from the official kombifyio/SpeechKit releases.

License

Apache-2.0. See LICENSE.

Directories

Path Synopsis
cmd
speechkit-cli command
speechkit-mcp command
speechkit-server command
Package main is the canonical kombify SpeechKit Linux container server.
Package main is the canonical kombify SpeechKit Linux container server.
examples
assist/in-process command
Example: fully in-process Assist — text (or speech) in, one useful result out, no SpeechKit server.
Example: fully in-process Assist — text (or speech) in, one useful result out, no SpeechKit server.
box-evidence-harness command
Command box-evidence-harness is a headless "fake box": it drives the exact Voice-Agent WebSocket path the kombify-Box firmware uses and reports the two runtime facts the firmware hardcodes against.
Command box-evidence-harness is a headless "fake box": it drives the exact Voice-Agent WebSocket path the kombify-Box firmware uses and reports the two runtime facts the firmware hardcodes against.
embed-companion command
embed-event-bus command
embed-tts command
kombify-box-satellite command
Der kombify-box-Companion ist ein Windows-USB-Host (malgo/WASAPI, sherpa-onnx KWS, CDC-COM-Port) und braucht cgo.
Der kombify-box-Companion ist ein Windows-USB-Host (malgo/WASAPI, sherpa-onnx KWS, CDC-COM-Port) und braucht cgo.
library command
Example: Using SpeechKit as a Go library for speech-to-text.
Example: Using SpeechKit as a Go library for speech-to-text.
provider-catalog command
Example: reading SpeechKit's public mode and provider catalog.
Example: reading SpeechKit's public mode and provider catalog.
voice-agent/game-instructor command
Example: 15-minute Voice-Agent game instructor.
Example: 15-minute Voice-Agent game instructor.
voice-agent/in-process command
Example: fully in-process Voice Agent — no SpeechKit server in the path.
Example: fully in-process Voice Agent — no SpeechKit server in the path.
voice-agent/provider-switching command
Package main demonstrates provider/profile/model selection without live credentials.
Package main demonstrates provider/profile/model selection without live credentials.
internal
ai
Package ai wires the Genkit runtime and the SpeechKit model catalog into a single LLM/embedding/reranker surface used by Assist and the Voice Agent pipeline-fallback path.
Package ai wires the Genkit runtime and the SpeechKit model catalog into a single LLM/embedding/reranker surface used by Assist and the Voice Agent pipeline-fallback path.
assist
Package assist implements the Assist Mode pipeline: STT transcript → Codeword check → LLM → TTS → Result with both text and audio.
Package assist implements the Assist Mode pipeline: STT transcript → Codeword check → LLM → TTS → Result with both text and audio.
assist/skills/voice_companion
Package voice_companion provides ToolExecutor-compatible skill plugins for SpeechKit's Voice-Companion pattern.
Package voice_companion provides ToolExecutor-compatible skill plugins for SpeechKit's Voice-Companion pattern.
audio
Package audio is the platform-neutral audio I/O kernel.
Package audio is the platform-neutral audio I/O kernel.
auditlog
Package auditlog provides the dedicated audit-event stream for SpeechKit.
Package auditlog provides the dedicated audit-event stream for SpeechKit.
auditlogtest
Package auditlogtest provides test-only helpers for resetting the audit log package state between test cases.
Package auditlogtest provides test-only helpers for resetting the audit log package state between test cases.
config
Package config defines SpeechKit's TOML configuration schema and the load/merge/validate helpers around it.
Package config defines SpeechKit's TOML configuration schema and the load/merge/validate helpers around it.
models
Package models defines the SpeechKit model catalog: provider IDs, model identifiers, modality (STT, TTS, Realtime Voice, Assist, Utility, Embedding, Reranker), execution mode (local/cloud/direct), and the readiness metadata that setup UIs and the readiness endpoint consume.
Package models defines the SpeechKit model catalog: provider IDs, model identifiers, modality (STT, TTS, Realtime Voice, Assist, Utility, Embedding, Reranker), execution mode (local/cloud/direct), and the readiness metadata that setup UIs and the readiness endpoint consume.
router
Package router implements the STT routing layer.
Package router implements the STT routing layer.
runtimepath
Package runtimepath resolves exe-relative paths so SpeechKit's portable-mode bundle finds its bundled assets, models, and per-user data dirs without depending on the OS-level installer having registered a fixed location.
Package runtimepath resolves exe-relative paths so SpeechKit's portable-mode bundle finds its bundled assets, models, and per-user data dirs without depending on the OS-level installer having registered a fixed location.
scaffold
Package scaffold renders embedded starter templates into a target directory so callers can bootstrap a SpeechKit integration without hand-copying boilerplate.
Package scaffold renders embedded starter templates into a target directory so callers can bootstrap a SpeechKit integration without hand-copying boilerplate.
secrets
Package secrets is the cross-platform credential store with the canonical User > Install > Env > None resolution hierarchy.
Package secrets is the cross-platform credential store with the canonical User > Install > Env > None resolution hierarchy.
server
Package server is the umbrella for the Linux Server-Target HTTP + WebSocket adapter.
Package server is the umbrella for the Linux Server-Target HTTP + WebSocket adapter.
server/assist
Package assist implements the POST /v1/assist/process handler.
Package assist implements the POST /v1/assist/process handler.
server/audio
Package audio normalizes inbound audio payloads to the Framework kernel's canonical PCM format (16 kHz, signed 16-bit little-endian, mono) before they enter the STT router.
Package audio normalizes inbound audio payloads to the Framework kernel's canonical PCM format (16 kHz, signed 16-bit little-endian, mono) before they enter the STT router.
server/cli
Package cli holds the small amount of CLI-level glue for the Linux SpeechKit Server entry point.
Package cli holds the small amount of CLI-level glue for the Linux SpeechKit Server entry point.
server/core
Package core is the SpeechKit server bootstrap layer.
Package core is the SpeechKit server bootstrap layer.
server/deviceagent/claimstore
Package claimstore provides the durable at-most-once request ledger used by the local SpeechKit to Home Assistant bridge.
Package claimstore provides the durable at-most-once request ledger used by the local SpeechKit to Home Assistant bridge.
server/dictation
Package dictation implements the POST /v1/dictation/transcribe handler.
Package dictation implements the POST /v1/dictation/transcribe handler.
server/httpx
Package httpx contains tiny cross-handler helpers for JSON error envelopes and status mapping.
Package httpx contains tiny cross-handler helpers for JSON error envelopes and status mapping.
server/middleware
Package middleware provides HTTP middleware primitives for the SpeechKit server adapter.
Package middleware provides HTTP middleware primitives for the SpeechKit server adapter.
server/persona
Package persona provides the Voice Agent persona / role / sequence catalog for the Server-Target.
Package persona provides the Voice Agent persona / role / sequence catalog for the Server-Target.
server/toolbridge
Package toolbridge implements a generic HTTP client for the SpeechKit voice-agent tool bridge wire contract "speechkit.toolbridge.v1" (docs/server/toolbridge.v1.md).
Package toolbridge implements a generic HTTP client for the SpeechKit voice-agent tool bridge wire contract "speechkit.toolbridge.v1" (docs/server/toolbridge.v1.md).
server/voiceagent
Package voiceagent implements the Voice Agent WebSocket surface on the Server-Target.
Package voiceagent implements the Voice Agent WebSocket surface on the Server-Target.
server/wakewordmodels
Package wakewordmodels serves SpeechKit's wake-word MODEL catalog to devices, so a wake phrase trained via SpeechKit can be individualized on both device families from one contract:
Package wakewordmodels serves SpeechKit's wake-word MODEL catalog to devices, so a wake phrase trained via SpeechKit can be individualized on both device families from one contract:
server/wakewordtraining
Package wakewordtraining mounts the v0.37.5 REST endpoints that accept wake-word activation training-data uploads from device clients.
Package wakewordtraining mounts the v0.37.5 REST endpoints that accept wake-word activation training-data uploads from device clients.
server/wssession
Package wssession holds the transport-neutral session plumbing shared by the Server-Target's ticket-authenticated WebSocket surfaces (Voice Agent, streaming Dictation):
Package wssession holds the transport-neutral session plumbing shared by the Server-Target's ticket-authenticated WebSocket surfaces (Voice Agent, streaming Dictation):
server/wyoming
Package wyoming implements the Wyoming voice protocol so an ESPHome voice satellite (mediated by Home Assistant's Assist pipeline) can use speechkit-server as its STT and TTS backend.
Package wyoming implements the Wyoming voice protocol so an ESPHome voice satellite (mediated by Home Assistant's Assist pipeline) can use speechkit-server as its STT and TTS backend.
shortcuts
Package shortcuts implements pattern-matched intent shortcuts used by Assist Mode.
Package shortcuts implements pattern-matched intent shortcuts used by Assist Mode.
store
Package store is the durable backend for transcriptions, quick notes, voice-agent session summaries, persona catalog (M5b), and wake-word activation audio.
Package store is the durable backend for transcriptions, quick notes, voice-agent session summaries, persona catalog (M5b), and wake-word activation audio.
stt
telemetry
Package telemetry installs the process-wide OpenTelemetry trace pipeline that the Framework kernel's spans (STT routing, TTS, Voice Agent, server lifecycle) feed into.
Package telemetry installs the process-wide OpenTelemetry trace pipeline that the Framework kernel's spans (STT routing, TTS, Voice Agent, server lifecycle) feed into.
tts
Package tts re-exports the public pkg/speechkit/tts TTS surface so the existing kernel/adapter call sites (cmd/speechkit, internal/server, internal/assist, internal/voiceagent/cascaded, internal/ttswiring) keep compiling unchanged after the providers moved out to the public package.
Package tts re-exports the public pkg/speechkit/tts TTS surface so the existing kernel/adapter call sites (cmd/speechkit, internal/server, internal/assist, internal/voiceagent/cascaded, internal/ttswiring) keep compiling unchanged after the providers moved out to the public package.
ttswiring
Package ttswiring resolves a config.Config into the neutral tts.EnabledProviders input consumed by tts.BuildRouter.
Package ttswiring resolves a config.Config into the neutral tts.EnabledProviders input consumed by tts.BuildRouter.
voiceagent
Package voiceagent is the Voice Agent kernel — realtime audio-to-audio session manager backed by Gemini Live, with Persona/Role/Sequence resolution from internal/voicebehavior.
Package voiceagent is the Voice Agent kernel — realtime audio-to-audio session manager backed by Gemini Live, with Persona/Role/Sequence resolution from internal/voicebehavior.
voiceagent/cascaded
Package cascaded re-exports the public pkg/speechkit/voiceagent/cascaded turn-based Voice Agent provider so existing kernel/adapter call sites (internal/server/voiceagent, internal/voiceagent, cmd/sk-localprobe, scripts) compile unchanged.
Package cascaded re-exports the public pkg/speechkit/voiceagent/cascaded turn-based Voice Agent provider so existing kernel/adapter call sites (internal/server/voiceagent, internal/voiceagent, cmd/sk-localprobe, scripts) compile unchanged.
voiceagentprofile
Package voiceagentprofile re-exports the voicebehavior Profile DTO with JSON tags suitable for HTTP envelope serialisation.
Package voiceagentprofile re-exports the voicebehavior Profile DTO with JSON tags suitable for HTTP envelope serialisation.
voicebehavior
Package voicebehavior contains the shared Voice Agent behavior catalog used by both the local desktop runtime and the Linux server target.
Package voicebehavior contains the shared Voice Agent behavior catalog used by both the local desktop runtime and the Linux server target.
voiceeval
Package voiceeval contains deterministic dialogue checks for Voice Agent workflow tests.
Package voiceeval contains deterministic dialogue checks for Voice Agent workflow tests.
wakewordcatalog
Package wakewordcatalog is the kernel-neutral source of truth for the wake phrases SpeechKit trains and serves, across BOTH engine families:
Package wakewordcatalog is the kernel-neutral source of truth for the wake phrases SpeechKit trains and serves, across BOTH engine families:
pkg
speechkit
Package speechkit provides the public SDK for embedding SpeechKit voice capture, transcription, and assist/voice-agent pipelines into host applications.
Package speechkit provides the public SDK for embedding SpeechKit voice capture, transcription, and assist/voice-agent pipelines into host applications.
speechkit/agentkit
Package agentkit provides a small Go harness for building SpeechKit Voice Agent hosts.
Package agentkit provides a small Go harness for building SpeechKit Voice Agent hosts.
speechkit/assist
Package assist provides an embeddable Assist Mode service.
Package assist provides an embeddable Assist Mode service.
speechkit/assist/genkitadapter
Package genkitadapter keeps Genkit-specific Assist wiring out of the core public assist package.
Package genkitadapter keeps Genkit-specific Assist wiring out of the core public assist package.
speechkit/assist/skills
Package skills exposes SpeechKit's Voice-Companion skill catalog — Time, Date, Math, Weather, Timer, Reminder, Wikipedia, plus a fail-closed Home Assistant boundary — as a public assist.ToolMatcher + assist.ToolExecutor pair, ready to plug into an assist.Service.
Package skills exposes SpeechKit's Voice-Companion skill catalog — Time, Date, Math, Weather, Timer, Reminder, Wikipedia, plus a fail-closed Home Assistant boundary — as a public assist.ToolMatcher + assist.ToolExecutor pair, ready to plug into an assist.Service.
speechkit/assist/toolbridge
Package toolbridge adapts Assist-mode tools (assist.ToolMatcher / assist.ToolExecutor — the deterministic skill layer, e.g.
Package toolbridge adapts Assist-mode tools (assist.ToolMatcher / assist.ToolExecutor — the deterministic skill layer, e.g.
speechkit/client
Package client provides a typed HTTP client for talking to a remote SpeechKit Server (the `cmd/speechkit-server` Linux container or any compatible deployment).
Package client provides a typed HTTP client for talking to a remote SpeechKit Server (the `cmd/speechkit-server` Linux container or any compatible deployment).
speechkit/companion
Package companion provides small composers for hands-free SpeechKit hosts.
Package companion provides small composers for hands-free SpeechKit hosts.
speechkit/customize
Package customize defines SpeechKit's public Words/Replacements contract.
Package customize defines SpeechKit's public Words/Replacements contract.
speechkit/deviceagent
Package deviceagent implements the credential-minimal LAN-side SpeechKit device-agent client and its versioned wire contract.
Package deviceagent implements the credential-minimal LAN-side SpeechKit device-agent client and its versioned wire contract.
speechkit/dictation
Package dictation provides an embeddable strict Dictation runtime.
Package dictation provides an embeddable strict Dictation runtime.
speechkit/hostconfig
Package hostconfig turns a SpeechKit TOML configuration file into the public SDK types an embedding host drives the framework with: a speechkit.ModeSettings (which modes are on, their hotkeys and selected provider profiles) and a permissive speechkit.RuntimePolicy (which modes the host exposes and whether fallbacks are allowed).
Package hostconfig turns a SpeechKit TOML configuration file into the public SDK types an embedding host drives the framework with: a speechkit.ModeSettings (which modes are on, their hotkeys and selected provider profiles) and a permissive speechkit.RuntimePolicy (which modes the host exposes and whether fallbacks are allowed).
speechkit/lifecycle
Package lifecycle owns mode start/stop orchestration and refcounted shared dependencies for SpeechKit hosts.
Package lifecycle owns mode start/stop orchestration and refcounted shared dependencies for SpeechKit hosts.
speechkit/localization
Package localization resolves stable SpeechKit message IDs against the repository-owned locale catalogs.
Package localization resolves stable SpeechKit message IDs against the repository-owned locale catalogs.
speechkit/netsec
Package netsec provides centralized network security primitives used by every HTTP-based provider in SpeechKit (STT, TTS, LLM, downloads).
Package netsec provides centralized network security primitives used by every HTTP-based provider in SpeechKit (STT, TTS, LLM, downloads).
speechkit/provideropts
Package provideropts defines SpeechKit's provider-neutral voice option vocabulary and the manifest/resolve types used by concrete provider adapters.
Package provideropts defines SpeechKit's provider-neutral voice option vocabulary and the manifest/resolve types used by concrete provider adapters.
speechkit/speaker
Package speaker defines SpeechKit's public speaker diarization and attribution contracts.
Package speaker defines SpeechKit's public speaker diarization and attribution contracts.
speechkit/stt
Package stt defines the SpeechKit speech-to-text provider interface and houses the concrete provider implementations: whisper.cpp (local built-in), HuggingFace, OpenAI, Groq, Google, an OpenAI-compatible adapter (covers Ollama and other compatible servers), and the self-hosted VPS adapter.
Package stt defines the SpeechKit speech-to-text provider interface and houses the concrete provider implementations: whisper.cpp (local built-in), HuggingFace, OpenAI, Groq, Google, an OpenAI-compatible adapter (covers Ollama and other compatible servers), and the self-hosted VPS adapter.
speechkit/stt/sttcontract
Package sttcontract provides a reusable conformance suite that every stt.STTProvider implementation is expected to satisfy.
Package sttcontract provides a reusable conformance suite that every stt.STTProvider implementation is expected to satisfy.
speechkit/tts
Package tts exposes the embeddable SpeechKit text-to-speech surface.
Package tts exposes the embeddable SpeechKit text-to-speech surface.
speechkit/tts/ttscontract
Package ttscontract provides a reusable conformance suite that every tts.Provider implementation is expected to satisfy.
Package ttscontract provides a reusable conformance suite that every tts.Provider implementation is expected to satisfy.
speechkit/ttsroute
Package ttsroute holds the single source of truth that maps a Voice-Output profile ID (e.g.
Package ttsroute holds the single source of truth that maps a Voice-Output profile ID (e.g.
speechkit/voiceagent
Package voiceagent provides an embeddable Voice Agent service.
Package voiceagent provides an embeddable Voice Agent service.
speechkit/voiceagent/cascaded
Package cascaded implements a turn-based STT -> LLM -> TTS voice agent provider.
Package cascaded implements a turn-based STT -> LLM -> TTS voice agent provider.
speechkit/voiceagent/live
Package live exposes the low-level Voice Agent realtime-protocol types.
Package live exposes the low-level Voice Agent realtime-protocol types.
speechkit/voiceagent/live/livecontract
Package livecontract provides reusable conformance checks for LiveProvider implementations.
Package livecontract provides reusable conformance checks for LiveProvider implementations.
speechkit/voiceagent/local
Package local implements voiceagent.Provider on top of an in-process live session — realtime voice agents (Deepgram Voice Agent, Gemini Live, OpenAI Realtime, AssemblyAI, cascaded) without a speechkit-server.
Package local implements voiceagent.Provider on top of an in-process live session — realtime voice agents (Deepgram Voice Agent, Gemini Live, OpenAI Realtime, AssemblyAI, cascaded) without a speechkit-server.
speechkit/wakeword
Package wakeword exposes embeddable SpeechKit wake-word contracts.
Package wakeword exposes embeddable SpeechKit wake-word contracts.
speechkit/wakeword/sherpa
Package sherpa exposes the sherpa-onnx wake-word detector adapter.
Package sherpa exposes the sherpa-onnx wake-word detector adapter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL