docs.rs failed to build skadoosh-0.6.4
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
skadoosh-0.11.0
skadoosh
A fast, fully local voice agent in Rust. Mic in, Silero VAD listens, Whisper transcribes, your LLM replies, and Kokoro speaks each clause as it lands. Interrupt mid-sentence — it shuts up instantly. No cloud, no fuss. OpenAI-compatible backends also work.
Use it as a binary or as a library with pluggable engines.
Install
5-line SDK
use ;
That's a full voice agent. See examples/ for text mode, mock engines, and custom backends.
Quickstart (binary)
&&
Talk. It answers. Talk over it — it stops.
Key features
- Clause-level streaming — TTS starts on the first clause, not the full reply
- Real barge-in — speak anytime, old audio stops in ~5–10 ms, lock-free
- No cloud — everything runs locally; OpenAI-compatible APIs also supported
- Plug any engine — implement
SttEngine,LlmBackend, orTtsEngineand drop them in - GPU acceleration — CUDA, CoreML, DirectML, ROCm via Cargo features (
gpu-cuda, etc.) - Tool calling — LLMs run shell commands, results feed back into conversation
- Emotion-aware TTS — keyword-driven speed modulation (excited/calm/neutral)
- Hold music — chord progression plays during long tool executions
#![forbid(unsafe_code)]— zero unsafe, rustls everywhere
Configuration
Every flag has a SKADOOSH_ env var. --api-key is never logged.
| Flag | Default | What it does |
|---|---|---|
--llm-url |
http://localhost:11434/v1 |
OpenAI-compatible base URL |
--llm-model |
qwen2.5:0.5b |
Model name |
--api-key |
— | Bearer token for hosted providers |
--whisper-model |
models/ggml-tiny.en.bin |
STT model |
--tts-model |
— | Kokoro ONNX (absent → sine mock) |
--mock-tts |
off | Force sine-wave TTS instead of Kokoro |
--silence-ms |
300 |
How much silence ends a segment |
--vad-threshold |
0.5 |
Speech probability threshold |
--push-to-talk |
off | Keyboard toggle for recording |
--wake-word |
— | Only process speech containing this |
--tts-voice |
af |
Kokoro voice key |
--tts-speed |
1.0 |
Playback speed (0.5–2.0) |
--whisper-model-size |
tiny |
Whisper model size for API backends |
--hold-music |
off | Chord progression during tool execution |
--tts-emotion |
off | Emotion-aware speech speed |
--selftest <wav> |
— | Headless end-to-end test |
License
Dual-licensed under MIT or Apache-2.0, at your option.