Plugins Index¶
In a nutshell
OpenVoiceOS is built from interchangeable building blocks called plugins: small add-ons that each handle one job, like turning speech into text or text into speech. This works much like browser extensions. You can mix and match the pieces you want and swap them out later. This page is a map of every plugin type, each linking to its catalog of available plugins. See the Glossary for related terms, or the Plugin Manager for how they are discovered and loaded.
Every plugin registers under an entry-point group (the opm.* name below) so the
Plugin Manager can find it. Pick a type to see the available plugins,
their config, and install commands.
Too many choices? Start with Choosing Plugins
A side-by-side comparison of every plugin type: the recommended default, each option's maturity, offline/cloud, and licence, plus a copy-paste fully-offline stack and scenario-based picks. This page is the map of types. That page helps you pick one.
Which plugin type do I need?¶
- I want to hear the assistant on speakers or a headset → Microphone is the input side; for the output voice see TTS.
- I want it to stop listening to background noise → VAD.
- I want to change the activation phrase or engine → Wake word.
- I want fewer false wake-ups → Wake-word Verifiers.
- I want more accurate transcription → STT.
- I want a different voice → TTS.
- I want mouth/viseme animation on a Mark 1-style face → G2P.
- I want the assistant to detect or translate another language → Translation & Language Detection.
- I want to clean up or correct recognized text before intent matching → Utterance Transformers.
- I want to change how utterances get routed to skills → Pipeline matchers.
- I want to hook into the text/metadata/dialog/TTS stages → Transformers.
- I want "play X" to find YouTube, a podcast, or a playlist → OCP Stream Extractors.
- I want media requests recognized by intent (artist, title, station) → OCP Media Classifiers.
- I want the actual audio/video to play → Media Playback.
- I want a custom GUI render backend → GUI Adapters (unreleased).
- I want an LLM answering when no skill matches → Agent Engines and Personas.
- I want the assistant to remember earlier turns → Persona Memory.
- I want an agent to call external functions (weather, search, …) → Agent Tools.
- I want hardware or platform integration (LEDs, buttons, displays) → PHAL; to write one, see Writing PHAL Plugins.
Speech & Audio¶
About 48 plugins in the catalog, across microphone, VAD, wake word, wake-word verification, STT, TTS, and G2P.
Recommended offline defaults
For a fully offline, on-device speech stack: TTS → phoonnx · STT → onnx-asr · VAD → silero · Wake word → precise-onnx (or openWakeWord as a strong alternative). Each linked page explains the reasoning and lists the cloud alternatives that are a fair choice when local compute or coverage needs push you that way.
| Type | Entry point | What it does |
|---|---|---|
| Microphone | opm.microphone |
Captures audio from a microphone or audio source |
| VAD (Voice Activity Detection) | opm.VAD |
Detects when speech starts and stops |
| Wake word | opm.wake_word |
Listens for the activation phrase (e.g. "hey Mycroft") |
| Wake-word Verifiers | opm.wake_word.verifier |
Second-stage check to reject false wake-word triggers |
| STT (Speech-to-Text) | opm.stt |
Transcribes captured speech into text |
| TTS (Text-to-Speech) | opm.tts |
Turns reply text back into spoken audio |
| G2P (Grapheme-to-Phoneme) | opm.g2p |
Converts text to phonemes (e.g. for mouth/visemes) |
Language¶
About 5 plugins in the catalog for translation and language detection.
| Type | Entry point | What it does |
|---|---|---|
| Translation & Language Detection | opm.lang.translate / opm.lang.detect |
Detect a text's language and translate between languages |
| Utterance Transformers | opm.transformer.text |
Modify the recognized text before intent matching |
Intent & Dialog Pipeline¶
About 15 pipeline matchers in the catalog, across the built-in stop/converse/OCP/padatious/adapt/
fallback tiers, ovos-common-query-pipeline-plugin, ovos-m2v-pipeline, and the alternative
matchers (Padacioso, Nebulento, Palavreado, Hierarchical KNN, Markov, HiveMind).
| Type | Entry point | What it does |
|---|---|---|
| Pipeline matchers | opm.pipeline |
Decide which skill handles an utterance (Adapt, Padatious, …) |
| Transformers | opm.transformer.* |
Hook into the text / metadata / dialog / TTS stages |
Media & GUI¶
About 17 plugins in the catalog, across OCP stream extractors and media playback backends. OCP GUI Adapters exist as a spec, not yet as a shipped plugin. Media Classifiers ship — see the row below.
| Type | Entry point | What it does |
|---|---|---|
| OCP Stream Extractors | opm.ocp.extractor |
Resolve a playable stream from a URL (YouTube, RSS, …) |
| OCP Media Classifiers | opm.media.classifier |
Recognize media intent + entities (artist, title, station, …) in an utterance. Deployed as a hard dependency of ovos-ocp-pipeline-plugin. See the Media Playback page. |
| Media Playback | opm.media.audio / .video / .web |
Backend players for ovos-media |
| OCP Audio Plugin | legacy audio backend | The current default playback engine inside ovos-audio |
| Stream Extractors | opm.ocp.extractor |
Resolve a stream URL before playback (YouTube, RSS, ...) |
| GUI Extensions | opm.gui |
Legacy GUI service extensions. See GUI status for the state of the GUI stack, the GUI protocol, ovos-shell, Qt5 GUI, and homescreens |
| GUI Adapters | opm.gui_adapter (unreleased) |
(unreleased) Render backends for the GUI. Not yet built or released. See the GUI Adapters page. |
AI Agents & Personas¶
About 34 plugins in the catalog, across agent engines, persona-memory backends, agent tools, and bundled personas.
| Type | Entry point | What it does |
|---|---|---|
| Agent Engines | opm.agents.* |
Chat / retrieval / summarizer / reranker brains |
| Persona Memory | opm.agents.memory |
What a persona remembers between turns |
| Agent Tools | opm.agents.toolbox |
Give an agent callable tools |
| Personas | opm.plugin.persona |
Bundle engines into a conversational identity |
System & Hardware¶
About 20 PHAL plugins in the catalog.
| Type | Entry point | What it does |
|---|---|---|
| PHAL (Platform/Hardware Abstraction Layer) | opm.phal |
Hardware and platform integrations |
Other plugin types¶
These plugin types are defined by the Plugin Manager but don't yet have a dedicated catalog page here. See Plugin Types Reference for their entry-point group and template base class:
- Voice Clone (
opm.vc): clones a voice for TTS synthesis - Audio→IPA (
opm.audio2ipa): transcribes audio directly to phonemes (IPA) - Embeddings (
opm.embeddings, plusopm.embeddings.text/.voice/.image/.face): generic and modality-specific embedding backends - Knowledge Triples (
opm.triples): extracts subject-predicate-object triples from text
For the full machine-readable list of plugin types and template base classes, see the Plugin Types Reference table. To create your own plugin, each catalog page above includes a template and entry-point example.
Read next: Choosing Plugins Related: Plugin Arena · Plugin Manager · Maturity Scale · Glossary