The plugin ecosystem of DeepSeek Harness (DSH) is designed for modular feature extension. During model inference, developers often need to verify free model lists, pricing promotions, and account balances from multiple sources, and it is difficult to intuitively determine the actual availability of models. The following section introduces the dsh-model-center plugin. It consolidates scattered model catalogs, price lists, balance queries, and true free-model validation into a single card on the Web interface, and supports switching the routing model with one click.

What Is This

dsh-model-center is a DSH model inference plugin maintained by user artwar2020. By aggregating OpenRouter free models, TeamoRouter price lists, account balance queries, and real-usage testing for model availability, it presents information that was previously scattered in a unified way and provides the ability to switch models directly.

Core Features

Aggregation and Scoring
The plugin aggregates all :free text models from OpenRouter and automatically filters out non-text modalities. It combines the Artificial Analysis intelligence index, arena Elo, and parameter count to produce a 0–100 capability score and a 1–5 star rating. It also automatically derives specialty tags such as reasoning, vision, code, and multimodal, while displaying context length, parameter count, tool-calling support, and reasoning mode.

True Free Testing
This feature sends a minimal request (max_tokens=1) to :free models to probe their actual availability, returning normal / rate-limited / abnormal status and latency. Results are cached for 5 minutes. Requests are sent only to :free models, so paid models are never triggered to incur costs.

Pricing and Balance
It displays the TeamoRouter price list (USD per 1M tokens) and compares original prices with discounted prices. It supports extending with domestic price lists (~/.dsh/model-prices.json). Account balance can be queried in real time.

Interaction and Statistics
It directly supports switching the current routing model within the card. It automatically mounts the metering backend from @abcdefu_cja/dsh-usage-stats, ensuring that historical usage data continues seamlessly after the UI is deprecated.

Installation and Enablement

Run the following command in the terminal to install the plugin:

dsh plugin --profile web add github:artwar2020/dsh-model-center

After restarting DSH Web, you can see the “Model Center” card in the interface.

Configuration

The plugin reads the following keys from ~/.dsh/.credentials.yaml. Configuration is optional. If a key is missing, the corresponding feature (pricing/balance or testing) is hidden in the interface.

Key Description
TEAMOROUTER_API_KEY TeamoRouter price list and balance query
OPENROUTER_API_KEY True free testing for free models

Example configuration file content:

# ~/.dsh/.credentials.yaml
TEAMOROUTER_API_KEY: sk-xxxx
OPENROUTER_API_KEY: sk-or-v1-xxxx

The keys are used locally only and are sent as a Bearer header only when requesting the corresponding upstream APIs. They do not appear in any logs or interface. All API routes allow local loopback access only.

Architecture and APIs

The host registers the following read-only JSON routes, all with periodic caching:

Route Content Cache
GET /api/mc/free?force=1 Free model catalog (including scores/stars/tags) 6 hours
GET /api/mc/pricing TeamoRouter price list 5 minutes
GET /api/mc/balance Account balance 2 minutes
GET /api/mc/prices Domestic price list (local file) Immediate
GET /api/mc/probe?model=<id> True free testing for a single :free model 5 minutes

For security, all routes mirror the loopback validation of DSH pairing routes (checking remote IP, Host, and Origin), and external access always returns 403.

Typical Usage

After installing and restarting DSH Web, open the Web interface. You can browse models in the “Model Center” card. Click a model to switch to it, or click the test button to verify the availability of a :free model.

Use Cases and Notes

It is suitable for DSH developers who frequently manage model routing, care about free resources, or need precise usage statistics. The plugin runs with the permissions of the current DSH process, so you should review the source code and license before installing it.

Conclusion

This plugin simplifies model management through aggregation and real-usage testing. For more details, refer to the official catalog and source code: