Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add github:Lzh3070/dsh-session-cost
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
English | 中文
dsh-session-cost
A DeepSeek Harness (dsh) web plugin that shows the current session's DeepSeek API cost as a small chip beside the composer input.
Features
- Live session cost — a chip in the
conversation.input.rightslot (left of the model selector) shows the current session's DeepSeek API spend (¥), refreshed every 5 seconds. - Strict model gate — the chip only appears when the session's current model is DeepSeek; other models (MiniMax, Kimi, …) are never priced and never enter the statistics.
- Hover popover — a project-styled card with:
- a session cost breakdown table: input (cache miss) / cache hit / output × tokens × effective rate = amount;
- today's DSH usage: DeepSeek spend across local DSH sessions for today (Beijing time);
- account balance: read from the DSH credential
DEEPSEEK_API_KEYvia the officialuser/balanceendpoint.
- Official pricing engine — every
assistant/messageevent is priced by its own timestamp against the official DeepSeek pricing timeline, including the 2026-08-17 peak/off-peak policy (Beijing 09:00–12:00 / 14:00–18:00 peak, half price otherwise), and covering history from before this plugin was installed. - Performance friendly — session log replays are cached by log revision (a 5-second poll costs one stat, not a re-decompress); today/balance refresh on their own 60-second cadence.
Install
⚠️ Note: the
dsh-session-costpackage on npm (0.1.3) is a different, same-named plugin (ChengChe106/dsh-session-cost) and is unrelated to this repo. Always install this plugin from the repo address below.
dsh plugin --profile web add github:Lzh3070/dsh-session-cost
Or from the Gitee mirror (faster in mainland China):
dsh plugin --profile web add https://gitee.com/lzh10602042_gitee/dsh-session-cost/repository/archive/main.zip
Restart the dsh web service and hard-refresh the browser (Ctrl+Shift+R).
First use: configure DEEPSEEK_API_KEY in Settings → Models (used for the balance and today's total; without it the balance shows --, session cost still works).
Screenshot
The chip (¥0.12) beside the composer input, with the hover popover:

Popover contents example:
当前会话花费 ¥6.55
项目 数量 单价 金额
输入(未命中) 3.5M ¥1.000/M ¥3.49
缓存命中 111.8M ¥0.020/M ¥2.24
输出 410.5K ¥2.00/M ¥0.821
──────────────────────────────
今日(DSH) ¥0.356
账户余额 ¥197.66
Pricing
Built-in official DeepSeek policy timeline (CNY per 1M tokens):
| Model | Stage | Input (miss) | Cache hit | Output |
|---|---|---|---|---|
| deepseek-v4-flash | current (since 2026-05-22) | 1 | 0.02 | 2 |
| deepseek-v4-flash | peak (since 2026-08-17) | 3 | 0.1 | 9 |
| deepseek-v4-flash | off-peak (since 2026-08-17) | 1.5 | 0.05 | 4.5 |
| deepseek-v4-pro | current (since 2026-05-22) | 3 | 0.025 | 6 |
| deepseek-v4-pro | peak (since 2026-08-17) | 9 | 0.3 | 27 |
| deepseek-v4-pro | off-peak (since 2026-08-17) | 4.5 | 0.15 | 13.5 |
The table lives in OFFICIAL_PRICING_POLICIES in lib/index.js; append entries to the since timeline when the official pricing changes.
Structure
cordis.patch.yml inserts the plugin row into the host composition
dsh.plugin.json plugin metadata (entry id + client platform)
lib/index.js host entry: SessionCostRuntime (TypertRemoteService) +
official pricing engine + strict Typert manifest
lib/client.js single-file client bundle (ModuleLoader handshake):
composer cost chip + hover popover (class component)
lib/invariant.js invariants companion entry
Data flow
- Host
sessionCost(sessionId): replays the persisted session log viasessionPersistence.readRaw, prices every message, cached by log revision. - Host
accountSummary(): replays all sessions for today's (Beijing) DeepSeek usage; readsDEEPSEEK_API_KEYfrom DSH credentials for the officialuser/balancecall. - Client: registered in the
conversation.input.rightslot, 5s session poll + 60s account cadence + hover popover.
License
MIT. The pricing engine is ported from dsh-deepseek-quota (MIT, itself ported from bpc-oss/dsh-web-billing, MIT).