dsh-plugin-token-audit:在 DSH 桌面端随时审计 Token 用量与余额

前言

用 DeepSeek Harness(DSH)跑智能体时,消耗往往分散在多轮对话和工具调用里。平台侧给的是账户余额(钱),会话里又有 provider 返回的 usage;若只靠账单或凭感觉,很难回答「今天烧了多少 token」「哪几个任务最费」「按当前余额还能撑多少」。社区插件 dsh-plugin-token-audit(维护者 vEvergarden,分类 admin-security)面向上述问题:在本机只读读取会话日志与 DSH 内置账号服务,用一张可拖动的悬浮卡片汇总日 / 月 / 年分布、当日 Top5 任务和余额换算,不写文件、不碰凭据。

这是什么

dsh-plugin-token-audit 是 DeepSeek Harness 的 Token 用量审计插件(仓库 vEvergarden/dsh-plugin-token-audit,当前 package 版本 0.2.0,MIT 许可证)。它在 DSH 桌面 Web 端注入 SAO 风格 UI:收起时约 26px 高的胶囊,展开后面板展示统计与交互。数据不依赖额外 API Key,也不读取 .credentials.yaml。

核心功能

下面介绍插件在 README 中明确列出的能力。

用量与时间维度

  • 日、月、年三段分布,柱状图带 tooltip。
  • 每次调用的 token 来自本地会话日志 ~/.dsh/sessions/**/session.v4.jsonl.zstd 里 assistant/message.data.usage。
  • 任务按一轮对话划分:由 turn/start 到 turn/end 圈定;任务名为该轮第一条 user/message 正文;时长为 turn/end.time - turn/start.time。
  • 当日消耗 Top5 任务展示 token、时长、调用次数、工具调用数。

余额与估算

  • 余额通过 DSH 账号服务 deepseekAccount.getBalance() 获取;充值与赠金分开展示后合并为可用总额。
  • 「剩余 token」为估算:DSH 没有 token 额度概念,插件用「余额 ÷ 单价 × 1,000,000」换算,默认单价 2(¥ / 百万 token),数字带 ~ 表示估算;可在面板点击 BAL ¥x @2 改单价,或点击 LEFT xx 手动指定预算(手动预算优先级更高,显示为 *)。实际计费分缓存未命中输入、缓存命中输入、输出三档,单一单价仅为近似。

界面与行为

  • 可拖动,位置与页签记忆在 localStorage。
  • 只读:不写任何文件,不碰凭据。
  • 主机端提供本地只读 HTTP 服务(默认端口可在 bundle 配置中指定)。

安装与启用

前提:DeepSeek Harness 桌面端 0.2.x,Node.js ≥ 22。

一键安装

Windows 在插件仓库根目录执行:

powershell -ExecutionPolicy Bypass -File .\install.ps1

macOS / Linux:

bash install.sh

装完后需完全退出 DSH(含托盘图标)再重新打开。卸载(Windows 示例):

powershell -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall

手动安装

  1. 在 ~/.dsh/profiles/desktop/package.json 的 dependencies 里增加本地包引用(路径改为本机绝对路径):
"dsh-plugin-token-audit": "file:/绝对路径/to/dsh-plugin-token-audit"
  1. 在同一文件的 dsh.profile.bundles 数组里追加 "dsh-plugin-token-audit"。

  2. 在 ~/.dsh/profiles/desktop 下执行 pnpm install。

插件通过 bundle 自带 cordis.patch.yml 注入 Cordis,而不是手写改 profile 里的 cordis.patch.yml——DSH 在用户改设置时会重写该文件,手写条目会被抹掉。

配置项

bundle 内 patch 示例字段如下(改完后重启 DSH):

- insert:
    - id: token-audit
      name: 'dsh-plugin-token-audit'
      config:
        port: 48921         # 本地只读 HTTP 端口
        budget: 20000000    # 默认日预算(token),0 表示不显示

典型用法

展开面板后,常用操作如下。

操作 效果
单击胶囊 展开面板
拖动标题栏 / 胶囊 移动位置
点 × 收起为胶囊(唯一收起方式)
点 LEFT xx 手动指定 token 预算
点 BAL ¥x @2 设置单价(¥ / 百万 token)
点 [DAY] [MON] [YEAR] 切换时间维度

主机端启动时会在 %TEMP%/dsh-token-audit-boot.log 写一行信标,便于排查本地 HTTP 是否起来。

适用场景与注意

适合谁:长期在 DSH 桌面端开发、调试智能体,需要本机视角的 token 分布、重任务排行和余额对照,又希望 UI 常驻而不改项目文件的用户。

权限与安全:插件随当前 DSH 进程权限运行,只读本机会话目录与内置余额接口;安装前建议浏览 GitHub 源码 与 MIT 许可证,确认行为符合你的安全策略。

已知限制(来自上游 README):

  1. 只统计本机当前用户的会话,不含网页版与其他设备。
  2. 不是官方账单:token 取自 provider usage,计费口径仍以平台为准。
  3. 余额查询依赖 DSH 内部服务,大版本升级后可能需要插件适配。
  4. Windows 上 install.ps1 为一等公民;install.sh 为等价移植,上游注明未在 macOS 上实测。

社区目录 SkillHub 插件页 与 GitHub 仓库相互独立引用;SkillHub 是社区插件索引,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-plugin-token-audit 把 DSH 本地会话 usage 与账户余额接到同一块只读悬浮卡片上,用日 / 月 / 年视图和 Top5 任务帮助你在开发过程中把握消耗节奏;安装走仓库自带脚本或 profile bundle,配置通过 bundle 的 cordis.patch.yml 完成。进一步了解可访问目录页 skillhub.cn/plugins/vEvergarden/dsh-plugin-token-audit 与仓库 github.com/vEvergarden/dsh-plugin-token-audit。

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

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

小夜