
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
Token usage, multi-dimensional statistics, auto-detected billing plans (Code/Token) and estimated spend for the dsh web UI
Token usage & cost monitor for DeepSeek Harness — floating widget with multi-dimensional stats, time-series charts, auto-detected billing plans (Code/Token) and estimated spend.
dsh 用量与计费仪表盘:token 调用量、按模型 / 供应商 / 时间统计、预计费用,自动识别订阅制(Code)与按量(Token)计费计划。
简体中文 | English
在 dsh Web UI 右下角显示一个悬浮用量窗口:实时查看 token 调用量、多维度统计与预计计费金额,零配置自动识别计费计划并直读订阅商真实额度/余额。
usdCnyRate,默认 7.2)

| 层级 | 内容 |
|---|---|
| 悬浮胶囊(右下角) | 始终显示预计费用与总 Token(超预算变黄/变红告警) |
| hover | 摘要预览:费用、Token、输入 / 输出 / 缓存读、调用次数、今日小计 |
| 点击展开 | 四标签页详情面板;顶部工作区筛选下拉(按项目限定统计、逐级下钻子目录),标签栏右侧 $ / ¥ 货币切换按钮(悬停预览同款;汇率由服务端实时拉取,失败回退 usdCnyRate 固定值) |
插件内置供应商知识库(lib/knowledge.js,2026-08-14 官方文档核实):17 个供应商 / 131 个模型价格。provider id 自动归一化别名:glm→zhipu、kimi→moonshot、dashscope→qwen、gemini→google、grok→xai、claude→anthropic、copilot→github-copilot、minimax-cn→minimax、deepseek-official→deepseek 等。日志中出现的提供商自动匹配知识库生成计划与价格(UI 标记"自动识别");显式 plans / pricing 配置始终覆盖自动识别。
| 供应商 | 默认档 | 档位 | 额度口径 |
|---|---|---|---|
OpenCode Go(opencode-go) | $10/月 | — | 实时额度(官方 GET /zen/go/v1/usage:5h/周/月 实际已用百分比 + 重置时间);接口不可用时回退周 $30(V4 Flash 约 79,050 请求/周) |
OpenAI Codex(openai-codex) | Plus $20/月 | Plus / Pro 5x $100 / Pro 20x $200 / Business | 实时额度(chatgpt.com/backend-api/wham/usage,需本机 ~/.codex/auth.json 登录态;未登录回退 ~100 请求/周) |
GitHub Copilot(github-copilot) | Pro $10/月 | Free / Pro / Pro+ $39 / Max $100 / Business / Enterprise | 实时额度(api.github.com/copilot_internal/user,需 GH_TOKEN/GITHUB_TOKEN 或 gh auth login;未登录回退 AI Credits 月 $15) |
Claude Code(claude-sub) | Pro $20/月 | Pro / Max 5x $100 / Max 20x $200 | 实时额度(api.anthropic.com/api/oauth/usage,需本机 ~/.claude/.credentials.json 登录态;未登录回退档位表 5h 1x/5x/20x) |
智谱 Coding Plan(zhipu) | 官方套餐 | — | 实时额度(官方 bigmodel.cn/api/monitor/usage/quota/limit:5h/周 已用百分比 + 重置时间、MCP 月度次数;凭据缝 ZHIPU_API_KEY;国际站 z.ai 可用 usageEndpoints 换 URL) |
MiniMax Token Plan(minimax) | 官方套餐 | — | 实时额度(官方 minimaxi.com/v1/token_plan/remains:5h/周 剩余百分比 + 重置时间;凭据缝 MINIMAX_API_KEY,兜底 MINIMAX_CN_API_KEY;国际站 minimax.io 可用 usageEndpoints 换 URL) |
ClinePass(clinepass) | 官方套餐 | — | 实时额度(官方 api.cline.bot/v1/users/me/plan/usage-limits:300 分钟/周/月 已用百分比 + 重置时间;凭据缝 CLINEPASS_API_KEY) |
Google AI / Gemini CLI(google-ai-sub) | AI Pro $19.99/月 | AI Pro / Ultra 5x $99.99 / Ultra 20x $199.99 | 无公开用量接口,按官方每日上限(1,500 / 2,000 请求/天)展示 |
| 供应商 | 已收录模型 |
|---|---|
OpenAI(openai) | gpt-5.6 sol/terra/luna、gpt-5.5、gpt-5.4 系、gpt-5 系、gpt-5.2、o3/o4-mini/o1 |
Anthropic(anthropic) | claude-opus-5、sonnet-5、haiku-4-5、fable-5、opus/sonnet-4.x |
Google(google) | gemini-3.7/3.6/3.5 flash、3.1-pro、2.5 pro/flash/lite |
xAI(xai) | grok-4.6、4.5、4.3、build-0.1 |
Mistral(mistral) | large-3、medium-3.5、small-4、ministral-3 |
Moonshot(moonshot) | kimi-k3、k2.7-code |
智谱(zhipu) | glm-5.2、5.1、5 |
阿里(qwen) | qwen3.8-max、3.7-max/plus/flash |
MiniMax(minimax) | m3、m2.7 |
OpenRouter(openrouter) | 实时目录 50 个热门模型 |
OpenCode Zen(opencode-zen) | PAYG 网关价(Claude/GPT/Gemini/Grok/DeepSeek) |
DeepSeek(deepseek) | v4-flash、v4-pro |
内置适配器(lib/providers/,端点与鉴权 2026-08-25 核实):
凭据只读复用本机登录态与凭据缝:
| 供应商 | 凭据来源 |
|---|---|
| OpenCode Go / DeepSeek / 智谱 / MiniMax / ClinePass / Moonshot | 环境变量或凭据缝:OPENCODE_GO_API_KEY / DEEPSEEK_API_KEY / ZHIPU_API_KEY / MINIMAX_API_KEY(兜底 MINIMAX_CN_API_KEY) / CLINEPASS_API_KEY / MOONSHOT_API_KEY |
| OpenAI Codex | 本机 ~/.codex/auth.json 登录态 |
| Claude Code | 本机 ~/.claude/.credentials.json 登录态 |
| GitHub Copilot | GH_TOKEN / GITHUB_TOKEN / gh 配置 |
余额卡自动出现:只要凭据缝($DSH_HOME/.credentials.yaml)配置了 DEEPSEEK_API_KEY / MOONSHOT_API_KEY,即使该 provider 未出现在会话日志中(例如经 OpenCode Go 网关使用),也会自动生成 token 计划卡展示真实账户余额。登录态缺失或接口失败时卡片显示原因并回退本地配额行。Codex/Claude/Copilot 为非公开/逆向接口(chatgpt.com、api.anthropic.com、api.github.com),随时可能变化,失败不崩溃。
费用口径:Code 计划按订阅费、Token 计划按估算用量计入「预计花费(月)」;"按 token 估算"仍单独展示用于对比。官方未公布额度的计划(如 Claude Code)显示档位表而非进度条;额度按官方周期(天/周/月)计量。
lib/index.js)注册为 Typert Remote 服务 usageStats(通过网关的 SRC 发现机制,无需生成描述符文件)。lib/client.js)不走 typert 命名空间,直接以 ctx.connection.rpc.call("/api", "usageStats/query", ...) 调用宿主网关(与生成的 Remote 命名空间同一载体),因此无需在 inject 中声明由插件自身创建的命名空间。document.body 上(position: fixed; right: 20px; bottom: 20px),卸载时自动移除。$DSH_HOME/sessions 下所有会话的持久化日志(zstd 分帧逐帧解码),按 token-meter 语义聚合:assistant/chunk 的 usage 为早期样本,assistant/message 的 usage 为同一 (turn, step) 的最终样本并替换早期样本,因此不会重复计数;当前内存中的活动会话事件也会合并进来。request/header)→ 首个内容 chunk;生成时长 = 首 → 末内容 chunk;tokens/s = 输出 token ÷ 生成时长。工具调用后的续写步骤没有独立请求日志,其 TTFT 以 step/start 为起点估算(样本带 ttftEstimated 标记)。插件包声明了 dsh.bundle 清单,dsh plugin add 后由 CLI 自动挂载进 profile 层——无需手动编辑任何配置文件:
# 1. 安装到 web profile(pnpm 转发,支持 npm 包 / github:owner/repo / 本地路径)
dsh plugin --profile web add dsh-spend
# 2. 验证已挂载(组合配置中出现 usage-stats 行)
dsh --profile web --dump-config | grep usage-stats
# 3. 重启 dsh web(改动需要重启加载,HMR 对插件不生效)
dsh web
也可以从源码安装:dsh plugin --profile web add github:nonewind/dsh-spend(或本地路径 -w /path/to/dsh-spend)。
覆盖默认配置:插件内置供应商知识库自动识别价格与计费计划(见上),一般无需配置。需要覆盖时,在 ~/.dsh/profiles/web/cordis.patch.yml 中加入同 id(usage-stats)的 insert 行即可——用户层在 bundle 层之后应用,同名行覆盖生效。配置项见下节。
cordis.patch.yml 中 usage-stats 行的 config(当前已写入官方价,见「价格来源」):
config:
currency: USD # 服务端基准货币(费用按 USD 计算;UI 内可自由切换 $ / ¥ 展示)
usdCnyRate: 7.2 # USD→CNY 固定汇率(实时汇率拉取失败时的回退值)
liveRate: true # 服务端实时拉取 USD→CNY 汇率(6h 缓存);false 时始终用固定值
pricing: # 按模型精确匹配的单价(每百万 token)
- model: deepseek-v4-flash
inputPerMillion: 0.14
outputPerMillion: 0.28
cacheReadPerMillion: 0.0028
cacheWritePerMillion: 0
defaultPricing: # 未知模型的回退单价
inputPerMillion: 0.14
outputPerMillion: 0.28
cacheReadPerMillion: 0.0028
cacheWritePerMillion: 0
maxSessions: 20 # 按会话统计最多展示行数
maxRecentCalls: 50 # 最近调用最多展示行数
seriesHours: 168 # 时间曲线窗口(小时,服务端按此出 0 填充连续序列;UI 可切换 24h/72h/7d)
refreshSeconds: 30 # 悬浮窗自动刷新间隔(秒,>= 5)
monthlyBudget: 50 # 可选:月度花费预算(单位同 currency),UI 显示已用/剩余并告警
plans: # 计费计划:判断 Token Plan / Code Plan 并展示使用量与剩余量
- provider: opencode-go
type: token # token 计费:已用费用(估算);balance 为充值余额(可选)
# balance: 100
- provider: openai-codex
type: code # 订阅额度制:使用量取近 periodDays 天的实际消耗
quotaRequests: 100 # 周期请求额度(也可用 quotaTokens 按 token 额度)
periodDays: 7
usageEndpoints: # 订阅商实时额度接口(内置 opencode-go 默认值;其余内置适配器见注释)
- provider: opencode-go
url: https://opencode.ai/zen/go/v1/usage # 官方额度端点(非公开文档 API)
apiKeyEnv: OPENCODE_GO_API_KEY # 可选:凭据名(默认 <PROVIDER>_API_KEY)
timeoutMs: 15000 # 可选:超时毫秒
实时额度/余额:Code 计划按内置适配器(
lib/providers/)直读订阅商接口——opencode-go(凭据缝OPENCODE_GO_API_KEY)、openai-codex(本机~/.codex/auth.json)、claude-sub(~/.claude/.credentials.json)、github-copilot(GH_TOKEN/GITHUB_TOKEN/gh配置)、zhipu(ZHIPU_API_KEY)、minimax(MINIMAX_API_KEY,兜底MINIMAX_CN_API_KEY)、clinepass(CLINEPASS_API_KEY);卡片显示各窗口实际百分比与重置时间。Token 计划余额直读:deepseek(DEEPSEEK_API_KEY)、moonshot(MOONSHOT_API_KEY)。usageEndpoints可覆盖内置地址/超时,或为自定义供应商走通用 Bearer-key 通道(<PROVIDER>_API_KEY)。仅当登录态缺失、超时或非 200 时回退本地配额行并提示原因。
计价行可加可选
provider字段做提供商精确匹配(如provider: openai-codex),不带 provider 的行对任意提供商的同名模型生效;未匹配到任何行时回退defaultPricing。Token Plan 的「剩余」= 配置的充值余额 − 累计已用费用;Code Plan 的「剩余」= 额度 − 周期内实际消耗。未配置plans的提供商不显示计划卡片(默认按 token 计费口径展示费用)。
单价均来自厂商官方定价页(2026-08-14 查证),已写入本地配置;费用 = Σ(各桶 token × 对应单价 / 1e6)。下表为 2026-08-17 前的 legacy 价;8/17 起 DeepSeek 自动按峰谷价计价(见下方 ⚡ 说明,provider 为
deepseek或deepseek-official时均生效):
| 模型 | 输入(未命中) | 输入(缓存命中) | 缓存写 | 输出 |
|---|---|---|---|---|
| deepseek-v4-flash | $0.14 | $0.0028 | 0* | $0.28 |
| deepseek-v4-pro | $0.435 | $0.003625 | 0* | $0.87 |
| gpt-5.6-sol | $5.00 | $0.50 | $6.25 | $30.00 |
| gpt-5.6-terra | $2.00 | $0.20 | $2.50 | $12.00 |
| gpt-5.6-luna | $0.20 | $0.02 | $0.25 | $1.20 |
cacheWritePerMillion: 0。schedule(effectiveAt + peakHours + peak/offPeak 价格),每条调用按自身发生时刻与时段计价——8/17 前按上表 legacy 价,之后按峰谷价,历史调用不重算(计费单价表中带"峰谷计价"徽章)。费用为按官方单价的估算值,仅作参考,非账单;页面底部亦有免责说明。
dsh-spend/
├── package.json # 双端声明:dsh.client(web 平台 + 注入边)、dsh.bundle 清单
├── cordis.patch.yml # bundle 补丁:向 profile 插入 usage-stats 配置行
├── lib/
│ ├── index.js # 服务端插件:UsageStatsService(Typert Remote)
│ ├── knowledge.js # 供应商知识库:计划自动识别(Code/Token)
│ ├── stats.js # 纯回放/聚合/计费逻辑(可独立测试)
│ ├── providers.js # 实时额度/余额适配器门面(历史导入面兼容)
│ ├── providers/ # 适配器实现(每厂商一个文件,共享 common.js)
│ │ ├── index.js # 注册表:PROVIDER_USAGE(额度)/ PROVIDER_BALANCE(余额)
│ │ ├── common.js # 共享工具(请求、鉴权、归一化)
│ │ ├── opencode.js # OpenCode Go 实时额度(官方端点)
│ │ ├── oauth-codex.js # OpenAI Codex 实时额度(逆向接口)
│ │ ├── oauth-claude.js # Claude Code 实时额度(逆向接口)
│ │ ├── oauth-copilot.js # GitHub Copilot 实时额度(逆向接口)
│ │ ├── quota-zhipu.js # 智谱 Coding Plan 实时额度(官方端点)
│ │ ├── quota-minimax.js # MiniMax Token Plan 实时额度(官方端点)
│ │ ├── quota-clinepass.js # ClinePass 实时额度(官方端点)
│ │ ├── balance-deepseek.js # DeepSeek 账户余额(官方端点)
│ │ └── balance-moonshot.js # Moonshot 账户余额(官方端点)
│ └── client.js # 浏览器 bundle(手写 __ModuleLoader__ 格式)
├── docs/screenshots/ # 界面截图
├── README.md # 本文件(中文)
├── README.en.md # 英文版
└── LICENSE # MIT
reasoningTokens)。decodeErrors 并在页脚提示。FAQs
Token usage, multi-dimensional statistics, auto-detected billing plans (Code/Token) and estimated spend for the dsh web UI
The npm package dsh-spend receives a total of 0 weekly downloads. As such, dsh-spend popularity was classified as not popular.
We found that dsh-spend demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.