
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-model-filter
Advanced tools
DSH (DeepSeek Harness) web client plugin: adds a type-to-filter search box to the composer model dropdown so you can find any model in a huge provider catalog in seconds.
A client plugin for DeepSeek Harness (DSH) that adds a type-to-filter search box to the composer's inline model dropdown — the one that used to show hundreds of models with no way to search them.
┌ Select model ┐
│ ┌────────────────────┐ │
│ │ Type to filter… │ │ ← new: type "v4pro", "flash", "0813"…
│ └────────────────────┘ │
│ openrouter │
│ ┌────────────────────┐ │
│ │ DeepSeek V4 Pro 0813│ │ ← only matching rows stay visible
│ │ DeepSeek V4 Flash │ │
│ └────────────────────┘ │
└──────────────────────────┘
/model command popup already ships its own search input; the inline seat does not. This plugin adds search exactly there.v4pro finds "DeepSeek V4 Pro 0813", flash finds every Flash model, 0813 finds every August-13 release.role=menu → role=group → role=menuitemradio), so slash-command menus, effort pickers, settings lists and other menus are never affected.web profile (any recent release; tested on 0.1.0-rc.6).dsh with the plugin installed — the app bundle is cached, and a plain refresh may keep the old UI.There are three equivalent ways to install. Pick one.
# installs the package into the web profile's dependencies
dsh plugin --profile web add dsh-model-filter
# then add the loader row to the profile patch file:
# ~/.dsh/profiles/web/cordis.patch.yml
Append to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: model-filter
name: 'dsh-model-filter'
dsh plugin --profile web add file:/path/to/dsh-model-filter-0.1.0.tgz
…then the same cordis.patch.yml insert row as above.
dsh plugin --profile web add https://github.com/xielk/dsh-model-filter/releases/download/v0.1.0/dsh-model-filter-0.1.0.tgz
…then the same cordis.patch.yml insert row as above. (Browse all releases at https://github.com/xielk/dsh-model-filter/releases.)
Add to ~/.dsh/profiles/web/package.json:
"dependencies": {
"dsh-model-filter": "^0.1.0"
}
pnpm install in ~/.dsh/profiles/web.
Append the cordis.patch.yml insert row (same as method 1).
dsh web # restart the GUI server (web profile)
Then hard-refresh the browser tab (Cmd+Shift+R / Ctrl+Shift+R), or close and reopen the tab. The search box appears when you open the composer's "Select model" dropdown and click Model.
Enter to pick the first match). Escape closes the menu as usual.The
/modelcommand popup already has its own search box at the top of the card — this plugin is what gives the inline dropdown the same ability.
dsh-model-filter is a standard DSH client plugin (dual-face package):
| File | Role |
|---|---|
package.json | Declares dsh.client.platform: "web" and the ./client bundle export. |
index.js | Host-side carrier. DSH only scans active loader fibers for client plugins, so this no-op host plugin is what makes the browser half get mounted and served. |
client.js | Browser bundle in DSH's window.__ModuleLoader__.load({ id, factory }) format. Its apply(ctx) runs once the web UI boots: it watches the DOM with a MutationObserver and, whenever a model-list menu appears, injects the filter input and wires up row/group filtering. |
test.html | Standalone test harness (no server needed) — 9 assertions covering injection, filtering, clearing, Enter-to-pick and non-interference. |
No build step is required for this package — client.js is authored directly in the loader bundle format, and the DSH host serves it dynamically over /plugins/dsh-model-filter/client.js.
@deepseek-ai/dsh-client-ui-model-selection's ModelSelect). The /model popup and other menus are intentionally untouched.title), not hidden model ids — id-style searches such as v4pro-0813 work because punctuation/whitespace are ignored (v4pro0813 → matches V4 Pro 0813).# edit client.js (browser half) / index.js (host carrier)
# quick behavior test: open test.html in any browser, read the #report output
python3 -m http.server 8791 # serve the dir, then open http://127.0.0.1:8791/test.html
To test against a real DSH instance, install the package into the web profile, restart dsh web, and hard-refresh.
npm pack # build dsh-model-filter-0.1.0.tgz and inspect its contents
npm publish # publish to the npm registry (run `npm login` first)
Publishing checklist: set version, add an author and a repository field if you want attribution, then npm pack → npm publish.
- insert: id: model-filter … block from ~/.dsh/profiles/web/cordis.patch.yml.dsh plugin --profile web remove dsh-model-filter (or drop it from package.json and run pnpm install).dsh web and hard-refresh the tab.FAQs
DSH (DeepSeek Harness) web client plugin: adds a type-to-filter search box to the composer model dropdown so you can find any model in a huge provider catalog in seconds.
We found that dsh-model-filter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.