DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
M

dsh-model-grid

Model Grid

Turn the DeepSeek Harness composer model picker into a responsive card grid, grouped by provider. Host-only, no client bundle rebuild.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:anonamerjaxon-dev/dsh-model-grid#51071ad11e28a9f160769dafa14ac33a662d53d4
READMECompatibilityVersions
beforeafter

Compatibility and provenance

Model Grid is published as dsh-model-grid and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/22/2026

Versions

1.0.0stable
10/22/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/23/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundleRefresh session titles as new human prompts arrive.Personalized Recommendations@deepseek-ai/dsh-personalized-recommendationsPersonalized pages and built-in plugin recommendations offered as cards below answersExperimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI plugins

README

dsh-model-grid

Turn the composer model picker in DeepSeek Harness from a long one-per-row list into a responsive card grid, grouped by provider.

BeforeAfter
beforeafter

Features

  • Responsive grid. As many columns as fit the popup (auto-fill), never fewer than one, so it degrades gracefully on narrow windows.
  • Grouped by provider. Each provider keeps its own section; the provider heading spans the full row.
  • Works with both pickers. The stock dsh-client-ui-model-selection dropdown and the third-party dsh-peakrate model menu (which replaces the stock trigger when installed). The stylesheet does not depend on either plugin being present.
  • Configurable. Width, card width, gap, height cap, and whether to hide the long price countdown.
  • Host-only, upgrade-safe. A single <style> is injected into the page <head> through the webserver/index-inject event. No client bundle is rebuilt, so it keeps working after DSH updates.
  • No runtime dependencies.

Supported pickers

PickerWhat identifies itNotes
Stock dsh-client-ui-model-selection[data-menu-group] sections, [role="menuitemradio"] buttonsAttribute-based selectors, so hashed CSS-module class names don't matter.
dsh-peakrate model menu.dsh-peakrate-ms-menu, .dsh-peakrate-ms-group, .dsh-peakrate-ms-optionOptional; this plugin never depends on it.

The rules are scoped so the two-cell root pane (Model / Reasoning effort) of the peakrate menu keeps its normal narrow width — only the grouped model list is widened.

Install

This is a DSH profile plugin. It is host-only, and the web UI must live at the bundle layer to appear, so it needs to be in dsh.profile.bundles.

# 1. add the dependency to a profile
dsh plugin --profile web add github:anonamerjaxon-dev/dsh-model-grid

# 2. add "dsh-model-grid" to dsh.profile.bundles in
#    ~/.dsh/profiles/web/package.json, then restart the profile
dsh web

If you prefer a local checkout:

dsh plugin --profile web add link:/path/to/dsh-model-grid

Then add the same "dsh-model-grid" entry to dsh.profile.bundles and restart.

Restarting the profile is required: the host plugin is loaded at boot and the stylesheet is injected when the page is served.

Configuration

Options are passed through the plugin entry's config and merged with the defaults.

KeyDefaultDescription
maxWidth900Hard cap on the popup width, in CSS px (clamped 240–4000).
minCardWidth200Minimum width of a model card, in CSS px (clamped 80–1200).
gap6Gap between cards, in CSS px (clamped 0–64).
maxHeightVh76Popup height cap, in vh (clamped 20–100).
hideCountdowntrueHide the long "· 14h 23m" countdown in the price badge.
enabledtrueWhen false, nothing is injected.

Example — in the profile's cordis.patch.yml:

- insert:
    - id: model-grid
      name: 'dsh-model-grid'
      config:
        maxWidth: 1100
        minCardWidth: 180
        hideCountdown: false

How it works

  1. apply(ctx, config) listens for the host's webserver/index-inject event.
  2. On every index response, the listener pushes one { kind: "style", text } row.
  3. DSH renders that row as a <style> block in <head>.

Because the CSS is generated from css.js at injection time, there is no file I/O and nothing to keep in sync. buildCss() is exported and unit-tested independently of the host.

Compatibility

  • DeepSeek Harness 0.2.1-rc.2 (declared in package.json → dsh.compatibility).
  • Node.js >= 22.
  • No bundler, no client build step.

Development

git clone https://github.com/anonamerjaxon-dev/dsh-model-grid.git
cd dsh-model-grid
node --test

The test suite covers config defaults/clamping, both picker selector sets, the countdown toggle, and the injection table.

Maintainer: registry submission

Listing in the awesome-dsh-plugin registry is a one-file pull request. The scripts/ helpers automate it:

scripts/submit-to-market.sh --dry-run   # validate, change nothing
scripts/submit-to-market.sh             # open the PR
scripts/schedule-submit.sh              # one-shot launchd timer for the first eligible moment
scripts/schedule-submit.sh --uninstall  # remove the timer

The registry's CI enforces a 1-day minimum repository age, which is exactly what schedule-submit.sh waits for. See scripts/README.md.

License

MIT © 2026 Jackson Yao