DeepSeek Harness plugin

dsh-api-cost

DeepSeek Harness 插件:实时显示本会话 API 用量开销,按 provider token 用量 × 可配置费率计价,输入栏上方成本条。Real-time per-session API cost meter for DeepSeek Harness: prices provider-reported token usage with configurable rates and

Jump to install

Source facts

Repository
CCCq-C/dsh-api-cost
Latest update
Aug 15, 2026
Category
Memory
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and 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 review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/CCCq-C/dsh-api-cost
Plugin: dsh-api-cost
Author: CCCq-C

Check the source files

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

File explorer4 files
README.mdSource · read only
README language

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](#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:

bucketmeaningrate
inputTokenscache-miss inputinput
cacheReadTokenscache-hit inputcacheRead
cacheWriteTokenscache write (not reported by DeepSeek)cacheWrite
outputTokensoutputoutput

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

Projection

The apiCost session projection exposes:

fieldmeaning
costtotal cost (currency units)
inputCost / cacheReadCost / cacheWriteCost / outputCostper-bucket cost
inputTokens / cacheReadTokens / cacheWriteTokens / outputTokensper-bucket tokens
model / providercurrent route (last-wins)
currencycurrency 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](LICENSE)