返回目录
其他 待识别

dsh-token-price

spoon-man569/dsh-token-price

DSH 实时 Token 花费与账户余额显示插件(每轮花费 · 总花费 · 余额)

Stars
2
Forks
0
Issues
0
更新
2 天前

PROJECT TOPICS

项目标签

PROJECT README

README

dsh-token-price

English | 汉语

Accurate token-cost and account-balance readouts for the DeepSeek Harness Web chat UI.

What it shows

  • Per-message cost: the cost for completed request steps in that turn, shown as ¥... after each assistant reply's statistics line on hover.
  • Session total: the sum of every reported request step, including a cancelled request that emitted usage but no final assistant message.
  • Estimated CNY: a market-rate USD/CNY conversion shown as ¥.... USD is not rendered in the UI. This is not an account debit or official per-request CNY charge.
  • Account balance: the official GET /user/balance result. The plugin prefers the returned CNY balance and otherwise preserves the API's returned currency.

USD remains the internal accounting value. An unknown provider/model route is shown as 未定价, never as a zero-cost amount.

Install

One command (requires pnpm):

dsh plugin --profile web add dsh-token-price

The package declares dsh.bundle and dsh.client, so this activates both the host service and browser readouts.

Configuration

- id: token-price
  name: dsh-token-price
  config:
    balanceBaseURL: https://api.deepseek.com
    balanceApiKeyEnv: DEEPSEEK_API_KEY
    balanceRefreshIntervalMs: 60000
    referenceRateRefreshIntervalMs: 3600000
    requestTimeoutMs: 5000

balanceApiKeyEnv names the credential holding the DeepSeek API key used for the balance request. The key remains on the host. A failed refresh keeps the last balance sample.

Pricing and rates

prices.json is the local, versioned source of official USD rates per million tokens. It is an append-only history: each rule has an effectiveFrom timestamp, Beijing peak windows, and explicit prices for each supported route. New official prices must append a rule; past rules must not be changed.

The tokenCost projection snapshots the request route and time at request/header, then calculates each (turn, step) from the matching historical USD rule. Replaying the same session log therefore yields the same USD result. The host never scrapes the official price page at runtime.

USD/CNY is refreshed server-side from public market-rate sources every hour. When that refresh fails, the UI uses the current rule's bundled fallback rate. Both values remain estimates (¥) and never affect USD accounting.

Development

npm install
npm test

npm test builds lib/, emits type declarations, and runs accounting tests. Restart the DSH Web process after rebuilding so it loads the new artifacts.

License

MIT

CLASSIFICATION EVIDENCE

分类依据

项目类型待识别
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。