DeepSHPlugins
dsh-token-cost 项目预览
GITHUB / COMMUNITY PROJECT

dsh-token-cost

安全与运维JavaScriptMIT

在 DSH Web 侧边栏按项目展示 LLM Token 用量与人民币花费,分别统计输入(未命中)、命中与输出,并按模型标准价格自动计价。

0 Starsgdy01 更新时间 2026-08-19
访问 GitHub 仓库
dsh-token-cost 项目预览

项目介绍

中文

在 DSH Web 侧边栏按项目展示 LLM Token 用量与人民币花费,分别统计输入(未命中)、命中与输出,并按模型标准价格自动计价。

English

Per-project LLM token usage and RMB cost in the DSH Web sidebar, split by input (cache miss), cache hit, and output with model price auto-pricing.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
gdy01
仓库
gdy01/dsh-token-cost
GitHub Stars
0
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-19
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

37/ 100
维护活跃
85
文档与实用信息
100
生态关注度
0
安装便捷信号
75
项目声明信号
100

近 23 天仍在更新;README 含完整安装与使用说明。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:gdy01/dsh-token-cost

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-token-cost

A DSH plugin that shows per-project LLM token usage and converts tokens to RMB cost, split into:

  • 输入(未命中) — uncached input tokens
  • 命中 — cache-hit input tokens (cacheReadTokens)
  • 输出 — output tokens

Costs are calculated from the model's standard price table (CNY per 1M tokens). Unknown models are listed with their token counts but no cost, so you can add/override prices without touching code.

Features

  • Reads local DSH session logs (~/.dsh/sessions or $DSH_HOME/sessions).
  • Aggregates by project (the session cwd) and by model.
  • Adds a 💰 button to the DSH web sidebar footer; the panel shows project totals and expandable model-level breakdown.
  • Zero runtime npm dependencies: uses Node's built-in node:zlib Zstandard decoder.
  • Loopback-only HTTP API (/dsh-token-cost/*).

Install

Install the subdirectory dsh-token-cost, not the parent dsh plugin folder. The parent folder has no package.json, so installing it produces no sidebar button.

Use the absolute path (the path contains a space, so quote it):

dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"

Or, from inside this directory:

cd /Users/dg/Documents/dsh plugin/dsh-token-cost
dsh plugin --profile web add "file:$PWD"

If you previously installed the wrong folder, remove it first:

dsh plugin --profile web remove "dsh plugin"
dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"

Then restart dsh web and refresh the browser. A 💰 button appears at the bottom of the sidebar.

You can also use the included installer script:

./scripts/install.sh

How it works

The host plugin scans every session.jsonl.zstd / session.jsonl under the DSH sessions directory. It replays:

  • session.cwd → project
  • request/header → current model
  • assistant/chunk { type: 'usage' } and assistant/message.usage → input / cache-hit / output tokens

The same (turn, step) usage sample is de-duplicated (a later assistant/message replaces the earlier usage chunk), matching DSH's own token-meter accounting.

Price table

Built-in DeepSeek official RMB prices (元 / 1M tokens):

ModelInput (miss)Cache hitOutput
deepseek-chat / deepseek-v4-flash20.58
deepseek-reasoner / deepseek-v4-pro4116

You can override prices in the profile's cordis.patch.yml (a patch row replaces the whole config, so include every price you want to keep):

- id: token-cost
  config:
    prices:
      deepseek-chat:
        input: 2
        hit: 0.5
        output: 8
      deepseek-reasoner:
        input: 4
        hit: 1
        output: 16
      deepseek-v4-flash:
        input: 2
        hit: 0.5
        output: 8
      deepseek-v4-pro:
        input: 4
        hit: 1
        output: 16

API

  • GET /dsh-token-cost/api/stats — full per-project/per-model JSON
  • GET /dsh-token-cost/api/prices — active price table
  • GET /dsh-token-cost/healthz — liveness

License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目