Preface

The web interface of DeepSeek Harness (DSH) provides model selection functionality, but the original compact menu limits the dimensions in which model information can be displayed. The dsh-model-ocean-selector plugin replaces the original component with a vertically arranged model list and visual controls for inference effort, aiming to improve the usability and visual feedback of model selection.

Plugin Overview

This is a DeepSeek Harness plugin maintained by jiaoTaiLang404 and categorized under model inference. It mainly addresses the problems of low information density and lack of visual feedback in the model selection interface. It displays models grouped by provider and introduces a Three.js-based animation to represent inference effort.

Core Features

  1. Vertical model list: Models are grouped by provider and displayed in stable vertical rows for easier viewing.
  2. Particle animation effect: Three.js renders three independently seeded streams of square particles flowing from right to left. The particles maintain constant size and stream width, the squares rotate counterclockwise, and they are generated with random offsets and angles and fade out without flickering.
  3. Interaction logic: Animation speed changes only after a selection is confirmed; a pending selection does not reset or accelerate the animation.
  4. Visual details: The base background color is #e6e5e6, and the animation fill is hidden at the provider’s minimum effort level.
  5. Compatibility: Preserves the /model command, session model selection, keyboard range input, localization, HMR cleanup, and WebGL fallback behavior.

Installation and Activation

Install the plugin into the web profile using the following command:

dsh plugin --profile web add github:jiaoTaiLang404/dsh-model-ocean-selector

After installation, restart dsh web and open the model selector in the chat composer to use the new model list and effort controls.

Notes and Limitations

  1. WebGL dependency: WebGL is optional. If initialization fails, the particle fallback for static themes remains visible, and range input remains available.
  2. Browser requirements: Full animation requires a modern browser that supports CSS color-mix() and :has().
  3. Motion preferences: Reduced motion preferences are sampled when the control is mounted.
  4. Animation logic: The order of effort levels comes from the selected provider. Animation speed represents that order and does not infer compute cost from the effort names.
  5. Sub-session limitation: For addressed sub-sessions, the selector is hidden (consistent with the default behavior).
  6. Dependency notices: See THIRD_PARTY_NOTICES.md for bundled and runtime dependencies.

Summary

This plugin provides a richer model selection experience and visual feedback for the DSH Web UI. Developers can use it as needed after reviewing the source code and license.