https://github.com/laurigates/comfyui-sampler-info
Rich metadata + fuzzy-search picker for ComfyUI sampler/scheduler dropdowns
https://github.com/laurigates/comfyui-sampler-info
comfyui comfyui-nodes managed-by-opentofu sampler scheduler
Last synced: 12 days ago
JSON representation
Rich metadata + fuzzy-search picker for ComfyUI sampler/scheduler dropdowns
- Host: GitHub
- URL: https://github.com/laurigates/comfyui-sampler-info
- Owner: laurigates
- License: mit
- Created: 2026-05-21T12:00:43.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-06T06:57:20.000Z (20 days ago)
- Last Synced: 2026-06-06T07:09:42.765Z (20 days ago)
- Topics: comfyui, comfyui-nodes, managed-by-opentofu, sampler, scheduler
- Language: JavaScript
- Homepage:
- Size: 525 KB
- Stars: 2
- Watchers: 0
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# comfyui-sampler-info
Rich metadata + fuzzy-search picker for ComfyUI's `sampler_name` / `sampler`
/ `scheduler` widgets. Replaces the cryptic alphabetical dropdown with a
modal you can actually navigate — *and* tells you what each sampler is for.
> The stock dropdown is 155 strings in a flat list (with RES4LYF loaded).
> No descriptions, no dates, no hint of when to use what.
> This pack fixes that.


## What it does
Two additive enhancements:
**1. Hover/long-press tooltips.** Every `sampler_name` / `sampler` /
`scheduler` combo widget gets a tooltip describing the *currently selected*
value — paper year, family, ODE order, type (deterministic / ancestral /
SDE), one-sentence summary, "good for" use case, schedulers it pairs with,
and "largely superseded by" notes where applicable.
If [comfyui-touch-tooltips](https://github.com/laurigates/comfyui-touch-tooltips)
is also installed, the same tooltips surface on long-press for mobile.
**2. Fuzzy-search modal picker.** Clicking the widget opens a centered
modal dialog instead of the native LiteGraph dropdown:
- Every option as a row with name + colored badges (order, type, year,
family) + summary + "good for" + "pairs with"
- **fzf-style fuzzy search** at the top: subsequence matching with
word-boundary bonuses (the underscore-separated naming convention used
by ComfyUI samplers gets special treatment), space-separated AND tokens
(`dpm sde` → all SDE-flavored DPM variants), matched chars highlighted
- Keyboard nav: ↑ ↓ navigate, Enter
select, Esc close, PgUp/PgDn jump 8,
type from anywhere to filter
- Mobile-friendly: 16px input (no iOS auto-zoom), 36px touch targets,
momentum scrolling. Works much better than the native dropdown which
tends to misposition on zoomed/panned canvases.
- **Additive**: rows for samplers not in the corpus still render with
bare names. Wan's wrapper-specific `scheduler` values (`unipc`,
`dpm++`, `flowmatch_causvid`, …) just show their original tooltip
without being clobbered.
## Install
### Via ComfyUI Manager *(once accepted into the registry)*
In ComfyUI Manager, search for **"sampler info"** → Install.
### Manual
```sh
cd /custom_nodes
git clone https://github.com/laurigates/comfyui-sampler-info
# (no Python deps to install — frontend-only pack)
```
Restart ComfyUI. Hard-refresh your browser tab.
## Usage
Just works. Open any node with a `sampler_name`, `sampler`, or `scheduler`
combo widget (KSampler, KSamplerAdvanced, SamplerCustom, easy kSampler,
WanVideoSampler, HyVideoSampler, LTXVBaseSampler, …) and:
- **Hover** the widget → tooltip describing the currently selected value
- **Click** the widget → fuzzy-search picker modal
Sampler/scheduler widgets are detected by **widget name**, not node type —
so anything that names its widget `sampler_name` / `sampler` / `scheduler`
will get the treatment automatically.
## How the corpus works
Metadata lives in two JSON files served as static assets:
- `web/data/samplers.json`
- `web/data/schedulers.json`
Both files have the same schema:
```json
{
"exact": {
"dpmpp_2m": {
"year": 2022,
"family": "DPM-Solver++",
"order": 2,
"type": "deterministic multistep",
"summary": "The default workhorse. …",
"good_for": "General-purpose, SD1.5 / SDXL / Flux",
"pairs_with": ["karras", "exponential", "sgm_uniform"],
"supersedes_by": null
}
},
"prefix": [
{
"match": "^res_\\d+m$",
"family": "RES (RES4LYF, multistep)",
"summary": "…",
"good_for": "…",
"pairs_with": ["karras", "exponential", "bong_tangent"]
}
]
}
```
**Exact** match wins over **prefix** regex. Prefix entries let
RES4LYF's ~110 sampler tokens be covered at family level without
1:1 enumeration.
### Coverage
- All 48 ComfyUI core samplers (`euler` → `sa_solver_pece` + `ddim` /
`uni_pc` / `uni_pc_bh2`)
- All 9 core schedulers + `bong_tangent` (RES4LYF)
- 14 RES4LYF prefix families covering the rk / res / lawson / etdrk /
abnorsett / gauss-legendre / radau / lobatto / dpmpp-extended families
### Contributing corpus entries
PRs welcome — especially for:
1. **Token-specific data for RES4LYF samplers** (currently only
family-level prefix matches) — the pack scoring framework expects
`year`, `family`, `order`, `type`, `summary`, `good_for`, `pairs_with`.
2. **Year/paper provenance** for samplers marked with an uncertain year
(`exp_heun_2_x0`, `seeds_2`, `seeds_3`, `er_sde`, …).
3. **Custom-pack samplers** outside the core set — Lightning LoRA
samplers, distilled-model samplers, video-model samplers.
Open a PR editing the JSON. Each entry only needs the fields you're
confident about; the renderer skips missing fields gracefully.
## Compatibility
- ComfyUI: any version with the modern Vue-based frontend
(`comfyui-frontend-package`) — tested against 1.43.17.
- Modern frontend uses `widget.onPointerDown` to intercept clicks; if
ComfyUI ever changes that hook, the picker stops opening and falls
back to the native dropdown (tooltip enrichment still works).
- Frontend-only pack: no Python dependencies. The `__init__.py`
exports an empty `NODE_CLASS_MAPPINGS` and `WEB_DIRECTORY = "./web"`
so ComfyUI's loader picks up the JS extension.
## Acknowledgments
- **RES4LYF** by Clybius — original source of the ~110 advanced
Runge-Kutta / exponential-integrator sampler families described here.
- **comfyui-touch-tooltips** — companion pack that surfaces the tooltip
channel on touch devices.
- ComfyUI core sampler authors — implementations and paper citations
underpin every entry in the corpus.
## License
MIT. See [LICENSE](LICENSE).