Requirements
- Go 1.26 or newer
- an application that can provide the selected microphone, audio, or text input
- provider credentials only when you choose an external provider
Add the module
@latest resolves to the newest published release. Record the exact version
your build resolved and pin it before shipping: this is beta software, and
public APIs, configuration keys, and defaults can change between minor
releases.
Import only the packages your host needs: pkg/speechkit/dictation for
dictation, pkg/speechkit/wakeword for activation, pkg/speechkit/tts for
spoken output, pkg/speechkit/companion plus Assist and text-to-speech
adapters for one-shot hosts, pkg/speechkit/speaker for speaker-aware apps,
pkg/speechkit/meeting for recording sessions, and pkg/speechkit/client for
server-connected apps. The root speechkit package holds contracts and value
types only.
To drive the framework from a config.toml instead of building settings by
hand, pkg/speechkit/hostconfig turns a config file into the public mode
settings and a starting runtime policy in one call:
config.toml identically.
A few packages need cgo (Windows audio capture, the ONNX wake word) or an
external binary (whisper-server). Each fails closed with a sentinel error
when its dependency is absent rather than pretending to work.
Other targets
Self-hosted server
A Linux HTTP and WebSocket service over the same kernel, built from public
source. It exposes Dictation, Assist, and Voice Agent under one URL.
Agent tools
speechkit-mcp and speechkit-cli let an agent or operator inspect the
framework, scaffold starters, validate payloads, and operate a server.Android modules
Apache-2.0 Gradle modules for server resolution, capture and turn-taking,
the wire protocol, and a Compose voice UI, plus an in-repo reference app.
Browser clients
TypeScript packages for the server REST API, the Voice Agent WebSocket
protocol, and a framework-neutral voice UI kit, published as source in the
repository.
Continue with public documentation
- SDK in 10 minutes
- Framework API
- Add a custom provider
- Words and Replacements
- SDK surface boundary
- Runnable examples
These links follow the public repository’s default branch, so they stay valid
as the project moves. Pin a tag in the URL when you need the documentation that
matches one exact release.
