在会话统计条显示分段计价的实时花费
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/GalileoNio/dsh-cost.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
- 读取本地文件lib/rates-chunk.js:135
current = readFileSync(path, "utf8"); - 写入本地文件lib/rates-chunk.js:141
writeFileSync(path, source); - 写入本地文件lib/rates-chunk.js:145
utimesSync(join(directory, options.ownerFile ?? "client.js"), now, now);
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 显示会话实时花费
- 按分段计价展示
- 价格取自模型目录
DeepSeek Harness 插件:在输入框统计栏里按段显示会话花费,价格取自 harness 模型目录(41 个服务商、约 1495 个模型)。
README
由 DeepSeek 最新模型翻译生成dsh-client-ui-session-cost
在会话底部的统计条上加一个胶囊标签。这条统计条就是输入框下方的 dock,已经显示轮次/步数、每秒 token 数、token 总量和缓存命中占比,现在再报告本次会话的花费,按实际服务每个请求的模型分段计价。
[time pill] [token pill] [$ pill] [context meter]
点击胶囊标签会展开明细,每个 (model, rate window) 一段。
安装
这是一个 bundle:安装它会添加一条 Loader 条目,由这条条目承载插件,所以 Harness 里不需要手动打任何补丁。
git clone git@github.com:GalileoNio/dsh-cost.git "$HOME/.dsh/profiles/plugins/dsh-cost"
然后在 Settings → Plugins 里从该路径安装,或者用 plugin_manager 的 install_bundle 加上绝对路径,以编程方式执行同样的操作。管理器会把该包加为 profile 依赖,追加到 dsh.profile.bundles,并即时生效;卸载会移除这三处改动。
为什么克隆到这个位置,以及如何忽略它。
展开完整文档(README 剩余 1 节)
dsh-client-ui-session-cost
在会话底部的统计条上加一个胶囊标签。这条统计条就是输入框下方的 dock,已经显示轮次/步数、每秒 token 数、token 总量和缓存命中占比,现在再报告本次会话的花费,按实际服务每个请求的模型分段计价。
[time pill] [token pill] [$ pill] [context meter]
点击胶囊标签会展开明细,每个 (model, rate window) 一段。
安装
这是一个 bundle:安装它会添加一条 Loader 条目,由这条条目承载插件,所以 Harness 里不需要手动打任何补丁。
git clone git@github.com:GalileoNio/dsh-cost.git "$HOME/.dsh/profiles/plugins/dsh-cost"
然后在 Settings → Plugins 里从该路径安装,或者用 plugin_manager 的 install_bundle 加上绝对路径,以编程方式执行同样的操作。管理器会把该包加为 profile 依赖,追加到 dsh.profile.bundles,并即时生效;卸载会移除这三处改动。
为什么克隆到这个位置,以及如何忽略它。 插件会以符号链接的形式接入 profile,而 Node 从符号链接的真实路径解析 import,所以克隆到 ~/.dsh/profiles/ 下,就能访问 Harness 自己的 node_modules,拿到 @deepseek-ai/schemastery 和 @earendil-works/pi-ai。克隆到别处的话,在克隆目录里跑一次 npm install,它就不再依赖位置——所有运行时依赖都已声明,自己的 node_modules 就能满足 import。下面两种流程都验证过。
它的 cordis.patch.yml 在 profile 根上插入这一行:
- insert:
- id: session-cost
name: dsh-client-ui-session-cost
这里故意不写 config:覆盖表初始为空,因为预设已覆盖整个目录,而设置页会按条目 id 把任何覆盖写回。
插件源码改动。 lib/client.js 每次页面加载都会从磁盘重新读取,所以客户端改动只需刷新页面。改动 lib/index.js、lib/presets.js 或 lib/projection.js 需要重启 Harness:Node 每个进程只 import 模块一次,而 profile 监听器跟踪的是 cordis.patch.yml,不是包目录。安装一个新包会全新加载它,所以这次安装不用重启就生效了。
金额如何计算
在 Host 上做一次折叠。 插件在 session-projection 接缝上注册一个 sessionCost 投影单元,因此它看到的是完整的持久日志,而不是分页、被压缩重写过的聊天窗口。每一次计费的请求尝试都会被归属:
| 事实 | 来源 |
| tokens | 该次尝试的服务商用量——assistant/message.usage,否则取尝试流里内嵌的最后一个 usage chunk |
| model | 已定型的 assistant/message 的 message.source,回退到当前生效的最新 model/selection(覆盖那些从未组装出消息的尝试) |
| rate window | 请求自己的时钟(step/start,否则用结算时刻),对照服务商公布的峰时规则 |
add/replace 的记账方式与已发布的 tokenUsage 单元完全一致——一次结算替换掉它的 (turn, step) 槽位,而 llm/retry-started 会关闭替换槽位,这样重试的那次尝试是累加而不是替换——所以这些分组求和后,与 tokenUsage 逐桶对得上。测试套件拿一份独立重写的实现来断言这种对账关系。
价格也在 Host 上解析。 每个分组上线时都带着一组已经收窄好的四数字费率:服务商有长上下文档位就用它,否则用设置选中的峰时或基础窗口。浏览器只做乘法,从不做选择,所以它不可能和 Host 在价格上产生分歧——插件在客户端也不需要价格表。
价格从哪来
预设,来自 Harness 自己的目录。 @earendil-works/pi-ai——也就是 dsh-llm-pi-ai 提供服务的那个目录——自带 41 个服务商、约 1495 个模型,每个都带 cost: { input, output, cacheRead, cacheWrite },单位是美元每 1,000,000 token,也正是它自己的 calculateCost 所除的单位。预设启动时由它构建,所以 Harness 能路由到的每个模型都有价格,数字跟着已安装的目录走,目录变了这里什么都不用更新。长上下文档位(45 个模型,目前全是 272k)会一路带下来,按请求应用。
DeepSeek 官方线路,用人民币。 dsh-llm-deepseek 是另一个适配器,按服务商公布页面计费,所以它的两条线路在这里带的是真实的峰时和谷时费率。
你的覆盖,叠在上面。 目录没定价的东西——自建或网关端点、谈下来的折扣、你不认同的费率——都写进插件的设置里。
维护这张表
Settings → Plugins → Session cost 渲染 session-cost 设置命名空间,按条目 id 写回配置档补丁。覆盖项的键是 <provider>/<model>,或者裸写 <model> 匹配任意服务商;带限定符的键优先。
| 字段 | 含义 |
| enabled | 是否渲染这个胶囊。关掉就不注册投影,也就没有键会到达浏览器。 |
| period | auto 按每段落在哪个窗口计费;peak / offpeak 把所有段重新定价到同一个窗口。 |
| currency | 给没写货币的覆盖项用的符号。预设自带货币:目录是 $,DeepSeek 官方是 ¥。 |
| prices | 覆盖表。 |
每个覆盖项都需要全部四个基础费率。peak 不能省略——Schemastery 解析嵌套对象时会走它的必填成员,所以全零的峰时费率就是「这条线路全天一个价」的写法,预设表里它们也是这个意思。
prices:
my-gateway/qwen3-32b:
label: My Qwen
miss: 0.2
hit: 0.02
write: 0.2
out: 0.4
货币从不换算
一个会话同时用了按人民币计费和按美元计费的模型时,会显示两个总额,¥7.12 + $1.00,弹窗里也分开列出。凭空编一个汇率,只会让披露里出现一个没有任何服务商真正计费过的数字。
它不是什么
- 是标价,不是你的账单。 折扣、促销、账户级条款在这里都看不到。
- 没有节假日日历。 日志里不记录节假日数据,而折叠必须是日志的纯函数,所以工作日的法定节假日会被归为高峰。这里刻意不提供节假日设置:它只可能影响两条路径中的一条,而这两条路径绝不能不一致。
- 未归属的尝试和未定价的路由会被披露,而不是隐藏。 只要出现其中一种,总额就只是下界,标签会显示 ≈。
验证
四个自包含的测试装置,都能用纯 node 跑,不需要构建:
npm test
npm test 会跑全部四个,每个也能单独跑:
node test/presets.test.mjs # 49 checks: catalog derivation and precedence
node test/projection.test.mjs # 61 checks: the fold and price narrowing
node test/bundle.test.mjs # 45 checks: the browser half
node test/config.test.mjs # 44 checks: the schema and the live wiring
该 mock 的地方一个都没省:测试套件导入真实模块,只对 React 和 DOM 打桩,所以跑通就意味着发布的代码能正常工作。
- presets.test.mjs 锁定目录推导、CNY 官方路由、843 个自身含斜杠的目录 id,以及覆盖项胜出的优先级。
- projection.test.mjs 在合成的已提交事件上驱动真实的折叠——归属优先级、替换与重试语义、引用稳定性、一次 JSON 往返,以及与独立重新实现的 tokenUsage 折叠逐桶对账——然后锁定价格如何收窄到某一组费率(窗口、档位阈值、period 覆盖)。
- bundle.test.mjs 针对打桩的 React 和 DOM 实例化真实的 lib/client.js,驱动真实组件:逐段算术、混合币种、披露的不完整性、图标在两种挂载场景下的固有尺寸,以及每一个隐藏用例。
- config.test.mjs 检查 schema 的默认值与拒绝情况、设置页依赖的 .volatile() 标记,然后驱动定义 apply 实际注册的东西——这是 schema、预设和折叠唯一汇合的地方。
License
MIT — 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
GalileoNio/dsh-cost
在会话统计条显示分段计价的实时花费
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1