DSH(DeepSeek Harness)插件:按会话显示成本行 + 成本归因报告,由 llm-pricing 定价
41.6/100
综合分
7
GitHub 星标
1,190
npm 周下载
—/5
用户评分
数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-billnpm 源 · dsh-bill 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-bill @ 0.23.1
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 07:02:41
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
- 发起网络请求lib/index.js:1654
response = await fetch(baseURL + '/user/balance', { - 发起网络请求lib/client.js:1039
return fetch('/dsh-bill/api', { - 发起网络请求lib/pricing.js:466
const response = await fetch(url, { headers: { accept: 'application/json' } })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
4 张 · 点击查看大图功能亮点
- 按会话显示成本行
- 成本归因报告
最近更新
在 GitHub 查看全部 →v0.23.02026-10-18
· 功能
· 侧边栏面板图标可以关掉了——设置 → Cost 多了第六个开关「Sidebar panel icon」,一拨就能把 Cost 图标从侧边栏面板行里去掉。账号级报告仍可从侧边栏花费行打开。存为 showPanellist,默认开启。(#29,解决 #28,感谢 @MINjork)
· dshHome 配置——指定记录、汇总和偏好存放的 harness 主目录,优先于 $DSH_HOME 和 ~/.dsh,优先级与 harness 自己的存储一致。适用于一个进程托管多个 harness 实例的情况;不设置则保持现状。(#23,感谢 @mnaser)
· 账号级花费改为长轮询——今天 / 本月 / 全部时间不再每个窗口每 3 秒轮询一次。每个窗口只挂一个请求,直到花费变化、跨天或满 25 秒才返回;对不支持此机制的旧版主机,客户端回退到 3 秒轮询。(#25)
· 修复
· 后台打开的窗口现在立刻显示花费,不用等切到前台。(#26)
· $DSH_HOME 的展开和解析与 harness 完全一致,DSH_HOME=~/x 不会再让存储落到字面路径 ./~/x 下。
· 一个进程托管多个插件实例时,priceOverrides 和 rateCurrency 现在按实例生效,不再由最后一个实例给其他实例的调用定价。
· 内部
· 浏览器只通过 /dsh-bill/api 与主机通信;Connection RPC 通道从未对插件挂载成功,已连同启动时的警告一起移除。(#27)
v0.22.02026-10-11
· 功能
· 一小时提示词缓存写入按自己的费率计价——Anthropic 对一小时缓存写入按输入价的 2 倍计费,五分钟写入则是 1.25 倍,并会报告每次写入买的是哪种有效期。当用量报告带有 cacheWrite1hTokens(cacheWriteTokens 中一小时那部分)时,这部分现在在单次调用成本、日志回填、逐轮记录与总计、成本归因以及高峰/非高峰对比中都按一小时写入计费。没有该字段的报告计价与之前完全一致。@deepseek-ai/dsh-llm-pi-ai 目前还不会转发该字段(deepseek-ai/deepseek-harness#9225),所以等适配器透传后才会生效。billTurns 投影状态版本现在是 2,已有检查点会重建一次。(#22,感谢 @mnaser)
v0.21.02026-10-09
· 功能
· rateCurrency 插件配置——设一个 ISO 4217 代码(比如 USD),让每个模型的基础费率都按这个币种显示,而不是按厂商的标价币种。在 DeepSeek 国际平台购买、以 USD 计费时很有用。仅影响显示:金额仍按 USD 计价和存储,磁盘上已有的记录跟随当前设置。启动时拒绝未知代码,并指出是哪个字段。(#20,感谢 @mnaser)
· 修复
· 无会话的支出现在会出现在报告里——在任何会话之外发起的调用,比如 DSH 在工具调用前的自动审查,原本计入账户总额,却不出现在任何会话行和轮次行里。现在它们会作为单独的「无会话(后台调用)」行出现在按会话拆分中,拆分加起来等于总额。README 注明轮次行合计可能小于账户总额。(#21,关闭 #19,感谢 @Ofautumn 的详细报告)
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-bill
DSH(DeepSeek Harness)的费用统计插件。每轮对话下面看这轮花了多少,会话的「费用」标签页看这个会话的钱花在了什么上,侧边栏「插件」旁的全局「费用统计」面板看整个账户。
回复下方是这轮的成本,输入框下方是本会话的费用
费用统计面板:总费用、Token、缓存命中、账户余额与月度预测
按模型堆叠的费用趋势,悬停看每根柱子的拆分;下方是周 × 小时热力图
成本归因:钱按内容类型花在了哪里
安装
dsh plugin --profile web add dsh-bill
重启 dsh web 生效。
功能
- 成本归因 —— 按内容类型拆分账单:工具输出、模型输出、系统提示词、终端命令(按 git / pnpm / rg 分组)、工具输入、附件、系统提醒、用户输入。旭日图可下钻。
- 每轮成本 —— 每个结束的轮次下面一行:这轮花了多少、几步、缓存命中率。数据来自会话日志本身,所以安装前的历史也有。插件在会话之外自行发起的调用(例如工具调用前的自动审查)不属于任何一轮:它计入账户总额,并在按会话拆分里单独显示为「无会话」一行,所以各轮费用加起来可能小于账户总额。
- 常驻显示 —— 输入框下方统计栏里以胶囊显示本会话费用;侧边栏显示今日花费与预算进度;鼠标停在侧边栏会话上,卡片里显示该会话的费用(DSH 0.1.7+)。
展开完整文档(README 剩余 1 节)
dsh-bill DSH(DeepSeek Harness)的费用统计插件。每轮对话下面看这轮花了多少,会话的「费用」标签页看这个会话的钱花在了什么上,侧边栏「插件」旁的全局「费用统计」面板看整个账户。 回复下方是这轮的成本,输入框下方是本会话的费用 费用统计面板:总费用、Token、缓存命中、账户余额与月度预测 按模型堆叠的费用趋势,悬停看每根柱子的拆分;下方是周 × 小时热力图 成本归因:钱按内容类型花在了哪里 安装 dsh plugin --profile web add dsh-bill 重启 dsh web 生效。 功能 - 成本归因 —— 按内容类型拆分账单:工具输出、模型输出、系统提示词、终端命令(按 git / pnpm / rg 分组)、工具输入、附件、系统提醒、用户输入。旭日图可下钻。 - 每轮成本 —— 每个结束的轮次下面一行:这轮花了多少、几步、缓存命中率。数据来自会话日志本身,所以安装前的历史也有。插件在会话之外自行发起的调用(例如工具调用前的自动审查)不属于任何一轮:它计入账户总额,并在按会话拆分里单独显示为「无会话」一行,所以各轮费用加起来可能小于账户总额。 - 常驻显示 —— 输入框下方统计栏里以胶囊显示本会话费用;侧边栏显示今日花费与预算进度;鼠标停在侧边栏会话上,卡片里显示该会话的费用(DSH 0.1.7+)。胶囊的数字在轮次进行中就会随已流出的输出走动,provider 一报出用量即换成真实计费值。这五处界面,连同侧边栏面板行里的报告入口图标,都可在设置里逐项关闭。 - 报告 —— 每个会话的「费用」标签页(与 Chat / Trajectory 并列)只统计本会话;侧边栏「插件」旁的图标打开全账户的「费用统计」面板(DSH 0.1.7+)。都有总费用、Token、缓存命中、高峰占比;全局面板另有月度预测、账户余额、预算与按会话拆分;按模型 / 用途(含上下文压缩等循环开销)拆分;按模型堆叠的费用趋势,悬停看每根柱子的拆分;周 × 小时热力图。时间范围分滚动窗口(最近 24 小时、7 / 30 / 90 / 365 天)与按宿主时钟的自然日(今天、昨天),另有全部时间;一天以内按小时画柱,范围越长依次按天、周、月。 - 预算 —— 日 / 月 / 累计额度,超 80% 变黄,超支变红。 - 多币种 —— 实时汇率,约 166 种货币;各模型基础单价按其官方定价货币显示。 - agent 工具 —— bill_stats,模型可直接回答花费相关的问题,可按往前若干天或某个自然日(today、yesterday、YYYY-MM-DD)查询。插件配置里 agentTool: false 则不注册它 —— 适合从不在会话里问花费、也不想每次请求都为它的 schema 付费的人。 - 中英文跟随 DSH 语言设置;安装前的历史可从会话日志回填。 与同类插件的差异 三处实质差异: 不用手编价格。 其余插件都内置 2–4 个 DeepSeek 型号的价格表,换个 provider 就没有价格,因此它们都需要一个「手工编辑价格表」的入口。dsh-bill 通过 llm-pricing 拉取 models.dev 与 OpenRouter,覆盖 8000+ 条目,新模型上线即可计价。 价格是时间轴。 其余插件把价格算成一个数存下来(或按当前价重算),厂商调价、跨越峰谷边界时历史就不准了。dsh-bill 按每次调用自己的时刻定价,历史永不重算。 回答「花在什么上」。 其余插件只回答「花了多少」——它们只消费 provider 汇总的 token 计数,不看请求内容。dsh-bill 在捕获时把请求切成分类片段,按缓存前缀位置分摊费用。 也有它们做得更好的地方:usage-stats 支持 11 种 provider 的余额与订阅额度(dsh-bill 只有 DeepSeek),cost-meter 能读取 OpenCode Go 的订阅配额,两者的常驻入口也比 dsh-bill 多。 逐项对比(按源码实测,取样于 2026-08-16) 取样为 GitHub dsh-plugin topic 下 star ≥ 40 的费用类插件,以及 npm 上已发布的四个。deepseek-harness-wallet 等 star 较低的插件未逐一核对。 | | dsh-bill | cost-meter | usage-stats | dsh-cost | cost-log | dsh-usage | usage-billing | | star / 版本 | — | ★42 / 1.3.1 | ★40 / 0.2.0 | ★3 / 0.2.1 | ★2 / 1.0.0 | ★2 / 0.1.1 | 0.2.2 | | 价格来源 | 在线目录 | 内置表 + 手动爬文档页 | 不计价 | 内置表 | 内置表 | 用户自填 | 内置表 | | 覆盖模型 | 8000+ 条目 | 4 个 DeepSeek | — | 4 个 DeepSeek | 2 个 DeepSeek | 逐个手填 | DeepSeek | | 未收录模型 | 标记不计入 | 按 flash 价计 | 标记未知 | 按 v4-pro 计 | 标记 ≈ | 标记 -- | 计 0 | | 历史不被重算 | ✓ | ✗ | — | ✗ | ✓ | ✓ | 需手动回填 | | 内容归因 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | | 成本预测 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | | 预算 | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | | 账户余额 | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | | 安装前历史 | ✓ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | | agent 工具 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | | 多币种 | 166 种,实时汇率 | 3 种,固定汇率 | — | 随界面语言 | ¥/$ | 单一货币 | 仅 ¥ | 计价 - models.dev + OpenRouter 双目录,24h 缓存并落盘,失败回退内置历史快照; - DeepSeek 官方直连价覆盖目录报价,按调用时刻自动选择峰谷价; - 提示词缓存写入按 provider 报告的实际时长计价:用量报告带 cacheWrite1hTokens(cacheWriteTokens 中写入 1 小时缓存的部分,Anthropic 在路由请求长缓存时返回)时,这部分按 1 小时写入计价,其余按 5 分钟写入计价;没有该字段时全部按 5 分钟写入计价; - 模型名归一化,匹配不到的标记为「?」,不参与合计 —— 不估算; - priceOverrides 可覆盖或新增任意价格(通常用不到)。 归因方法 每次请求都要为完整上下文重新付费,因此一次读入的工具输出会在后续每次请求中继续计费,直到滑出上下文。归因逐请求计算后累加。 两个关键点: - 按位置定价。 前缀缓存下,prompt 的前 N 个 token 走缓存价,其余走全价 —— DeepSeek 上两者相差最多 156×。内容片段严格按 provider 接收顺序排列,缓存前缀按缓存价计,仅尾部付全价。按平均单价分摊会把费用记到错误的类别上。 - 只保留计数。 归因在捕获时对实时请求完成,落盘仅保存各类别金额,不保存任何 prompt 文本。 各片段的 token 数按字符占比估算(provider 只返回总数),总额取真实计费值,因此各项精确加总到实付金额。 会话日志里只有 token 计数与模型路由,没有请求正文 —— 所以安装前的历史能回填出费用,但归因无法追溯。报告会标注已覆盖比例。 配置 预算、预算货币、所有数字共用的显示货币,以及各处界面是否显示,都在设置里的「费用统计」页设定,存于 $DSH_HOME/dsh-bill/prefs.json。两种货币是两个独立设置:预算货币是那句承诺(「每月 100 元」),不随显示货币变动。(不走 DSH 自己的设置文档:它的 API 代理只向浏览器暴露一份固定的命名空间白名单,插件的命名空间在那里既读不到也写不了。) maxRecords(内存环形缓冲条数,默认 20000)、agentTool(是否注册 bill_stats,默认 true)、backfillTimeoutMs(启动时历史导入的总预算,默认 60000 毫秒)、rateCurrency(一个 ISO 货币代码,如 USD,让所有模型的基础单价都用它显示,而不是各厂商自己的标价货币 —— 在 DeepSeek 国际站按美元结算时有用)、dshHome(存储所在的 harness home,优先于 $DSH_HOME —— 与 harness 自带存储插件的同名配置一致,用于一个进程承载多个 harness 实例、各自记账的场景)与 priceOverrides 走插件配置,会在启动时校验 —— 写错的字段会指名报错,而不是让报告静静地空掉。~/.dsh/profiles/web/cordis.patch.yml 只在需要覆盖价格时才用得上: - insert: - id: bill name: 'dsh-bill' config: priceOverrides: 'anthropic/claude-sonnet-4-6': inputPerM: 3.0 # 每百万 token 输入(未命中),USD outputPerM: 15.0 cacheReadPerM: 0.3 cacheWritePerM: 3.75 数据与隐私 - 记录每次调用的 provider / model / token 用量及归因金额,落盘至 $DSH_HOME/dsh-bill/records.jsonl(2 万条环形缓冲,更早的折叠为汇总); - 账户余额的 API key 在 host 侧解析与使用,不进入浏览器; - 除价格目录、汇率接口与余额查询外不发送任何数据;不保存任何对话内容。 实现 | 层 | 实现 | | 捕获 | 监听 llm/stream waterfall,包装流观察 usage chunk,原样透传 | | 计价 | 按调用时刻交由 llm-pricing 解析目录 / 峰谷 / 覆盖价 | | 归因 | 捕获时切分请求为分类片段,按缓存前缀位置分摊 | | 回填 | 会话日志只列一次,以可取消的预算导入未记录的会话,按 turn:step 去重 | | 每轮 | billTurns session projection:host 侧折叠会话日志,推送到客户端,无轮询;billLive 另发一条只含在途输出的估算 | | 账户级 | 今日 / 本月 / 累计不属于任何会话,改用长轮询:每个窗口一条请求,带上已有的 rev,host 在花费变动、跨日或 25 秒后才应答 | | 存储 | 内存环形缓冲 + 追加式 JSONL,淘汰前折叠为汇总;偏好为单独的小 JSON 文档;原子替换与文件锁复用 dsh-atomic-write | | 传输 | POST /dsh-bill/api(harness 目前无法为插件挂载 ctx.connection.rpc 通道) | | UI | conversation.view / main + sidebar.panellist / conversation.chat.turnTail / conversation.composer.dock / sidebar.footer.action / sidebar.session.row.hover / settings.section,全部构建在 host 的 --dsw-* 设计令牌之上 | License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Jannchie/dsh-bill
DSH(DeepSeek Harness)插件:按会话显示成本行 + 成本归因报告,由 llm-pricing 定价
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 850已汉化DSH
68.9
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 385已汉化DSH
67.9
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
这是你的仓库?认领条目