DeepSeek Harness Hub
← 返回列表

chencmb2077-ui/dsh-token-monitor

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DSH 静态 Host 插件:Web 界面右下角实时监控 token 用量与 DeepSeek 账户余额

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/18 · 已提供中文文档
综合分
27
GitHub 分
27
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add chencmb2077-ui/dsh-token-monitor
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-token-monitor

面向 DeepSeek Harness(DSH)Web shell 的实时 token 用量 与 DeepSeek 账户余额 监控器——一个固定在页面右下角的悬浮小组件。

一个纯 静态宿主插件:无需客户端 bundle,无需构建步骤,无需 Remote/typert 手术式改造。它注册两个 JSON HTTP 路由,并通过 tapIndex 向 index.html 注入一小段原生 JS 小组件。随部署配置自动加载,重启后依然生效。

英文

功能特性

- Token 用量(由 provider 上报):监听 session/event 的 assistant/message 事件(持久化、去重的 TokenUsage),按会话累计并汇总为全局总量。llm/stream 提供实时进行中调用的可见性以及当前活跃会话;tokenMeter.measure() 估算当前上下文压力。
- 余额:通过 credentials seam 解析 DEEPSEEK_API_KEY,并通过 node 子进程查询 https://api.deepseek.com/user/balance(OpenSSL TLS,可在沙箱下工作)。60 秒缓存 + 手动刷新。API key 永不离开本机,也永不进入浏览器。
- 小组件:固定在右下角的卡片;每 2.5 秒轮询用量,每 60 秒轮询余额;可折叠为紧凑胶囊;使用主题 CSS 变量(--dsw-alias-),因此能自适应浅色/深色主题。

安装(CLI bundle——推荐)

本包是一个 DSH bundle:其 package.json 声明了 dsh.bundle.patch,因此将其安装到某个 profile 时会自动加入该 profile 的 bundle 层(dsh plugin 会为你协调 dsh.profile.bundles)。

从本地检出安装(pnpm 会将包复制到 profile 中):
dsh plugin --profile web add file:/path/to/dsh-token-monitor

或直接从 GitHub 安装(无需检出):
dsh plugin --profile web add github:chencmb2077-ui/dsh-token-monitor

dsh web        # 重启 profile,以便 bundle 层完成组合

需要 PATH 中有 pnpm(npm i -g pnpm)。卸载:

dsh plugin --profile web remove dsh-token-monitor

启动后:

- GET /api/token-monitor/usage — 用量 JSON(sessions / total / activeSessionId / lastCall / live / context)
- GET /api/token-monitor/balance — 余额 JSON(?force=1 强制刷新)
- 每次页面加载都会注入右下角小组件

安装(手动回退方案)

将 token-monitor 目录放在 profile 配置旁边:

$DSH_HOME/profiles/web/token-monitor/

追加到 $DSH_HOME/profiles/web/cordis.patch.yml:

- insert:
- id: token-monitor
name: ./token-monitor/index.js

注意:将 name 指向入口文件,而不是目录——DSH 加载器会将相对入口作为 ES 模块导入,而 Node 不支持目录导入(ERR_UNSUPPORTED_DIR_IMPORT)。

重启 dsh web。

要求

- 任意 DSH 部署(token 用量跟踪与 provider 无关)
- 余额查询需要:node 可在 PATH 中解析、已配置 DEEPSEEK_API_KEY 凭据,以及 DeepSeek 官方 API(使用 llm-deepseek 设置中的 baseURL,默认 https://api.deepseek.com)
- 非 DeepSeek 提供方(pi-ai / OpenRouter / 本地模型):余额显示“查询失败”,用量统计仍然可用

安全说明

- 这两个路由未经过身份验证,但 Web 服务器默认绑定到 localhost(127.0.0.1)
- API key 仅通过其环境变量传递给 node 子进程;它绝不会被记录日志或返回给浏览器

许可证

MIT

中文

功能

- Token 用量(真实值):监听 session/event 的 assistant/message 事件(持久化、去重后的 provider TokenUsage),按会话分桶 + 全局合计;llm/stream 提供在途调用与活跃会话实时视图;tokenMeter.measure() 提供当前上下文压力估算
- 余额:经 credentials 解析 DEEPSEEK_API_KEY,用 node 子进程(OpenSSL TLS)请求 https://api.deepseek.com/user/balance,60 秒缓存 + 手动刷新;API key 仅在本机传递,绝不出现在页面或响应中
- 浮窗:右下角固定卡片,2.5s 轮询用量、60s 轮询余额,可折叠为小药丸,样式使用主题 CSS 变量(--dsw-alias-)自动适配明暗主题

安装(CLI bundle 方式,推荐)

本包是 DSH bundle:package.json 里声明了 dsh.bundle.patch,安装进 profile 后会自动进入
该 profile 的 bundle 图层(dsh plugin 会自动把 bundle 追加到 dsh.profile.bundles)。

本地目录安装(pnpm 会把包复制进 profile):
dsh plugin --profile web add file:D:/path/to/dsh-token-monitor

或直接从 GitHub 安装(无需本地检出):
dsh plugin --profile web add github:chencmb2077-ui/dsh-token-monitor

dsh web        # 重启 profile 使 bundle 图层生效

需要 PATH 上有 pnpm(npm i -g pnpm)。卸载:

dsh plugin --profile web remove dsh-token-monitor

插件启动后:

- GET /api/token-monitor/usage — 用量 JSON(sessions / total / activeSessionId / lastCall / live / context)
- GET /api/token-monitor/balance — 余额 JSON(?force=1 强制刷新)
- 每个页面加载时自动注入右下角浮窗

安装(手动方式,备用)

把 token-monitor 目录放到 profile 目录下:

$DSH_HOME/profiles/web/token-monitor/

在 $DSH_HOME/profiles/web/cordis.patch.yml 追加:

- insert:
- id: token-monitor
name: ./token-monitor/index.js

注意:name 要指向入口文件而不是目录——DSH 加载器把相对路径当 ES 模块导入,
Node 不支持目录导入(ERR_UNSUPPORTED_DIR_IMPORT)。

重启 dsh web 即可。

要求

- 任意 DSH 部署(token 用量统计与模型提供方无关)
- 余额查询需要:本机装有 node(PATH 可解析)、凭据中配置了 DEEPSEEK_API_KEY、使用 DeepSeek 官方 API(llm-deepseek 设置中的 baseURL,默认 https://api.deepseek.com)
- 非 DeepSeek 提供方(pi-ai / OpenRouter / 本地模型):余额显示“查询失败”,用量统计不受影响

安全说明

- 两个路由无鉴权,但 web 服务默认绑定 localhost(127.0.0.1),仅本机可访问
- API key 只通过子进程环境变量传递给 node 脚本,不写入日志、不返回给浏览器

许可证

MIT

Publishing / 发布

The repo ships its own publish tooling under scripts/ — zero dependencies, plain Node + the GitHub REST API (no git binary needed). Both read the token from DSH_GH_TOKEN in the environment and never print it.

仓库自带发布脚本(scripts/ 目录),零依赖,纯 Node + GitHub REST API,不需要安装 git。token 从环境变量 DSH_GH_TOKEN 读取,脚本从不打印它。

export DSH_GH_TOKEN=ghp_xxx          # your GitHub PAT / 你的 GitHub 令牌
node scripts/publish-github.mjs      # sync files + topics + release + zip asset(同步文件/话题/发布/zip 资产)
node scripts/upload-github.mjs       # create (or reuse) repo and upload files only(仅建仓库 + 传文件)
node scripts/build-zip.mjs           # just rebuild dist/dsh-token-monitor-.zip(仅重建 zip)

DSH_GH_TAG(默认 v1.0.0)控制发布标签。publish-github.mjs 是幂等的——重复运行会更新文件/话题并重建 tag/release。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群