DeepSeek Harness Plugin

Lzh3070/dsh-model-visibility

Stars ★ 1 Downloads (30d) 306 Category Usage & Billing Added 2026-08-28 npm dsh-model-visibility

Model visibility manager for DeepSeek Harness: hide or show any model in the conversation model selector from a dedicated settings page. Per-model switches, search, provider-level batch actions, reset-all. Zero intrusion - writes only its own hidden list, never the provider config; hiding a model in use never interrupts a running session.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-model-visibility

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:Lzh3070/dsh-model-visibility

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

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

Model visibility section

Requirements

  • DeepSeek Harness ≥ 0.1.1-rc.2 (earlier versions untested)
  • 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): owns the model-visibility settings section (the hidden list) and wraps ctx.llm.listModels at its source, so both session.models (the conversation selector) and llm.models (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 a settings.section page; 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

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.