Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add dsh-model-visibility
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
Screenshots
README
English · 中文
Model visibility for DeepSeek Harness: control which models appear in the conversation model selector.
Installs a dedicated Model visibility settings section (right after 模型 / Models in the left nav):
- 🔍 Search — live filter by model name / id / provider
- 🎚️ Per-model switches — hide a model and it disappears from the selector instantly; flip back to restore
- 📦 Provider-level batch — hide or show every model of one provider in one click
- ♻️ Reset all — clear the hidden list
- 🛡️ Zero intrusion — writes only the plugin's own hidden list, never your provider config; hiding a model a session already uses never interrupts that session
- 🆕 New models visible by default — the plugin remembers what to hide, not what to show
Preview

Requirements
- DeepSeek Harness ≥ 0.2.0-rc.1 (0.2.0 rebuilt settings on volatile configuration and
configForms; use plugin 0.1.2 on 0.1.x hosts) - Node.js 22+
Install
dsh plugin --profile web add dsh-model-visibility
Restart dsh web to activate.
How it works
- Host half (
lib/index.js): declares thehiddenfield.volatile(), so a settings-form write commits the new value into the same stable reference through the Loader (no plugin restart), and wrapsctx.llm.listModelsat its source — both the conversation selector and the settings page receive the filtered catalog. Catalog membership is advisory in the harness, so hiding a model a session already uses never breaks that session's dispatch. - Browser half (
lib/client.js): registers asettings.sectionpage; durable state rides 0.2.0's sharedctx.configFormsform, the catalog arrives throughctx.remote.session.modelCatalog()and refreshes onllm/adapters-updated, and page state is the union of the filtered catalog and the hidden entries, each hidden entry labeled by the display-name snapshot captured when it was hidden.
Uninstall
dsh plugin --profile web remove dsh-model-visibility
Uninstalling restores everything: the plugin never writes provider config, and the hidden list dies with the package.
License
MIT
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.