Introduction

DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture. In the Web UI, the model selector is a high-frequency interaction area, but the native list often lacks visual distinction and also lacks automatic fallback mechanisms when the primary model times out. The dsh-msi-icons plugin aims to solve these two problems: it improves visual efficiency with official vendor icons and a four-zone layout, and improves stability with automatic routing for pinned model timeouts.

Plugin Overview

This is a model selector beautification plugin maintained by hun1315. Its core features include official vendor icon recognition, a four-zone flat layout, and automatic routing when the pinned primary model times out.

Installation

Installing the plugin requires the official CLI.

dsh plugin --profile web add github:hun1315/dsh-msi-icons

After installation, restart DSH to make the Host take effect, then refresh the page to see the four-zone layout and icons.

Core Features

Official Vendor Icons and Layout

The plugin adds official vendor icons to the model list and uses a flat four-zone layout. It does not render group titles, and only distinguishes entries by icons and colored suffixes. The four zones are ordered as: Pinned Zone, Native Zone, Plugin Zone, and Vision Zone.
- Name deduplication: Pinned models are not deduplicated against the Native Zone, ensuring that pinned entries remain visible.
- Pinning mechanism: Click the heart icon to pin a model. The data is persisted in localStorage and synchronized to the Host (used for timeout routing).

Pinned Primary Timeout Routing

When a pinned model times out while generating the first token (default 45 seconds) or reports an error, the plugin automatically switches to the next pinned model and retries.
- The fallback chain is persisted in pins.json and is not lost after restart.
- If all pinned models are unavailable, an error is thrown and the process stops; user-initiated cancellation does not trigger routing.

Configuring a New Vendor

Adding a completely new vendor requires no code changes; only configuration files and SVG assets are needed.
1. Place the vendor’s official SVG file in the ~/.dsh/msi-icons/icons/ directory.
2. Add a configuration entry to the vendors array in ~/.dsh/msi-icons/vendors.json:

{ "match": "关键词", "rank": 数字, "icon": "文件名.svg" }
  1. Refresh the page to apply the changes.

API and Maintenance

The plugin provides HTTP endpoints for external control.

Route Method Description
/msi-icons/pins POST Sync the pinned fallback chain
/msi-icons/state GET Check the current pinned models and timeout threshold
/msi-icons/icon?file=x.svg GET Serve an icon file

Notes

  • No hard dependencies: It does not depend on modlens or vision-router. If either is missing, the corresponding section is hidden.
  • Compatibility: The plugin locates DOM elements using CSS-module class names from DSH build artifacts. Major DSH version upgrades may change class name hashes, requiring updates to the class name mapping.
  • Security: It does not modify any official DSH files. Uninstalling the plugin restores the original state.

Summary

This plugin optimizes the model selection experience through visual organization and automatic fault tolerance. Installation and configuration are straightforward, making it suitable for developers who value interaction efficiency.