DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

codeora-Kayson /

codeora-Kayson/dsh-cost-meter

Verified

DeepSeek Harness 插件:输入框下方显示峰谷时段、本会话/本轮费用与账户余额

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@1c31c2b9

DS时段费用参考

包名:dsh-cost-meter(npm 包名不允许中文;插件列表里的显示名取自 locale/*.json 的 meta.title,中文环境显示「DS时段费用参考」,英文环境显示「DS Pricing & Cost」)

在 Harness 输入框下方的统计条里,按 Reasonix Studio 的样式补上 平峰/高峰 + 本会话费用 + 本轮费用 + DeepSeek 余额。

它显示什么

alt text

— tok/s   缓存 23%   ◯ 上下文 1%   平峰 45小时 · 本会话 ¥0.01 · 本轮 ¥0.01 · 余额 ¥15.65
└────────── Harness 自带 ─────────┘  └────────────── 本插件 ──────────────┘
  • 平峰(绿)/ 高峰(琥珀):当前计费时段。
  • 45小时:距下次切换的时间,只按小时(不足 1 小时显示分钟,不出现"天")。
  • 本会话:整段会话的 token 按当前时段单价折算。
  • 本轮:最近一个已完成 Turn 的精确用量,按该轮发生时段的单价折算。
  • 余额:DeepSeek 账户余额(充值 + 赠送)。只在已登录 DeepSeek 账号时出现。

点击展开的明细卡

鼠标悬浮不再弹原生提示;点击整格在条上方弹出一张卡片(样式对齐自带的统计弹窗),再点或按 Esc / 点外部收起:

▤ 费用参考
──────────────────────────────────────────
本会话                               ¥1.74
本轮                                 ¥0.20
余额                                ¥15.07
充值 ¥10.26 · 赠送 ¥4.81
──────────────────────────────────────────
平峰                      45小时5分后转高峰

打开卡片会顺带刷新一次余额。

余额

两条通道,先客户端、后 Host,任一成功即可:

  1. 客户端 Remote:ctx.remote.account.getBalance(先 getState 判断登录)。Cordis 4 按 inject 门禁服务访问,所以客户端半身声明了 inject: ['slots','locale','remote'];没声明时读 ctx.remote 会直接抛 cannot get property "remote" without inject。
  2. Host 回退路由:GET /__dsh-cost-meter/balance,由 Host 半身注册,只接受 loopback 请求,返回账户服务自己的余额 JSON(ctx.deepseekAccount,同样要 inject: ['webServer','deepseekAccount'])。插件不存、不转发任何凭证。
  • 刷新:点一下整格手动刷新;另外每 5 分钟自动刷新一次(单次调用 8 秒超时,卡住的请求不会把这一格永远卡在加载态)。
  • 展示:余额 ¥15.65(充值 + 赠送的 CNY 合计,两位小数)。
  • 读不到时不隐藏,而是显示状态,鼠标悬停给出原因:
条上显示 含义
余额 ¥15.65 正常
余额 未登录 DeepSeek 账号未登录(或 getBalance 返回 null)
余额 — 读取失败,悬停看 code(如 gateway/forbidden、http-401、timeout)
余额 不可用 两条通道都不可用(悬停看 no-account-remote / no-account-service)

样式

向自带的统计条看齐,而不是另起一套:

维度 取值
字号 / 行高 12px / 16px(常量 FONT_SIZE,嫌小改一行)
分隔 与自带格一致的 ·,组内 4px、组间 6px
颜色 标签 --dsw-alias-label-secondary,金额 --dsw-alias-label-primary,时段词用 success/warn token
数字 tabular-nums,宽度不跳动
交互 非按钮,只有 title 提示,不抢焦点

位置

  • 槽位:conversation.composer.dock(输入框下方那条)。
  • 注册 id cost-meter、order: 2:新增一格,不替换自带的 activity(tok/s)与 usage(缓存命中 + 上下文环)。
  • 想换顺序改 order;想替换自带格就复用它的 id 并声明更低 priority。

数据与口径

  • 时段:北京时间(UTC+8)工作日 09:00–12:00、14:00–18:00 为高峰;其余时间、周末、中国法定节假日全天为空闲(平峰),价格为高峰价的 50%。 来源:https://api-docs.deepseek.com/zh-cn/quick_start/pricing。
  • 法定节假日:client.js 顶部 HOLIDAY_RANGES,目前内置 2026 年(国办发明电〔2025〕7号)。年份未覆盖时按普通工作日判断,跨年前记得补表。
  • 会话用量:会话投影 tokenUsage 的四个桶 —— uncachedInputTokens、cacheReadTokens、cacheWriteTokens、outputTokens。 缓存命中与未命中价差 50 倍(flash:0.02 vs 1 元/百万),必须分桶。
  • 本轮用量:useChat 选择器读最新 Turn 的 turn-tail 节点 tokenUsage(选择器返回数字,流式增量不会触发重渲染)。
  • 价格表:TIERS,单位「元 / 百万 tokens」,默认 TIER = 'flash'。
元/百万 tokens flash 空闲 flash 高峰 pro 空闲 pro 高峰
输入(缓存命中) 0.02 0.04 0.15 0.30
输入(未命中) 1 2 4.5 9
输出 4 8 13.5 27

已知限制

  1. 本会话是估算:投影是全日志聚合、不带时间维,整段会话按"当前时段"单价折算。逐请求按时段计价需要 Host 侧按事件时间折叠。
  2. 本轮依赖 Chat 视图已物化:切到轨迹视图等 Chat 未激活时,本轮 会暂时隐藏。
  3. 不识别渠道:模型档位/provider 不在标准 props 里;免费或第三方渠道(如 Kilo 免费池)实际不按官方价计费,这里给的是"官方价折算参考"。
  4. 未计入网页搜索/抓取调用费(2026-11-01 起按次计费)。
  5. 视觉呈现未在当前环境截图验证(无浏览器控制)。

文件

文件 作用
package.json bundle 与 dsh.client 声明
cordis.patch.yml 插入 Host 行 cost-meter
index.js Host 半身:注册 GET /__dsh-cost-meter/balance(loopback-only),转发 ctx.deepseekAccount 的余额
client.js 全部逻辑:时段、价目、本轮用量、余额双通道、渲染、locale
locale/{zh,en}.json 插件管理页的标题与描述
icon.svg 插件图标
scripts/market.mjs 生成插件市场索引 market.json(format 1)

安装 / 移除

命令行安装

源码安装(无需发布 npm):

dsh plugin --profile web add github:codeora-Kayson/dsh-cost-meter

发布到 npm 之后可以用包名安装(也只有这种形式会出现在 DSH 内置的「插件中心」):

dsh plugin --profile web add dsh-cost-meter

桌面版(desktop 配置档)由 Electron 独占,命令行会被拒绝,请走界面:设置 → 插件 → 粘贴仓库地址 → 安装 → 刷新页面。

本地开发

本仓库本身就是可安装的 bundle(package.json 的 dsh.bundle.patch + dsh.client)。开发时用本地目录装成软链,改完刷新页面即可,不必重装:

plugin_manager install_bundle  target: <本目录绝对路径>
plugin_manager remove_bundle   target: dsh-cost-meter

发布到插件市场

DSH 目前没有官方集中式插件市场:所谓"市场"就是一份 format 1 的 JSON 索引,用户在 插件 → 发现 → 添加索引源 里填它的 URL。所以"提交到市场"= 把这份索引发布出去,别人添加即可。

本仓库自带生成脚本:

# 1) 先把 scripts/market.mjs 顶部的 AUTHOR / REPO 改成真实值(只需一次)
# 2) 提交并推送要发布的版本
# 3) 生成索引(脚本会写入提交 SHA 和发布时间)
node scripts/market.mjs
# 4) 提交 market.json 并推送

生成的索引地址:

https://raw.githubusercontent.com/codeora-Kayson/dsh-cost-meter/main/market.json

接入方式:

  1. 侧栏 插件 → 实验性插件旁的 更多 → 启用 自定义插件市场(实验特性,默认关闭)。
  2. 发现 → 添加索引源 → 粘贴上面的 URL。
  3. 出现「DS时段费用参考」卡片,点安装即可。

注意事项:

  • 索引 URL 必须直接返回 JSON(DSH 拒绝重定向,别用会 302 的地址)。
  • 每个版本绑定固定提交(source.commit);发新版要重跑脚本、重新提交 market.json。
  • 不经过市场也能装:把仓库地址粘到 插件 → 安装 即可。
  • 想进别人的市场:把同样一段 plugins[] 条目提 PR 到那个市场的索引仓库。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 1c31c2b9ebfa

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout