KIDLi1412/dsh-session-cost
KIDLi1412★ 0JavaScriptLast synced: 2026-08-16
DSH web plugin: conversation status bar with per-session token cost estimate (per-model CNY pricing) and live DeepSeek API balance; display mode configurable (standalone bar or merged into the stats line).
README excerpt
dsh-session-cost DSH(DeepSeek Harness)Web 插件:在 对话底部状态栏 (输入框下方、自带统计行之下)显示 本次会话的 Token 费用估算 与 DeepSeek API 余额 。 - 费用估算:服务端按 模型逐条计价 ——从会话事件日志折叠出每个模型的输入/输出/缓存命中 token(语义与 dsh-token-meter 的 tokenUsage 投影一致),再按 CNY 单价表( lib/cost.js )计算费用,混合多模型的会话也精确。 - 余额查询:复用官方余额接口 GET {baseURL}/user/balance (参考插件 dsh-usage-stats 的余额方案),凭据经 DSH 的 credentials 缝解析,2 分钟内存缓存 + 单飞防抖; ?refresh=1 可强制绕过缓存(状态栏的 ⟳ 手动刷新即用此参数)。 - 状态栏每 30 秒刷新费用、每 5 分钟刷新余额;token 用量变化后自动触发费用刷新;悬停显示分模型明细与余额构成(充值/赠送),⟳ 按钮手动刷新(强制查询上游,成功后短暂显示"已更新 HH:MM")。 界面 两种显示方式可在 设置 → 插件 → 插件配置 → 会话费用显示 中切换(localStorage 持久化,即时生效): - 显示方式 :独立状态栏(默认)/ 并入统计栏。 - 低余额阈值 (默认 10 元):余额 低于 该值时显示为红色,达到或高于时显示为黑色。 独立状态栏(默认) ——统计栏下方单独一行: 并入统计栏 ——追加到自带统计行同一行(会话尚无统计内容时暂不显示): 两种方式下悬停均显示分模型明细与余额构成;⟳ 手动刷新(强制查询上游,成功后短暂显示"已更新 HH:MM")。 悬停气泡(示例): 安装 从 npm 安装: 从 GitHub 安装: 本地开发(链接安装,改动即时生效): 安装后重启 dsh web ,浏览器硬刷新(Ctrl+Shift+R)。打开任意会话即可在输入框下方看到状态栏。 移除: 架构 文件 角色 lib/index.js 服务端: GET /api/session-cost/summary?session= (增量折叠会话事件并按模型计价)、 GET /api/session-cost/balance (DeepSeek 余额,loopback-only 精确路由, ?refresh=1 强制绕过缓存) lib/cost.js 纯函数:按模型 token 折叠(replace-last-sample 语义)+ CNY 单价表 + 费用计算 lib/balance.js 纯函数:DeepSeek 余额接口查询与状态归一化 lib/client.js 浏览器端: conversation.composer.dock 槽位(id …
View full README on GitHub →