dsh-session-cost

DSH PLUGIN通知与集成

仓库 ytftu/dsh-session-cost

通知与集成 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH(DeepSeek Harness)插件:底栏会话消费金额、每条回复本轮金额、右上角开放平台余额/今日用量/峰谷,点击弹出折线图。

一句话选型结论

按资料字段整理

dsh-session-cost 是通知与集成类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类通知与集成 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 3 复刻 0 · 未关闭 issue 0
最近更新 2026-10-26 创建于 2026-10-13
README 8.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:ytftu/dsh-session-cost
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

通知与集成
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

通知

上游标签

cordis-plugincost-trackingdeepseek-harnessdshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在通知与集成场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-cost当前 L5 · 运行验证通过 低风险 3 未标注 有
treg L3 · 安装规范通过 低风险 4,976 未标注 无
dsh-purge 未做沙盒验证 未标注 3,412 未标注 有
dsh-im L5 · 运行验证通过 低风险 1,837 0.1.7-rc.2 等 10 个 有
dsh-dafeiyu L5 · 运行验证通过 低风险 425 0.1.7-rc.2 等 10 个 有
dsh-trading L3 · 安装规范通过 低风险 235 未标注 无

仓库档案

通知与集成
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方ytftu仓库 dsh-session-cost · 默认分支 main
分类通知与集成notify
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue3 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-13 · 2026-10-26最后推送 2026-10-26
本站收录2026-10-30首次进入本站目录的时间

README 全文

8.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-cost

简体中文 | English

给 DeepSeek Harness(DSH)桌面版加一条「花了多少钱」的实时反馈:输入框底栏的会话总消费、每条回复的本轮消费、窗口右上角的账号余额与今日用量(含峰谷提示)。

会话金额按 DSH 自己的会话日志逐轮重算(覆盖插件启用之前的历史轮次),不依赖任何第三方插件。

功能

位置 显示 交互
输入框底栏(token 用量之后) 本会话 ¥ 6.42 点击弹出每轮消费折线图
每条回复的动作栏(官方「用量 N tok」右侧) ¥ 0.28 与官方用量按钮同款样式,悬停看该轮明细
窗口右上角(标题栏右侧) 谷时 余额 ¥ 42.00 · 今日 ¥ 3.21 点击弹出近七日每日用量折线图 + 「进入 DeepSeek 开放平台」按钮(用 DSH 侧栏浏览器打开,保留登录态)

悬停小窗全部为自绘的深色浮层(背景模糊与会话消费面板同一套),不是系统原生 tooltip。

截图

> 下面的截图里,余额与消费金额数字已做模糊处理。

会话总消费 + 每轮消费曲线:

每条回复右侧的本轮金额(官方用量按钮右边):

右上角余额 / 今日用量,以及峰谷提示:

点击后弹出近七日每日用量:

「进入 DeepSeek 开放平台」走 DSH 侧栏浏览器(持久分区,登录一次即可):

安装

> 需要 DSH 桌面版(开发环境为 Windows 上的 DSH Desktop 2.0.x,已在 0.2.1 上验证;统计行兼容 0.2.0 与 0.2.1 两套 DOM 属性)。插件是纯 Cordis 插件,宿主半边 + 浏览器半边各一个文件。

  1. 把本仓库放进 DSH 的插件目录:
git clone https://github.com/<你>/dsh-session-cost.git "$env:USERPROFILE\.dsh\plugins\dsh-session-cost"

macOS / Linux 对应 ~/.dsh/plugins/dsh-session-cost。

  1. 在 profile 里登记(~/.dsh/profiles/desktop/package.json):
{
"dependencies": {
// …… 其他插件
"dsh-session-cost": "link:C:/Users/<你>/.dsh/plugins/dsh-session-cost"
},
"dsh": {
"profile": {
"bundles": [
// …… 其他 bundle
"dsh-session-cost"
]
}
}
}
  1. 在 ~/.dsh/profiles/desktop/node_modules/ 下建一个指向插件目录的链接(Windows 用 Junction,macOS / Linux 用符号链接;在 profile 目录里跑一次 npm install 也行):
New-Item -ItemType Junction `
-Path   "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-session-cost" `
-Target "$env:USERPROFILE\.dsh\plugins\dsh-session-cost"
  1. 重启 DSH。

插件被删掉/禁用时界面会立刻少掉这三处显示,不会影响会话本身。

生效方式(改代码时)

改完统一重启 DSH —— DSH 桌面版没有页面刷新入口:

改了什么 怎么生效
lib/client.js(界面半边) 重启 DSH
lib/index.js(宿主半边) 重启 DSH

Ctrl+R / F5 / Ctrl+Shift+R 在 DSH 桌面版里无效,别在它们身上浪费时间。另外宿主会缓存已经加载过的客户端脚本,所以就算你的环境提供了页面刷新,改完 lib/client.js 也建议直接重启。

配置

DSH_HOME

宿主读取 process.env.DSH_HOME,没有就用 ~/.dsh。会话日志、记账账本、自定义单价都在这下面。

自定义单价(可选)

如果 .dshw-api.json 存在(dsh-whale-widget 写的那个文件),本插件会只读地复用其中的自定义单价与汇率:

// ~/.dsh/.dshw-api.json
{
"models": [
{
"id": "deepseek-v4-pro",
"matchIds": ["deepseek-v4-pro", "v4-pro"],   // 关键字长度需 ≥ 3
"price": { "hit": 0.15, "miss": 4.5, "out": 13.5, "cur": "USD", "rate": 7.2 }
}
]
}

金额单位是「每百万 token」。cur 非 CNY 时用 rate 折算成人民币。

峰谷与节假日

单价表(lib/index.js 顶部)给的是高峰时段价,非高峰时段按 ×0.5 计:

  • 高峰:工作日 09:00–12:00、14:00–18:00(北京时间)
  • 谷时:其余时间 + 周末 + 法定节假日(WEEKEND_VALLEY_FROM_SEC / HOLIDAY_VALLEY)

节假日表是硬编码的(当前到 2026 年),每年需要按国务院公告更新,否则会把节假日算成高峰价。

计价口径

会话金额(底栏 / 每轮)

直接解析 DSH 的会话日志,不看内存计数,因此包含插件安装之前的历史轮次:

~/.dsh/sessions/<工作区编码>/<会话 id>/session.v4.jsonl.zstd
  • 文件是多帧拼接的 zstd(魔数 28 B5 2F FD),代码按帧切分逐帧解压,并做增量读取(只解析新增字节,半帧留到下次);
  • 只取 assistant/message 事件,用 data.usage.{inputTokens,cacheReadTokens,outputTokens}、data.message.source.model、事件时间;
  • 按 turn:step 覆盖式去重(与 DSH 自己的 token 投影同口径);
  • 单价:未缓存输入 × miss + 缓存读取 × hit + 输出 × out,再按该轮写入时刻判断峰谷(×1 / ×0.5)。

余额与今日用量(右上角)

  • 有 DEEPSEEK_API_KEY 凭据时,优先请求官方 GET https://api.deepseek.com/user/balance(结果带 total_balance / currency);
  • 否则退回 DSH 账号自身的余额(充值 + 赠金,即网页端口径);
  • 今日用量按余额差累计:每 60 秒采样一次,余额下降的部分计入当天,充值(余额上升)不计负数;跨天时把当天用量归档进 history 并重置基准;
  • 也就是说它是「当天所有渠道扣掉的总额」,与底栏「本会话 ¥」的 token × 单价 口径不同,不能相加。

HTTP 接口

两个只读路由,都只放行本机 Host(localhost / 127.x / [::1],其它一律 403),无需鉴权:

GET /dsh-session-cost/session-cost.json?session=<会话 id>
→ { ok, session, currency, cost, tokens, steps, turns, models[], days[], turnCosts[], updatedAt }

GET /dsh-session-cost/platform.json[?refresh=1]
→ { ok, balance, currency, source, todayUsage, days[{day,cost}], knownDays,
peak, peakUntilMs, error, updatedAt }

source 为 apikey(官方余额接口)或 account(DSH 账号余额);days 是近 7 天升序补零。

目录结构

dsh-session-cost/
├── package.json          # name / exports / dsh.bundle.patch / dsh.client
├── cordis.patch.yml      # bundle 层声明
├── lib/
│   ├── index.js          # 宿主:价目表、峰谷/节假日、日志解析、记账、两个只读路由
│   └── client.js         # 浏览器:底栏金额、每轮折线图、每条回复金额、右上角余额与面板、自绘 tooltip
├── docs/images/          # README 用截图
└── test/                 # 离线测试(从源码里截取真身函数来跑,无需 DSH)

开发与测试

# 任意 Node.js ≥ 20(要带 zstd 支持)即可;DSH 自带的那个也可以:
#   %USERPROFILE%\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin\node.exe
node test/test_session_cost_plugin.mjs   # 路由、日志解析、计价、客户端契约
node test/test_platform.mjs              # 余额采样/跨天结转/近七日/峰谷判定
node test/test_tooltip.mjs               # 悬停小窗
node test/test_turn_cost.mjs             # 每条回复金额的注入
node test/test_chart.mjs                 # 折线图坐标与标签
node test/test_panel_place.mjs           # 面板定位

测试脚本会从 lib/*.js 里截取真身函数执行(new Function 注入桩),所以改实现的同时断言会立刻反映出来。

已知限制

  • 峰谷节假日表需要每年手动更新;
  • 会话日志解析假设 session.v4.jsonl.zstd 的多帧格式没有变化(DSH 升级后可能失效);坏帧连续失败 3 次就跳过该帧;
  • 右上角余额的具体口径取决于你 DSH 的登录方式(API key 还是账号);
  • 只在 Windows 的 DSH 桌面版上实测过;浏览器半边用的是 DSH 的客户端插件通道,其他平台理论上一致;

许可

MIT

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-cost 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:ytftu/dsh-session-cost` 即可。

dsh-session-cost 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-cost 安全吗?

低风险。

dsh-session-cost 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-session-cost 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

8 条
不同作者的仓库分开列,请确认你要装的是哪一个
通知与集成
按星标排序,可作替代方案

treg

treg

Treg 是面向 Agent 工具的 OpenRouter,聚合 60 个提供商的 2896 个端点,按调用计费,统一令牌访问,无需注册各供

L3 · 安装规范通过 4,976 星

dsh-purge

dsh-purge

dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚

未标注验证等级 3,412 星

dsh-im

dsh-im

将IM机器人接入DeepSeek Harness,支持飞书、微信、钉钉等九种渠道,通过扫码或凭据配置,统一管理多机器人连接。

L5 · 运行验证通过 1,837 星

dsh-dafeiyu

dsh-dafeiyu

DSH 大肥鱼是一款由 DeepSeek Harness 真实工作状态驱动的桌面伴侣插件,以始终置顶的透明窗口实时展示 Agent 的思考、

L5 · 运行验证通过 425 星

dsh-trading

dsh-trading

L3 · 安装规范通过 235 星

ytftu 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。