dsh-llm-provider: A Model Provider and Quota Manager for DeepSeek Harness
imchangchang/dsh-llm-provider
A DSH plugin that ships a self-maintained pi-ai bridge, taking over the model selector and provider settings page with quota lookups, provider management and capability badges.
dsh-llm-provider is a model-access layer replacement for DeepSeek Harness, taking over four entries in the plugin tree: the pi-ai adapter, the native DeepSeek adapter, the model selector and the official Models settings page. It solves the problem of upstream models having to wait for a framework release, because the plugin runs a copy of pi-ai it maintains itself so new models can be adopted early. On top of that it adds per-provider balance and usage-window lookups, a model selector with filtering and capability badges, and a provider settings page for adding, testing and refreshing providers.
How to Install
dsh plugin --profile web add @dsh-one/dsh-llm-provider- Category
- Models & Reasoning
- Platform
- DSH Plugin
- Author
- imchangchang
- Distribution
- Plugin
dsh-llm-provider Key Features
dsh-llm-provider Repo Summary
What Does It Do?
It is a DSH plugin for DeepSeek Harness that swaps the harness's model-access layer for a self-maintained pi-ai bridge. It replaces four entries in the plugin tree — the pi-ai adapter, the native DeepSeek adapter, the model selector and the official Models settings page — and layers quota lookups and provider management on top. The main benefit is that new upstream models no longer have to wait for a DSH release, because the plugin runs its own copy of the LLM SDK. It is maintained by imchangchang under the MIT license, and its UI strings are currently Chinese only.
Core Features
- Upstream-tracking pi-ai: DSH pins its LLM SDK at build time, while this plugin runs a copy it maintains itself, so new models arrive without waiting for a harness release.
- Quota lookups: balance and usage windows per provider, feeding both the provider cards and the quota indicator in the model selector.
- Model selector: keeps the official two-level model / reasoning-effort structure and adds provider filtering, a quota indicator, capability badges and a model detail card.
- Provider settings page: add, remove, test and refresh providers, writing to the same settings section and credential store the official page uses.
- Two-gate updates: a new version must pass both the registry tarball integrity check and the compatibility check before it is marked as pending.
How to Use This Plugin?
After enabling it in DSH, a fresh install shows a DeepSeek card with no key, because the built-in native adapter entry is disabled and the plugin declares the DeepSeek route in its own config. Expand the card under Settings → model services → providers, type the key into the API key row and save; a quota query runs right away. For any other provider, use the add-provider action, pick a preset, fill in key and endpoint, pass the test and save. Keys are stored through the harness's own credential service under each route's apiKeyEnv, so they are the same credentials the official stack reads, and no plugin config file is needed. Providers come from the routes in settings.yaml, and with no route there the quota panel stays empty; pi-ai updates are triggered once in the background at startup (throttled to six hours) or manually via the check-update button on the provider page.
How to Troubleshoot This Plugin?
- No key input after a fresh install: the route has no stored credential yet, so the API key row becomes an input field once the provider card is expanded — save it there.
- Empty quota panel: usually means there is no matching route in settings.yaml; add a provider from the settings page as described in the official instructions.
- Self-maintained pi-ai missing: a missing directory counts as not installed rather than incompatible, so the plugin falls back to the pi-ai that ships with the harness and nothing appears in the UI.
- Update not taking effect: the new version must first pass the tarball integrity check and the compatibility check, and is not swapped in until it does.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: imchangchang/dsh-llm-provider. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
