---
title: "Assist Canonicalizer"
description: "Assist Canonicalizer is a Marketplace integration for Home Assistant. It has 69 installs sharing analytics, works locally and was last updated October 27, 2026."
canonical: "https://vulpo.app/integrations/marketplace/luuquangvu-assist-canonicalizer"
url: "https://vulpo.app/integrations/marketplace/luuquangvu-assist-canonicalizer.md"
last-updated: "2026-10-22"
version: "1.4"
---

# Assist Canonicalizer

> Assist Canonicalizer is a Marketplace integration for Home Assistant. It has 69 installs sharing analytics, works locally and was last updated October 27, 2026.

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](https://vulpo.app/contact)

[Open in My Home Assistant](https://my.home-assistant.io/redirect/hacs_repository/?owner=luuquangvu&repository=assist-canonicalizer&category=integration)

On Home Assistant 2026.11 or newer? [Open it in the Marketplace](https://my.home-assistant.io/redirect/marketplace_repository/?owner=luuquangvu&repository=assist-canonicalizer&category=integration)

## 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](https://github.com/luuquangvu/assist-canonicalizer).

## Actions

- **Set fallback agent**: Change the fallback conversation agent used for future requests.
  Fields: Conversation agent
- **Test match**: Return ranked candidates for a text input using lexical scoring and custom thresholds.
  Fields: Text, Language
- **Rebuild index**: Rebuild the search index for a language from automatic candidate sources.
  Fields: Language
- **Clear index**: Clear a language index or all indexes.
  Fields: Language
- **Diagnostics**: Return runtime diagnostics for Assist Canonicalizer.
- **Dump candidates**: Return candidate pool details for a specific language.
  Fields: Language, Rebuild

## Troubleshooting

- **Diagnostics**: Downloads 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.

From the README of [luuquangvu/assist-canonicalizer](https://github.com/luuquangvu/assist-canonicalizer#readme), [MIT License](https://spdx.org/licenses/MIT.html). Shortened.

## At a glance

- Kind: Marketplace integration
- Number: 69 installs sharing analytics; 57 GitHub stars
- Connection: Works locally
- Upkeep: Updated in the last 6 months
- Needs: Needs the Marketplace (HACS on 2026.10 and older)
- Latest version: 1.15.2, last updated October 27, 2026
- Domain: `assist_canonicalizer`
- Source: <https://github.com/luuquangvu/assist-canonicalizer>
- Issues: <https://github.com/luuquangvu/assist-canonicalizer/issues>

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. [About these numbers](https://vulpo.app/integrations/about)

Last updated 2026-10-22. Source: https://vulpo.app/integrations/marketplace/luuquangvu-assist-canonicalizer

---

- HTML version of this page: https://vulpo.app/integrations/marketplace/luuquangvu-assist-canonicalizer
- Site index for agents: https://vulpo.app/llms.txt
- Everything in one document: https://vulpo.app/llms-full.txt
- All pages: https://vulpo.app/sitemap.xml
