Bundle
dsh-plugin-duwg
每日用量统计:在输入框下方显示当天 Token 用量(万/亿简化)与缓存命中率。Daily token usage & cache-hit stats for DeepSeek Harness.
- Source
- Yolotd
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 13 days ago
Readme
# dsh-plugin-duwg 每日用量统计插件 for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)。 在输入框下方显示**当天 Token 用量**(万/亿简化显示,悬停看精确值)与**缓存命中率**,含余额血条和预计消耗。 Daily token usage & cache-hit stats for DeepSeek Harness. Shows today's token usage (simplified to 万/亿 with exact values on hover), cache hit rate, account balance bar, and estimated cost right below the composer. --- ## 功能 Features - **今日总消耗**:当天所有会话的 input / output / cache-read / cache-write Token 汇总(Host 端聚合,按天持久化) - **会话日志校准**:启动时扫描 `$DSH_HOME/sessions` 下的 `.jsonl.zstd` 会话日志(zstd 帧自动识别),校准当天用量,进程重启/崩溃后数据也不丢 - **万/亿 简化**:大数字自动转为 `1.23万` / `4.56亿`,悬停显示精确值 - **缓存命中率**:缓存读取占总量的比例,绿色数字实时显示 - **余额血条**:显示 DeepSeek 账户余额与当天最高余额(充值自动抬高上限),低余额变红 - **预计消耗**:网关透传的费用字段累计(`usage.cost`) - **持久化**:数据写入 `$DSH_HOME/storages/duwg/usage.json`,跨进程保留、跨天自动重置 ## 安装 Install ```bash # 从源码安装(推荐先审查) dsh plugin --profile web add <本仓库路径或 git URL> # 或从 npm(发布后) dsh plugin --profile web add dsh-plugin-duwg ``` 安装后重启 `dsh web`,小部件会出现在输入框下方。 ## 数据位置 Data ``` $DSH_HOME/storages/duwg/usage.json ``` (`$DSH_HOME` 默认 `~/.dsh`) ## 工作原理 How it works - **Host 半**(`lib/index.js`):拦截 `llm/stream` 瀑布流聚合 usage 块(同一流只计一次);提供 `GET /duwg/usage-stats` HTTP 路由;余额走官方 `api.deepseek.com/user/balance`(60s 缓存,仅 host 端持有 API key);启动时扫描会话日志校准 - **Client 半**(`lib/client.js`):DOM 挂载的小部件,2s 轮询刷新,数字原地更新不重建 DOM ## 安全 Security - API key 只存在于 host 端,通过官方 `ctx.credentials` 解析,绝不进入浏览器 - 余额查询仅调用 DeepSeek 官方接口,60s 缓存降低调用频率 - 会话日志扫描仅读取本地 `$DSH_HOME/sessions` 下的 `.jsonl.zstd` 文件,用于校准用量,不对外发送 - 无任何第三方网络请求、无遥测 ## License MIT
Install
dsh plugin --profile web add github:Yolotd/dsh-plugin-duwg
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-duwg from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.