Introduction

The philosophy of DeepSeek Harness (DSH) is “Everything is a Plugin”; the community can connect model providers, workflows, and display panels as plugins to DSH. When developing agents using DSH daily, common problems aren’t just “can I call a specific model,” but also: how to manage OAuth accounts and API keys, whether the model list is up-to-date, how many tokens were consumed today, estimated costs, and remaining quota in subscription plans.

dsh-providers is a model provider plugin for DeepSeek Harness: sign in with OAuth or an API key, and try to keep every provider’s model directory up-to-date. It is not a product in the official app store; the DeepSeek Harness community directory is a standalone site with no official affiliation with DeepSeek / Fanshan.

What is it

dsh-providers is maintained by tyql688 and is licensed under MIT.

Its one-sentence positioning is:

Model providers for DeepSeek Harness: sign in with OAuth or an API key, and keep every provider’s model catalog current.

Simply put, it places the model provider’s login, model list refresh, usage viewing, and quota viewing into the DSH web profile, reducing the overhead of developers manually switching between multiple model providers, checking bills, and maintaining model lists.

Core Features

Accounts and Model Catalog

Below is an introduction to the plugin’s capabilities regarding accounts and model catalogs.

  • Use OAuth or an API key to sign in.
  • The same provider can maintain multiple logged-in accounts simultaneously.
  • Refresh a specific provider’s model list from the curated catalog.
  • Read the OpenAI-compatible /v1/models endpoint.
  • Import existing login from OpenAI Codex CLI instead of logging in again.
  • Display saved API keys, log out, and remove routes in one step.

Here, “multiple accounts” does not mean keeping only one current key. The plugin retains logged-in accounts, allowing developers to switch between different accounts under the same provider.

Usage and Costs

The plugin displays information related to tokens and costs.

  • Sidebar cards display today’s tokens, estimated cost, 14-day trend, and the ratio of input/output/cache.
  • The usage view supports today, 7 days, 30 days, 90 days, and all time.
  • Usage can be split by model and provider.
  • If a model does not have a price in the catalog, you can manually enter the price, and the relevant numbers will be recalculated immediately.

The emphasis here is on “local viewing and recalculation”: the plugin displays estimated results based on existing data and manual prices, making it easy to determine which model and provider consumed more over a period of time.

Quota

The plugin also displays account quota information.

  • Subscription plans: display quota.
  • Pay-as-you-go accounts: display remaining balance.
  • Queries originate from the current machine and use saved credentials to access the provider’s own API.
  • Only the percentage and balance reach the browser.

This means sensitive credentials do not enter the browser; what the browser sees is just the percentage and balance for display.

Session Statistics

The plugin also displays statistics for individual sessions.

  • token
  • cost
  • calls
  • tool calls
  • cache hit rate
  • context peak
  • per-call timeline

This information is suitable for quickly checking how much a session consumed, whether there were many tool calls, and whether the context is approaching a peak after a task is completed.

Refresh Mechanism

The plugin does not perform background polling:

  • Sidebar cards refresh when opened and when the page becomes visible.
  • Each tab fetches data when opened.

This means it will not continuously occupy background requests; data updates are bound to page open actions.

Installation and Enablement

Install from GitHub

First, run the installation command:

dsh plugin --profile web add github:tyql688/dsh-providers

This command adds tyql688/dsh-providers to DSH’s web profile.

The first add may fail with ERR_PNPM_IGNORED_BUILDS due to @google/genai and protobufjs. Follow the prompts to handle these two build scripts, then run the same installation command again. Alternatively, you can explicitly handle them as shown in the example below and retry:

dsh plugin --profile web approve-builds '!@google/genai' '!protobufjs'
dsh plugin --profile web add github:tyql688/dsh-providers

Install from Local Source Code

If you already have a local copy of the code, you can install the current directory using the following steps:

git clone https://github.com/tyql688/dsh-providers.git
cd dsh-providers
pnpm install
dsh plugin --profile web add "$PWD"

pnpm install is used to prepare local dependencies, and the last command adds the current directory as a plugin to DSH.

Uninstall

The uninstall command is as follows:

dsh plugin --profile web remove dsh-providers

Typical Usage

Below are some usage paths organized based on the plugin’s capabilities.

  1. After installing the plugin, handle model provider login in DSH’s web profile.
    You can start with OAuth login or API key login.

  2. Keep multiple accounts for the same provider.
    You can then switch between different accounts without having to log in again every time.

  3. Refresh the model list.
    You can refresh from the curated catalog or read the OpenAI-compatible /v1/models endpoint.

  4. View usage.
    You can view tokens, costs for today, 7/30/90 days, and all time, as well as splits by model and provider.

  5. Supplement prices for unpriced models.
    After entering the price, the relevant estimated numbers will be recalculated immediately.

  6. View quota.
    Check quota for subscription plans and remaining balance for pay-as-you-go accounts.

  7. View session statistics.
    After a session ends, check token, cost, calls, tool calls, cache hit rate, context peak, and per-call timeline.

Files and Keys

The plugin stores relevant files under $DSH_HOME, with the default directory being ~/.dsh.

File Contents
auth.json OAuth tokens; archived keys for earlier API key providers
.credentials.yaml API keys
model-catalog.json Cached model catalog, including prices
prices.json Manually entered prices
settings.yaml Provider routes

Key-related behavior is as follows:

  • Keys from environment variables are never stored.
  • Secrets do not appear in logs.
  • API keys only reach the browser when the user clicks reveal.
  • OAuth tokens never reach the browser.

If keys are already configured via environment variables locally, the plugin will not write them to local files; what is seen in local files are the accounts, credentials, model catalogs, and route configurations saved by the plugin.

Use Cases and Notes

This plugin is suitable for:

  • Developers using multiple model providers simultaneously in DSH.
  • Users who need to manage both OAuth login and API keys.
  • Users who want to view tokens, costs, model splits, and provider splits in one place.
  • Users who need to check subscription quota or pay-as-you-go balances.
  • Agent developers who need to view context, calls, and tool calls by session.

Pre-use notes:

  • The plugin runs with the permissions of the current dsh process.
  • You should check the source code and license before installing.
  • The license is MIT.
  • The verified version combination is @deepseek-ai/dsh@0.1.1-rc.2, Node 22+.
  • The engines declaration in package.json is node ^22.19.0 || >=24.0.0.
  • The first installation may encounter ERR_PNPM_IGNORED_BUILDS, requiring you to follow the prompts to handle @google/genai and protobufjs.

Conclusion

dsh-providers centralizes model provider login, model catalog refresh, usage estimation, and quota viewing into the DSH web profile. For developers who need to use multiple model providers simultaneously, its value lies in handling “login, view models, view costs, view quota” in one tool, rather than scattering these tasks across multiple web pages and the command line.

Repository address:

https://github.com/tyql688/dsh-providers