Introduction¶
DeepSeek Harness uses a plugin-based architecture and supports extended capabilities. During model inference development, developers often need to switch quickly among multiple providers and different model specifications. The native model selector provides relatively basic functionality. The dsh-model-palette plugin aims to provide a global, unified model selection and configuration solution.
Plugin Positioning¶
dsh-model-palette is a global, provider-aware model command palette plugin for DeepSeek Harness. It also provides optional OpenRouter media tools.
This plugin is maintained by Jensen-Yao and is licensed under the MIT License. It does not depend on a specific browser environment and is designed to improve the efficiency of model selection and configuration.
Core Features¶
Global Command Palette¶
The core interaction of the plugin is a global shortcut key. Press Alt+M anywhere in the Web UI to invoke a standalone, document-level dialog. The palette supports fuzzy search across model names, IDs, provider names, and provider IDs. Users can navigate with arrow keys and select with Enter.
Provider Filters and Catalog¶
A provider filter sidebar is provided on the left side of the interface. The sidebar displays the number of models under each provider in real time and includes visual error indicators. Click any provider to filter models, and click “All providers” to reset. In the configuration panel, providers are displayed as a card grid with brand icons, model counts, and protocol badges.
Reasoning Effort Selector¶
The plugin provides a unified reasoning effort selector at the bottom, supporting multiple levels from off to max. If the current model does not declare these levels, selecting one dynamically adds a reasoningEfforts declaration to the request. This feature supports custom configuration per model or provider.
Model Configuration and Templates¶
Users can add, edit, or delete provider configurations directly in the UI. The plugin includes a built-in template library that supports OpenAI-compatible, Responses, Anthropic, and other protocols, as well as OAuth and API Key templates. Configuration fields include provider ID, display name, base URL, protocol type, and credential reference.
Model Presets and Online Refresh¶
The plugin ships with 469 official vendor-provided model presets, covering multiple vendors including OpenAI, Anthropic, Google, and DeepSeek. This data supports online refresh to ensure currency. When applying a preset, the panel displays information such as context window, output limits, and reasoning levels.
OpenRouter Media Tools (Optional)¶
The plugin supports optional OpenRouter media tools, including image and video generation. Users can enable this feature in the sidebar configuration view. With this tool, users can submit prompts directly to generate images or videos without sending the prompt into the conversation stream.
Security¶
The plugin includes security protections. API keys are stored by default as masked values in the DSH credential service. Display of credentials is allowed only over local loopback connections (127.0.0.1 or localhost). The plugin enforces CSRF protection for all API requests, and OpenRouter credentials are not returned to the browser.
Installation and Activation¶
To install the plugin, run the following command:
dsh plugin --profile web add github:Jensen-Yao/dsh-model-palette#v0.12.0
After installation, restart the dsh web service.
Typical Usage¶
- Launch the palette: After restarting, press
Alt+Manywhere in the interface to open the command palette. - Configure a provider: In the sidebar, open the configuration view and select a template to create a new provider. After configuration is complete, click the “Test connection” button to validate the runtime key. The system will automatically discover and add models.
- Use media tools: If you need OpenRouter image or video generation, enable “OpenRouter Media Tools” in the sidebar configuration view.
Notes¶
- Key security: API keys are stored in the DSH service and masked by default. Stored keys cannot be viewed through cross-site access.
- Paid limitations: OpenRouter media tools block paid generation by default. For non-free models, confirm the one-time cost before use.
- Loopback reveal restriction: Credentials can only be viewed from local loopback addresses; remote access is blocked.
Summary¶
dsh-model-palette provides DeepSeek Harness with a global, visual entry point for model management and configuration. Through a unified shortcut key and rich configuration options, it simplifies the process of switching between multi-provider models. Related documentation and source code are available at: GitHub.