find · diff
git:20260814.44e61cf to git:20260814.5023d8c
5 added, 6 removed. Audit A to A.
---
name: find
- description: >-
- Find a person, lead, contact or company by name in ANY spelling — deterministic name search that
- catches transliteration (Vlad/Viktor/виктор), wrong keyboard layout (dbrnjh = виктор), and typos
- (висктор). Trigger on "/find <name>", "найди <имя>", "найди компанию <X>", "все Викторы", "кто такой
- <имя>", "find <name>", "покажи всех <имя>". This is SPELLING/exact-name search (0 tokens, NOT RAG) —
- distinct from /ask which is semantic/meaning search. Wraps namesearch\find_name.py over names.db.
+ description: >
+ Find a person, lead, contact or company by name in ANY spelling — deterministic name search
+ that catches transliteration (Viktor/Victor across alphabets), wrong-keyboard-layout typing,
+ and typos. Trigger on "/find <name>", "find <name>", "show everyone named <X>". This is
+ SPELLING/exact-name search (0 tokens, NOT RAG) — the complement to semantic vault search.
license: MIT
---
# /find — умный поиск имени/компании по написанию
> 🧒 **When reporting to Anton:** end with a child-simple "Простыми словами" recap.
Детерминированный, 0 токенов — **НЕ RAG**. Эмбеддинги не понимают каракули (`dbrnjh`, опечатки, раскладку); это ловит отдельный код по фонетическим отпечаткам + нечёткому сравнению. Для поиска по СМЫСЛУ — это `/ask`, не сюда.
## Когда сюда
«найди Виктора» · «все Викторы» · «найди компанию Мерлион» · «кто такой <имя>» · `dbrnjh`/опечатки/транслит — любое имя ЧЕЛОВЕКА, лида, контакта или КОМПАНИИ в любом написании.
## Запуск (ВСЕГДА `PYTHONUTF8=1` — иначе cp1252 краш на виндовой консоли)
`PYTHONUTF8=1 python "$IMPORTS_ROOT/namesearch/find_name.py" <имя> [--html] [--all]`
- по умолчанию: лиды + люди + компании + Apple-контакты (заметки волта скрыты)
- `--all` — добавить заголовки заметок всего волта
- `--html` — визуальный дашборд в `_Dashboards\Name-Search-*.html` (Антон работает глазами — предлагай его для длинных списков)
Имя в кириллице даёт чистый запрос (виктор → ровно `viktor`); раскладочный/опечаточный запрос — расширяется автоматически.
## Смежное
- `expand_query.py <слово> [--grep] [--line]` — развернуть слово во все написания для grep по волту или для скармливания в `/ask` (RAG-хук).
- Индекс `names.db` пересобирается недельной задачей (и вручную `name_index.py --vault`). Если после большого импорта чего-то не хватает — упомяни, что нужна пересборка; сам не запускай без спроса.
## Ответ
- Дай список/таблицу (display · тип · файл-ссылка); для длинного — `--html` дашборд.
- Компания всплывает первой по запросу фирмы + связанные люди.
- Если 0 хитов — скажи прямо, предложи проверить написание или пересобрать индекс; не угадывай.
- Коротко; закончи 🧒-рекапом.
## Не путать
- `/ask` = по смыслу (RAG, эмбеддинги). `/find` = по написанию (детерминированный отпечаток). Канон-память [[smart-name-search]].