DeepSeek Harness plugin

dsh-usage-dashboard-plus

Shows DeepSeek balance and estimated daily spend, merges external vision-call JSONL records, and adds a per-session dashboard with model statistics, TTFT, cache rate, call logs, cost estimates, filters, and CSV export.

Jump to install

Source facts

Repository
1HelloMan1/dsh-usage-dashboard-plus
Latest update
Aug 18, 2026
Category
Usage & Billing
GitHub stars
2

Install

Start with a prompt that asks an agent to read the source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/1HelloMan1/dsh-usage-dashboard-plus
GitHub: https://github.com/1HelloMan1/dsh-usage-dashboard-plus
Plugin: dsh-usage-dashboard-plus
Author: 1HelloMan1
Install command: dsh plugin --profile web add dsh-usage-dashboard-plus

Do not run the install command until I confirm.

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-usage-dashboard-plus

[English](README.md) | [中文](README.zh.md)

A fork of dsh-usage-dashboard with external vision-call accounting: a sidebar-footer widget for DeepSeek Harness (dsh) showing your DeepSeek API balance and today's spend, estimated from session logs.

This is now the only actively maintained usage-dashboard repository. The former dsh-stats-dashboard implementation has been fully merged into Plus; do not install both statistics plugins in the same profile.

What "Plus" adds

  • Counts external vision-model calls (e.g. dsh-vision-fallback's Mimo V2.5 requests) into the today-spend stats via an optional JSONL usage log — the base package only counts calls recorded in DSH session logs.
  • Bundles a pricing entry for mimo-v2.5 (opencode Zen GO rates) so those calls get a cost estimate out of the box (override via prices).

Features

  • API balance — resolves the DeepSeek key through the DSH credentials service and queries the balance endpoint (cached).
  • Today's spend (est.) — scans session logs (and the external usage log) for today's token usage × price table.
  • Sidebar footer widget余额 ¥xx · 今日 ¥xx, click to open a detail card (calls, tokens, per-model breakdown, pricing notes).
  • Peak/off-peak pricing schedule — date-gated DeepSeek rate tables (2026-08-17 onward).
  • Full usage dashboard — per-provider/per-model calls, latency, TTFT, throughput, input/output/cache tokens, cache rate, and estimated cost.
  • Call-log analysis — filter and search by session, provider, and model; inspect recent calls and export filtered rows as CSV.
  • Inherited Stats implementation — the usageDashboard session projection, 500-row call-log cap, whole-session model aggregates, and replay-safe historical statistics are included in Plus.
  • No build step — host half (lib/index.js) + browser bundle (lib/client.js) via the dsh.client mechanism.

Migrating from dsh-stats-dashboard

1. Remove or disable the old dsh-stats-dashboard plugin from the web profile. 2. Install dsh-usage-dashboard-plus. 3. Restart dsh web and hard-refresh the Settings page.

Plus reads the existing session logs, so historical sessions do not need to be migrated. Do not keep both statistics plugins enabled; the old repository is retained only as a historical source and is no longer maintained independently.

Install

dsh plugin --profile web add dsh-usage-dashboard-plus
# restart `dsh web` — the profile patch layer is not hot-reloaded

The npm package ships dsh.bundle and cordis.patch.yml, so the install command inserts usage-dashboard into the target profile without manual directory copies or patch editing.

Verify:

dsh --profile web --dump-config   # expect a usage-dashboard-plus row

Then hard-refresh the GUI (Cmd+Shift+R) — the footer widget appears next to 设置/Settings.

Configuration

All settings live under the usage-dashboard namespace in ~/.dsh/settings.yaml (hot-reloaded):

usage-dashboard:
  apiKeyRef: DEEPSEEK_API_KEY      # credential ref for balance queries
  baseURL: ""                      # empty → $DEEPSEEK_BASE_URL → api.deepseek.com
  prices:                          # per-model CNY per 1M tokens (input/cacheRead/output)
    "mimo-v2.5": { input: 2, cacheRead: 0.05, output: 8 }
  priceSchedule: []                # date-gated peak/idle tables
  balanceCacheMs: 60000
  sessionsRoot: ""                 # default <dsh home>/sessions
  scanWindowMs: 172800000          # only scan session logs modified within this window
  externalUsageLog: ""             # JSONL log of external model calls

External usage log (externalUsageLog)

dsh-vision-fallback (and other plugins that call models outside the DSH session-log pipeline) can append one JSON line per external call:

{ "ts": 1755000000000, "model": "mimo-v2.5", "inputTokens": 1200, "outputTokens": 320, "cacheReadTokens": 0, "cacheWriteTokens": 0 }

Default path: <dsh home>/vision-fallback/usage.jsonl. Set externalUsageLog: off to disable.

Development

npm test    # validates the npm package, dsh.bundle, and cordis.patch.yml

License

MIT — forked from dsh-usage-dashboard (MIT).