DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

xushuojie /

dsh-usage-stats

Topic repository only

This repository has no description yet.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@5ae56258

English | 简体中文

dsh-usage-stats

Token usage statistics plugin for the DeepSeek Harness web UI.

Adds a 用量统计 entry to the sidebar footer, directly above the 设置 (Settings) button:

  • Today total at a glance — the trigger shows a fuzzy figure of today's token usage (in 千 / 万 / 百万 / 千万 / 亿), with the exact value on hover.
  • Stats modal — a summary (uncached input / output / cache read / cache write, session count) plus a per-session breakdown list, with time filters 全部 / 今日 / 24h / 7 天 / 30 天.
  • Durable ledger — the per-session tokenUsage projection disappears when a session is deleted; this plugin keeps its own copy in localStorage (dsh.usageLedger.v1) so historical totals survive session removal. Best-effort: falls back to in-memory when storage is unavailable.

Screenshots

Sidebar footer entry (above the Settings button):

Sidebar footer entry

Usage stats modal:

Usage stats modal

Requirements

  • @deepseek-ai/dsh web profile (any recent 0.1.0-rc.x)
  • Peer packages: react, @deepseek-ai/cordis, @deepseek-ai/dsh-client-runtime, @deepseek-ai/dsh-client-locale, @deepseek-ai/dsh-client-ui-primitives, @deepseek-ai/dsh-client-ui-slots (the dsh web profile already ships these).

Install

  1. Install the package where the profile can resolve it

    cd "$(dsh home)/profiles/web"      # e.g. ~/.dsh/profiles/web
    pnpm add dsh-usage-stats           # or: dsh plugin --profile web add dsh-usage-stats
    

    For a local checkout instead of the registry:

    pnpm add file:/path/to/dsh-usage-stats
    
  2. Register the loader entry in the profile's patch layer ($DSH_HOME/profiles/web/cordis.patch.yml — the file the boot message tells you to edit, not cordis.yml):

    - insert:
        - id: usage-stats
          name: 'dsh-usage-stats'
    
  3. Restart dsh web (plugin roster + boot manifest are composed at startup).

Publish (for maintainers)

npm publish

The package name is unscoped so you can republish under your own scope (e.g. @your-scope/dsh-usage-stats) by renaming name in package.json and the id/name in the loader entry and the client bundle.

How it works

  • lib/client.js is a window.__ModuleLoader__.load(...) client bundle (the DSH web client-plugin format), declared via dsh.client in package.json.
  • It registers into the sidebar.footer.action list slot (rendered above the Settings button) with order: 10, bound to its own usageStats locale namespace.
  • Data source: the standard useSessions list snapshot's per-session projectionValues.tokenUsage, merged into the durable ledger.

License

MIT

—/ 5

No ratings yet

Manifest verification required

Commit 5ae56258425a

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout