Plugin Types & Entry Points

July 31, 2026 · View on GitHub

OPM discovers all OVOS plugins through Python package entry points. The PluginTypes enum in ovos_plugin_manager.utils maps plugin categories to their canonical entry point group names. A matching PluginConfigTypes enum has the .config sub-group names that plugins use to expose supported-language configuration.

PluginTypes Enum

Speech and audio

Enum valueEntry point groupTemplate base class
STTopm.sttSTT
TTSopm.ttsTTS
WAKEWORDopm.wake_wordHotWordEngine
WAKEWORD_VERIFIERopm.wake_word.verifierHotWordVerifier
Enum valueEntry point groupTemplate base class
VADopm.VADVADEngine
MICopm.microphoneOVOSMicrophone

Hardware, skills, and the pipeline

Enum valueEntry point groupTemplate base class
PHALopm.phalPHALPlugin
ADMINopm.phal.adminAdminPlugin
SKILLopm.skillN/A
GUIopm.guiN/A
Enum valueEntry point groupTemplate base class
GUI_ADAPTERopm.gui_adapterN/A
PIPELINEopm.pipelinePipelinePlugin

Language and transformers

Enum valueEntry point groupTemplate base class
TRANSLATEopm.lang.translateLanguageTranslator
LANG_DETECTopm.lang.detectLanguageDetector
UTTERANCE_TRANSFORMERopm.transformer.textUtteranceTransformer
METADATA_TRANSFORMERopm.transformer.metadataMetadataTransformer
Enum valueEntry point groupTemplate base class
AUDIO_TRANSFORMERopm.transformer.audioAudioTransformer
DIALOG_TRANSFORMERopm.transformer.dialogDialogTransformer
TTS_TRANSFORMERopm.transformer.ttsTTSTransformer
INTENT_TRANSFORMERopm.transformer.intentIntentTransformer

Phonemes, voice, and text processing

Enum valueEntry point groupTemplate base class
PHONEMEopm.g2pGrapheme2PhonemePlugin
AUDIO2IPAopm.audio2ipaAudio2IPAPlugin
VOICE_CLONEopm.vcVoiceClonePlugin
KEYWORD_EXTRACTIONopm.keywordsKeywordExtractor
Enum valueEntry point groupTemplate base class
UTTERANCE_SEGMENTATIONopm.segmentationUtteranceSegmenter
TOKENIZATIONopm.tokenizationTokenizer
POSTAGopm.postagPosTagger

Embeddings and knowledge

Enum valueEntry point groupTemplate base class
EMBEDDINGSopm.embeddingsN/A
TEXT_EMBEDDINGSopm.embeddings.textN/A
VOICE_EMBEDDINGSopm.embeddings.voiceN/A
IMAGE_EMBEDDINGSopm.embeddings.imageN/A
Enum valueEntry point groupTemplate base class
FACE_EMBEDDINGSopm.embeddings.faceN/A
TRIPLESopm.triplesN/A

Media

Enum valueEntry point groupTemplate base class
STREAM_EXTRACTORopm.ocp.extractorN/A
MEDIA_PROVIDERopm.media.providerMediaProvider
AUDIO_PLAYERopm.media.audioN/A
VIDEO_PLAYERopm.media.videoN/A
Enum valueEntry point groupTemplate base class
WEB_PLAYERopm.media.webN/A

Agents

Enum valueEntry point groupTemplate base class
PERSONAopm.plugin.personaN/A
AGENT_MEMORYopm.agents.memoryAgentContextManager
AGENT_CHATopm.agents.chatChatEngine
AGENT_CHAT_MULTIMODALopm.agents.chat.multimodalN/A
Enum valueEntry point groupTemplate base class
AGENT_RETRIEVALopm.agents.retrievalRetrievalEngine
AGENT_DOC_RETRIEVALopm.agents.retrieval.documentsDocumentIndexerEngine
AGENT_QA_RETRIEVALopm.agents.retrieval.qaQAIndexerEngine
AGENT_RERANKERopm.agents.rerankerReRankerEngine
Enum valueEntry point groupTemplate base class
AGENT_SUMMARIZERopm.agents.summarizerSummarizerEngine
AGENT_CHAT_SUMMARIZERopm.agents.summarizer.chatN/A
AGENT_EXTRACTIVE_QAopm.agents.extractive_qaExtractiveQAEngine
AGENT_NLIopm.agents.nliNaturalLanguageInferenceEngine
Enum valueEntry point groupTemplate base class
AGENT_COREFopm.agents.corefN/A
AGENT_YES_NOopm.agents.yesnoN/A
AGENT_MULTIMODAL_ADAPTERopm.agents.multimodal_adapterN/A
AGENT_TOOLBOXopm.agents.toolboxToolBox

Deprecated solver types

The AGENT_* types above replace these. They will be removed in the next major release.

Enum valueEntry point group
QUESTION_SOLVERopm.solver.question
CHAT_SOLVERopm.solver.chat
TLDR_SOLVERopm.solver.summarization
ENTAILMENT_SOLVERopm.solver.entailment
Enum valueEntry point group
MULTIPLE_CHOICE_SOLVERopm.solver.multiple_choice
READING_COMPREHENSION_SOLVERopm.solver.reading_comprehension
COREFERENCE_SOLVERopm.coreference

Legacy / Deprecated Entry Points

OPM still recognizes these old entry point names and maps them internally to their canonical equivalents. Do not use them in new plugins.

Old nameCanonical name
mycroft.plugin.sttopm.stt
mycroft.plugin.ttsopm.tts
mycroft.plugin.wake_wordopm.wake_word
ovos.plugin.phalopm.phal
Old nameCanonical name
ovos.plugin.phal.adminopm.phal.admin
ovos.plugin.VADopm.vad
ovos.plugin.microphoneopm.microphone
ovos.plugin.skillopm.skill
Old nameCanonical name
ovos.plugin.guiopm.gui
ovos.plugin.g2popm.g2p
ovos.plugin.audio2ipaopm.audio2ipa
neon.plugin.lang.translateopm.lang.translate
Old nameCanonical name
neon.plugin.lang.detectopm.lang.detect
neon.plugin.textopm.transformer.text
neon.plugin.metadataopm.transformer.metadata
neon.plugin.audioopm.transformer.audio
Old nameCanonical name
neon.plugin.solveropm.solver.question
intentbox.coreferenceopm.coreference
intentbox.keywordsopm.keywords
intentbox.segmentationopm.segmentation
Old nameCanonical name
intentbox.tokenizationopm.tokenization
intentbox.postagopm.postag
ovos.ocp.extractoropm.ocp.extractor

← Installation · Home · Writing a Plugin →