DeepSeek Harness 插件:dsh-token-ledger-pro(DSH 费用统计与 Token 账本)

前言

DeepSeek Harness (DSH) 采用插件架构,旨在为智能体开发提供灵活的扩展能力。在使用多模型、多厂商服务时,追踪 token 消耗与费用是常见痛点。dsh-token-ledger-pro 是一个集服务端计费与客户端实时展示于一体的插件,由原 dsh-custom-cost-meter(计费统计面板)与 dsh-spend(开销统计)合并而来。它支持中英双语,提供完整的费用统计、余额查询及预算告警功能。

核心功能

该插件提供以下核心能力:

  1. 自动采集:自动采集每次 LLM 请求的 token 用量(基于 DSH session 事件),按模型价格实时计费。
  2. 实时展示:在输入框工具行右侧(模型选择器旁)实时显示当前模型、账户余额、会话/今日/本月消费及预算横条。横条颜色随阈值变化:默认 ≥80% 转橙、≥100% 转红。
  3. 余额查询:内置 DeepSeek / OpenAI / Anthropic / Kimi / 智谱 / 火山方舟(豆包)/ 阿里云(千问)官方余额 API。未内置厂商可用自定义 HTTP 端点 + JSONPath 提取。默认 1 分钟缓存(balanceCacheTtl)。
  4. 价格目录:内置 16 家厂商、136 个模型价格目录,覆盖 DeepSeek、豆包/火山方舟、OpenAI、Anthropic、Gemini、通义千问、腾讯混元、Kimi、MiniMax、智谱 GLM、硅基流动、xAI、Mistral、Meta Llama、Cohere、OpenRouter。
  5. 智能匹配:按精确匹配 → 前缀匹配 → 厂商默认价回退 → 跨厂商全局匹配的顺序查找价格。
  6. 未定价处理:模型不在目录中时,自动回退厂商默认价并显示“未定价”徽标,不再静默显示 ¥0。
  7. 特殊计价:支持 DeepSeek 峰谷计价(北京时间峰时 ×2;2026-08-23 起周末全天谷价);缓存价(cacheRead / cacheWrite)单独计价。
  8. 数据持久化:聚合当日/本月/会话数据,并保留最近 2000 条明细(JSON 原子写,重启不丢)。
  9. 远端同步:支持通过 priceSyncUrl 从远端同步价格目录。

安装与启用

使用 DSH 官方命令行安装:

dsh plugin --profile web add dsh-token-ledger-pro

安装完成后重启 DSH Web 服务,并在浏览器中强制刷新页面(Ctrl+F5)。

配置说明

首次安装后,编辑配置文件 ~/.dsh/profiles/web/cordis.patch.yml。在 dsh-token-ledger-pro 的 config 块中添加 balance 配置以查询余额。

官方 API 配置示例

插件会根据当前选中模型的厂商自动匹配对应的余额配置。

- id: dsh-token-ledger-pro
  config:
    monthlyBudget: 100
    balance:
      deepseek:
        type: deepseek
        apiKey: "sk-你的DeepSeek密钥"
        currency: "CNY"
      openai:
        type: openai
        apiKey: "sk-你的OpenAI密钥"
        currency: "USD"
      anthropic:
        type: anthropic
        apiKey: "sk-ant-xxx"
        currency: "USD"
      moonshot:
        type: moonshot
        apiKey: "sk-xxx"
        currency: "CNY"
      zhipu:
        type: zhipu
        apiKey: "xxx.xxx"
        currency: "CNY"
      hunyuan:
        type: tencent
        secretId: "AKID你的腾讯云SecretId"
        secretKey: "你的腾讯云SecretKey"
        currency: "CNY"
      qwen:
        type: aliyun
        accessKeyId: "LTAI你的阿里云AccessKeyId"
        accessKeySecret: "你的阿里云AccessKeySecret"
        currency: "CNY"
    balanceCacheTtl: 60

自定义 HTTP 端点

对于未内置厂商或中转站,可使用自定义端点:

- id: dsh-token-ledger-pro
  config:
    balance:
      myproxy:
        type: custom
        endpoint: "https://你的中转站/api/balance"
        headers:
          Authorization: "Bearer sk-xxx"
        valuePath: "data.balance"
        currency: "CNY"

价格覆盖

在插件目录下创建 lib/prices.override.json 可覆盖本地价格。

{
  "deepseek": {
    "default": { "input": 2, "output": 8, "cacheRead": 0.5, "cacheWrite": 2 },
    "models": { "deepseek-chat": { "input": 2, "output": 8 } }
  }
}

数据与 API

插件将数据持久化至本地 JSON 文件,并提供 HTTP API 进行查询。

  • 数据文件路径:~/.dsh/profiles/<profile>/data/dsh-token-ledger-pro.json
  • API 端点:
    • GET /dsh-token-ledger-pro/summary?session=<sessionId>:会话/今日/本月/预算/当前模型计价状态。
    • GET /dsh-token-ledger-pro/balance?provider=<provider>:账户余额。
    • GET /dsh-token-ledger-pro/prices:价格目录。
    • GET /dsh-token-ledger-pro/config / POST /dsh-token-ledger-pro/config:读取/修改预算与未知模型策略。
    • GET /dsh-token-ledger-pro/history?limit=50:最近明细。

注意事项

  • 密钥安全:密钥以明文存储在本地配置文件中,请勿泄露。
  • 厂商支持:火山方舟/豆包(Volcano Ark)需要 AK/SK 签名,暂未内置,建议使用自定义端点。
  • 显示状态:面板显示“余额 –”表示未配置或请求失败;显示“未定价”表示模型不在目录中但已按默认价估算。
  • 生效条件:更换模型后无费用显示,请确认 DSH 已重启且插件在“设置 → 插件”中状态为 active。
  • 计费时间:DeepSeek 峰值时段计费以北京时间(Asia/Shanghai)为准。

结语

该插件通过服务端计费与客户端实时展示,解决了多模型开发中的费用追踪问题。其内置的价格目录与智能匹配机制降低了配置门槛。更多细节与源码请访问项目仓库。

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

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

小夜