dshbase

Plugin directory / Developer / dsh-api-cost

dsh-api-cost

Verified · install-tested on dsh CCCq-C

✓ Actively maintained Builds on 5 official DSH packages

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
—Language
2026-08-15Last push
Cross-platformPlatform

What it does

DeepSeek Harness 插件:实时显示本会话 API 用量开销 / Real-time per-session API cost meter for DeepSeek Harness

✅
Our take
Works — verified, early-stage project

DeepSeek Harness 插件:实时显示本会话 API 用量开销 / Real-time per-session API cost meter for DeepSeek Harness It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-api-cost

English | 中文

A Host + Web Client plugin for deepseek-harness
(dsh): shows the real-time per-session API cost — the provider-reported
token usage (uncached input / cache-hit input / output) priced with a
configurable per-model rate table, rendered as a live chip above the composer.
Installable via dsh plugin add.

Features

  • apiCost session projection (host half): a pure fold over the session
    log that prices each provider usage sample at the model's rate, so streaming
    usage chunks update the cost live and the finalized assistant/message never
    double-counts.
  • Composer-dock chip (browser half): API cost $0.0023 1.2K + 3.4K tok,
    updating in real time; hover shows a per-bucket breakdown (input / cache hit /
    cache write / output, plus the model id).
  • Configurable pricing: USD per one million tokens; unknown models fall back
    to a default rate table, and per-model overrides ride the plugin row's
    config (see Configuration).
  • Bilingual UI (中文 / English), following the host locale.
  • Self-contained: no host-repository changes — the in-package
    cordis.patch.yml inserts its own row as a bundle layer.

Installation

dsh plugin --profile web add dsh-api-cost

The installer adds the package to the web profile's dependencies and bundle
list; after restarting dsh web, the loader applies the in-package
cordis.patch.yml automatically. Then open any session and send a message —
the cost chip appears above the composer and ticks up as tokens stream.

Manual install (same mechanism, bypassing the installer): edit
$DSH_HOME/profiles/web/package.json — add "dsh-api-cost": "<version>" to
dependencies and "dsh-api-cost" to the dsh.profile.bundles array — then
run pnpm install in that directory and restart.

Peer dependencies are the official @deepseek-ai/* packages (^0.1.0-rc.6)
plus react, all provided by the host.

Configuration

The plugin ships usable defaults and has no Config schema: override pricing by
setting config on the api-cost row in the profile's cordis.patch.yml
(e.g. $DSH_HOME/profiles/web/cordis.patch.yml):

- id: api-cost
  config:
    currency: USD
    # fallback rates for unknown models (USD per 1M tokens)
    rates:
      input: 0.27
      cacheRead: 0.07
      cacheWrite: 0.27
      output: 1.1
    # per-model overrides (partial objects merge over `rates`)
    models:
      deepseek-chat:
        input: 0.27
        cacheRead: 0.07
        cacheWrite: 0.27
        output: 1.1
      deepseek-reasoner:
        input: 0.55
        cacheRead: 0.14
        cacheWrite: 0.55
        output: 2.19
      deepseek-v4-pro:
        input: 0.27
        cacheRead: 0.07
        cacheWrite: 0.27
        output: 1.1
      deepseek-v4-flash:
        input: 0.14
        cacheRead: 0.03
        cacheWrite: 0.14
        output: 0.55

Billing buckets follow the harness TokenUsage convention (disjoint counts):
DeepSeek's prompt_tokens already includes cache hits, and the official
adapter subtracts cacheReadTokens out of inputTokens, so:

bucket meaning rate
inputTokens cache-miss input input
cacheReadTokens cache-hit input cacheRead
cacheWriteTokens cache write (not reported by DeepSeek) cacheWrite
outputTokens output output

deepseek-v4-pro / deepseek-v4-flash defaults are placeholders — update
them once official pricing is published.

Projection

The apiCost session projection exposes:

field meaning
cost total cost (currency units)
inputCost / cacheReadCost / cacheWriteCost / outputCost per-bucket cost
inputTokens / cacheReadTokens / cacheWriteTokens / outputTokens per-bucket tokens
model / provider current route (last-wins)
currency currency code

Known Limitations

  • Estimate, not a bill: cost is computed from the local session log and may
    differ from the official invoice (provider-side caching, price changes,
    model renames). The rate table is the single source of truth — keep it
    current.
  • Model-switch granularity: each usage sample is priced at the route that
    was current when it was reported, so switching models mid-session prices
    later steps at the new model's rate.
  • Subagents have their own session ids and are not aggregated into the
    parent session's chip.

License

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-api-cost for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:CCCq-C/dsh-api-cost

Headless (CLI) profile:

dsh plugin --profile headless add github:CCCq-C/dsh-api-cost

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7819 plugins →