mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-09 08:21:50 +00:00
Adds fuzzy subsequence matching with quality ranking to the model pickers, replacing the WebUI's exact-substring filter and giving the TUI a search where it previously had none. - New fuzzy scorer (ui-tui/src/lib/fuzzy.ts + an identical copy at web/src/lib/fuzzy.ts, since the two are separate TS packages with no shared module). Matches a query as an ordered subsequence (so `g4o` matches `gpt-4o`), scores by quality (exact > prefix > word-boundary > contiguous > scattered) and returns matched character positions for highlighting. Multi-token AND semantics (`clad snnt` -> claude-sonnet). 15 vitest tests cover the algorithm. - WebUI ModelPickerDialog: ranked fuzzy filter on providers + models; matched characters in model rows are highlighted via <mark>. - TUI modelPicker: type-to-filter on the provider and model stages with live ranking. Backspace edits the filter, Ctrl+U clears it, Esc clears a non-empty filter before navigating back. Persist-global / disconnect shortcuts moved from g/d to Ctrl+G / Ctrl+D so letters feed the filter. Closes #30849 |
||
|---|---|---|
| .. | ||
| AuthWidget.tsx | ||
| AutoField.tsx | ||
| Backdrop.tsx | ||
| ChatSidebar.tsx | ||
| DeleteConfirmDialog.tsx | ||
| LanguageSwitcher.tsx | ||
| Markdown.tsx | ||
| ModelInfoCard.tsx | ||
| ModelPickerDialog.tsx | ||
| OAuthLoginModal.tsx | ||
| OAuthProvidersCard.tsx | ||
| PlatformsCard.tsx | ||
| SidebarFooter.tsx | ||
| SidebarStatusStrip.tsx | ||
| SlashPopover.tsx | ||
| ThemeSwitcher.tsx | ||
| ToolCall.tsx | ||