前言¶
在使用 DeepSeek Harness (DSH) Web Shell 时,实时掌握 Token 消耗情况与账户余额是常见需求。dsh-token-monitor 插件旨在解决这两个痛点,通过监听事件流统计用量,并直接查询 DeepSeek 官方接口获取余额。该插件由 chencmb2077-ui 维护,采用纯静态 Host 方式集成,无构建步骤。
核心功能¶
该插件提供以下能力:
-
Token 用量统计
监听session/event中的assistant/message事件,对TokenUsage进行持久化存储与去重,按会话分桶并计算全局合计。插件会利用llm/stream提供在途调用视图与活跃会话,并通过tokenMeter.measure()估算当前上下文压力。 -
余额查询
通过 Node 子进程(使用 OpenSSL TLS)请求 DeepSeek 官方 API (https://api.deepseek.com/user/balance)。API Key 仅通过环境变量传递给子进程,不进入浏览器或日志。支持 60 秒缓存与手动刷新。 -
浮窗展示
在页面右下角生成固定卡片,每 2.5 秒轮询用量,每 60 秒轮询余额。卡片可折叠为“小药丸”样式,样式自动适配明暗主题。
安装与启用¶
CLI 安装(推荐)¶
本插件是一个 DSH Bundle,package.json 中声明了 dsh.bundle.patch。安装后会自动加入当前 Profile 的 Bundle 图层。
dsh plugin --profile web add github:chencmb2077-ui/dsh-token-monitor
dsh web
手动安装¶
将 token-monitor 目录放置于 Profile 配置目录下,并在 cordis.patch.yml 中追加配置。
- insert:
- id: token-monitor
name: ./token-monitor/index.js
典型用法¶
插件启动后会注册两个 JSON HTTP 路由:
- 获取用量数据
GET /api/token-monitor/usage
# 返回 JSON: sessions, total, activeSessionId, lastCall, live, context
- 获取账户余额
GET /api/token-monitor/balance
# 参数 ?force=1 强制刷新余额
要求与注意事项¶
- 依赖环境:需要 PATH 上有
pnpm,且本机安装了node。 - 凭据配置:余额查询需要凭据中配置了
DEEPSEEK_API_KEY。 - 提供方限制:若使用非 DeepSeek 提供方(如 pi-ai、OpenRouter 或本地模型),余额显示“查询失败”,但用量统计不受影响。
- 安全说明:两个路由无鉴权,但 Web 服务默认绑定
127.0.0.1,仅本机可访问。API Key 不写入日志、不返回给浏览器。
总结¶
dsh-token-monitor 为 DSH 用户提供了从事件流到余额查询的完整监控能力。通过静态注入与本地子进程查询,在保证实时性的同时兼顾了安全性。
- GitHub: https://github.com/chencmb2077-ui/dsh-token-monitor
- 目录页: https://www.skillhub.cn/plugins/chencmb2077-ui/dsh-token-monitor