Introduction¶
The plugin-based design of DeepSeek Harness (DSH) makes feature extension easy. When managing multiple model configurations, it is important to know which models are available and how quickly they respond. The dsh-model-health plugin provides a “Model Health” panel on the settings page, listing configured models and offering batch testing functionality.
Core Features¶
Web UI Panel¶
The plugin injects a “Model Health” panel into the settings page and renders the table using React. The table displays information including Provider, model ID, name, context window, max output, input modality, API protocol, and BaseURL. Users can toggle visible columns.
Test All¶
The panel provides a “Test All” function. The system initiates concurrent requests to each model to test availability. The maximum concurrency for tests is 6, and each request has a timeout of 10 seconds. Test results (status, latency, errors) are persisted in the browser’s localStorage and remain visible after refreshing the page.
- The status column displays “Available”, “Unavailable”, or “Skipped”. Badges with existing results are clickable, allowing individual model retesting with immediate result updates.
- Availability testing supports the openai-completions and deepseek protocols. If a model configuration uses another protocol, the system automatically marks it as “Skipped”.
Tool Plugin¶
The plugin provides a list_models tool that can be called directly in conversation. When invoked, it returns a model list table in Markdown format, making it easy to view currently configured models within the conversation flow.
Installation and Dependencies¶
Installation¶
Installation using npm is recommended:
dsh plugin --profile web add dsh-model-health
Dependency Locking¶
The plugin depends on @deepseek-ai/dsh-tools and must use version 0.1.0-rc.8 (exact — the next-tag line; the npm latest version is out of date). Before installation, ensure the dependency version in the host environment meets the requirement.
Source Installation¶
If installing from source is required, clone the repository first and run the following sequence:
git clone https://github.com/oxlyn/dsh-model-health.git
cd dsh-model-health
pnpm install
pnpm run build
# 在插件的父目录执行:
cd ..
dsh plugin --profile web add ./dsh-model-health
Implementation Details¶
The plugin consists of two parts: the Host side and the Client side. The Host side (src/index.ts) reads the $DSH_HOME/settings.yaml configuration file and provides data interfaces through the HTTP routes /api/model-health/json and /api/model-health/test; the Client side (src/client.tsx) injects the UI panel via the settings.section slot.
- API Key Security: The API key is resolved through the DSH credential service (
ctx.credentials.resolve), and the secret is not sent to the browser. - Configuration Sources: It supports reading two configuration source types:
llm-deepseek(official) andllm-pi-ai(multi-protocol custom provider). - Navigation Icon: Because the host icon set does not have a “Health” category, the settings navigation uses a pulse line (Activity) icon. Referring to the approach in
dsh-better-sidebar, JS precisely adds a marker (with rAF frame batching debouncing), and CSS replaces the gear SVG in place; the color changes according to the theme.
Typical Usage¶
- In the “Model Health” panel, click the “Test All” button. The system will initiate concurrent requests to each model to test availability.
- In a conversation, directly invoke the Tool plugin
list_modelsto obtain the model list as a Markdown table.
Summary¶
dsh-model-health solves the problem of batch-checking model availability and latency in DSH through two methods: Web UI and Tool. After installation, with the correct dependency version, you can manage model status intuitively on the settings page.