dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
A small client UI plugin for DeepSeek Harness that makes the web composer's model selector usable at scale:
opencode-go deepseek finds OpenCode Go's DeepSeek models (hyphens and underscores are treated as spaces).--dsw-*), so light/dark follows the active theme.locale service.conversation.input.model seat with priority: -1, so the shipped selector stays mounted underneath as a fallback. Uninstall (or stop the plugin) and the native selector returns.Not an official DeepSeek product. No endorsement, review, or store listing by DeepSeek.
The official @deepseek-ai/dsh-client-ui-model-selection package owns a per-session ModelDirectory service (ctx.modelDirectories) shared by the composer model seat and the /model popup. This plugin reuses that exact directory — including select() — so a picked model lands on the standard directory.select() path and stays in sync with /model.
Requires a DSH profile with the web UI.
dsh plugin --profile <name> add dsh-client-ui-model-search
Then restart the profile:
dsh --profile <name> web
Open the model selector in the composer (bottom-right). The search box appears above the model list; group headers are clickable.
dsh plugin --profile <name> add ./dsh-client-ui-model-search
dsh plugin --profile <name> remove dsh-client-ui-model-search
Restart the profile: the native selector returns (it was never removed).
demo.html renders the exact menu UI (same CSS classes and mock data) standalone in any browser — open it to take additional screenshots.
package.json dsh.bundle.patch → cordis.patch.yml, plus a dsh.client web entry, matching @deepseek-ai/dsh-client-ui-model-selection@0.1.1-rc.2.dsh-plugin.json is a Community Draft v0.15 manifest (dsh-std, schema validated). It declares a no-op host facet because the v0.15 draft has no web-slot contract; the composer-seat contribution therefore rides the official web slot, not a dsh-std contract. When upstream adds a web contract, this can be upgraded.conversation.input.model or the modelDirectories service, this plugin stops taking effect (and the native selector simply stays). That is the documented cost of riding an official seam; the dsh-std adapter path is the mitigation once a web contract lands.MIT