About
Assist Canonicalizer is a conversation agent that maps spoken or typed requests to canonical Assist sentences. It ranks candidate sentences locally with several lexical signals, so no LLM or external service is needed, and the chosen sentence goes to Home Assistant's built-in handling. Candidate indexes are built per language from built-in intents, custom sentence files, exposed entity names and aliases, and area and floor registries. Settings cover a fallback conversation agent, a minimum match confidence, a confidence margin, and an optional hot word that sends a prompt straight to the fallback agent. Actions allow testing matches, rebuilding or clearing indexes, dumping candidates, changing the fallback agent, and returning diagnostics. It is set up in the UI and needs the Marketplace.
Automatic summary of the README and code of luuquangvu/assist-canonicalizer. Something wrong, or are you the maintainer and want your own text here? Get in touch
Supports
Works locally Talks to your devices on your own network. No vendor cloud in between.
From the Marketplace Installed through the Marketplace, formerly HACS.
Actively maintained Its author released or pushed a change in the last six months.
Setting it up
Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.
Assist Canonicalizer
- Fallback Conversation Agent
- Minimum Match Confidence
- Base Confidence Margin
- Enable Hot Word Bypass
- Custom Hot Word
- Hot Word Match Confidence
After setup
- Fallback Conversation Agent
- Minimum Match Confidence
- Base Confidence Margin
- Enable Hot Word Bypass
- Custom Hot Word
- Hot Word Match Confidence
Texts from the code of luuquangvu/assist-canonicalizer.
Actions
- Set fallback agentChange the fallback conversation agent used for future requests.Fields: Conversation agent
- Test matchReturn ranked candidates for a text input using lexical scoring and custom thresholds.Fields: Text, Language
- Rebuild indexRebuild the search index for a language from automatic candidate sources.Fields: Language
- Clear indexClear a language index or all indexes.Fields: Language
- DiagnosticsReturn runtime diagnostics for Assist Canonicalizer.
- Dump candidatesReturn candidate pool details for a specific language.Fields: Language, Rebuild
Troubleshooting
- DiagnosticsDownloads a diagnostics file to attach to a bug report.
From the README
Assist Canonicalizer improves intent recognition in Home Assistant Assist by mapping natural-language requests to canonical intent sentences before they reach the built-in conversation agent. It runs as a Home Assistant conversation agent and uses local, multi-signal lexical ranking for canonicalization, without requiring an LLM or an external service.
People do not always phrase the same request in the same way. Word order, filler words, aliases, and speech-to-text errors can all affect recognition. Assist Canonicalizer handles these variations while leaving final intent recognition and execution to Home Assistant.
- Home Assistant Conversation Agent: Integrates directly with Assist as a conversation agent. It canonicalizes incoming requests and sends the selected command through Home Assistant's standard…
- Multi-Signal Lexical Ranking Engine: Scores candidates with four complementary signals: RapidFuzz fuzzy matching, character n-gram Jaccard similarity, BM25 probabilistic retrieval, and intent action…
- Automatic Candidate Index Building: Builds language-specific indexes from supported Home Assistant sources: built-in intents, custom sentence YAML files, exposed entity names and aliases, area and…
- On-Disk Candidate Persistence: Stores canonical candidate lists in Home Assistant storage. Later rebuilds can reuse these lists instead of parsing every sentence template and YAML file again.
Information
- Installs
- 69 sharing analytics
- GitHub stars
- 57
- Connection
- Works locally
- Upkeep
- Updated in the last 6 months
- Version
- 1.15.2,
- Kind
- Marketplace integration
- Needs
- Needs the Marketplace (HACS on 2026.10 and older)
- Domain
assist_canonicalizer- Issues
- Report an issue










