dsh-billing: DeepSeek Harness 计费插件

前言

DeepSeek Harness (DSH) 采用插件化架构,允许开发者扩展核心功能。在进行智能体开发或长时间运行任务时,追踪 Token 消耗、精确计费以及管理预算是常见需求。dsh-billing 插件旨在解决这些问题,它提供了一套完整的账本系统,支持持久化存储、官方余额同步以及峰谷计价策略。

核心功能

该插件主要提供以下能力:

  1. 持久化账本
    所有费用记录存储在 $DSH_HOME/storages/dsh-billing/ledger.json 中。写入采用原子操作并带有防抖机制,确保数据一致性。

  2. 精确计费
    插件监听 llm/stream 瀑布链尾的 usage 块,捕获每次模型调用的实际消耗。成本计算公式(单位:美元 / 1M tokens)为:
    成本 = 未命中输入 × cacheMiss + 输出 × output + (缓存读 + 缓存写) × cacheHit
    账本金额恒以美元存储,展示币种默认为人民币(汇率固定为 7.2)。

  3. 官方余额与预算
    利用有效的 API Key 调用官方接口查询账户余额。余额数据按 refreshMinutes 缓存,支持手动强制刷新。预算管理提供预警(≥80%)和超支(≥100%)提示,但仅提醒不阻止调用。

  4. 峰谷计价
    支持峰谷时段计价,时间窗口由官方同步维护(默认生效时间 2026-08-16 16:00 UTC,峰时窗口为 UTC 01:00-04:00 和 06:00-10:00)。插件在启动时会自动同步官方价格表。

  5. 会话统计与历史
    在会话统计行展示实时估算费用,在侧边栏和设置页展示今日/本月/累计汇总。历史记录按保留天数(默认 180 天)修剪,并按天汇总。

安装与启用

安装插件需要 Node.js ≥ 20 以及已安装 DeepSeek Harness CLI。

  1. 执行以下命令从 GitHub 安装:
    dsh plugin --profile web add github:mahiro6/dsh-billing
或使用本地路径(开发调试时推荐):
    dsh plugin --profile web add link:<本仓库绝对路径>
  1. 安装完成后,必须重启 dsh web 服务才能使插件生效:
    dsh web

配置与使用

插件配置主要持久化在 ledger.json 文件中。除 budget 外,大部分配置项(如货币符号、汇率、价格表、峰谷时间)均由插件自动维护或固定默认值,不建议手动修改。

  • 预算配置:可在界面设置页修改,包含启用状态、额度、周期(今日/本月/累计/自定义)。
  • 余额查询:点击界面中的“刷新余额”按钮可强制重新查询,该操作不依赖定时器,由客户端触发。
  • 价格同步:插件启动时会自动抓取官方定价页。若需跳过启动时的同步(例如离线环境),可设置环境变量 DSH_BILLING_SKIP_STARTUP_SYNC=1。

技术实现与限制

  • 运行机制:插件不依赖 Cordis 的 Service 或 Context 运行时类,仅使用 Node.js 内置模块及特定依赖,与宿主共享同一运行时实例。
  • 数据精度:会话统计行的费用为当前档位的估算值;今日/月度/累计费用以账本为准。
  • 价格覆盖:官方价格同步操作会替换整个模型集,官方页面不存在的旧模型会被移除。
  • 权限要求:余额查询需要有效的 API Key 且能访问 api.deepseek.com;API Key 仅发送至官方域名。

总结

dsh-billing 为 DeepSeek Harness 提供了从微观(单次调用)到宏观(账户预算)的完整成本控制视角。对于需要精细化运营和成本监控的开发者,该插件提供了可靠的解决方案。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜