AGSQ11/dsh-model-probe
Persistent model-health monitoring for the DeepSeek Harness (DSH) Web UI.
Install
with `maxTokens=8`.
### Dead-model recovery
A Dead model receives one background health probe every 30 minutes:
- success → **Alive** immediately;
- failure → remains **Dead** and gets another check 30 minutes later.
The scheduler runs in the DSH host process, so the Model Probe page does not need to remain open. If DSH is stopped, overdue checks resume after DSH starts again.
## Runtime model-picker integration
Model Probe reuses its persistent provider+model health ledger in DSH's runtime model selectors:
- **green dot** — the exact provider/model is currently **Alive**;
- **red dot** — the exact provider/model is currently **Dead**;
- **no dot** — the model has not reached a known Alive/Dead state yet.
The composer **Model** pane gains a search box above the provider-grouped list. Matching is case-insensitive and prefix-based against both the displayed model name and the provider model ID. Typing `nem` therefore matches an ID such as `nemotron-3-ultra` even when its human-readable display name is different. Provider groups with no matches are hidden while the filter is active.
DSH's `/model` popup already provides its own local search input, so Model Probe does not replace it; it adds health dots to those rows and leaves DSH's native keyboard/search behavior intact.
### Compatibility note
At the time of v0.3.0, DSH's public model-selection client face exposes the shared model directory plus load/select operations, but no third-party per-row decorator/header slot. To avoid replacing or forking DSH's selector, Model Probe's picker enhancer attaches only to accessibility semantics (`role=menu`, `role=group`, `role=menuitemradio`, `role=listbox`, and `role=option`) and deliberately does **not** depend on DSH's generated CSS-module class names. This is substantially less brittle than styling private class names, but a future DSH change to the selector's semantic markup could still require a plugin update.
The provider configuration/editor model rows under **Settings → Models** are intentionally not treated as runtime health selectors: those rows can describe dormant or not-yet-active routes that cannot truthfully be labeled Alive or Dead.
## Persistence
The host stores current health state and a bounded result history in `state.json`.
Default paths:
| Platform | Path |
| --- | --- |
| Windows | `%LOCALAPPDATA%\\dsh-model-probe\\state.json` |
| macOS | `~/Library/Application Support/dsh-model-probe/state.json` |
| Linux/Unix | `$XDG_STATE_HOME/dsh-model-probe/state.json` or `~/.local/state/dsh-model-probe/state.json` |
Override the location with:
Add AGSQ11/dsh-model-probe to your DSH config (web profile) to enable.
README
Expand full README Collapse
README is empty.
tt-a1i/archify
zhu1090093659/dsh-web-ui
strukto-ai/mirage
liustack/modlens
omdsh-dev/DSH-better-sidebar
ccch1mneyyy/dsh-TUI
agentrq/agentrq
GanyuanRan/Aegis