🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

用量面板 lurejewel/dsh-usage-plugin

DeepSeek Harnessv0.1.3
lurejewel50 天前有提交已提供中文文档扫描:未发现敏感能力

在侧边栏查看余额与 token 用量趋势

29.6/100
综合分
0
GitHub 星标
97
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-usage-plugin
npm 源 · dsh-usage-plugin 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 50 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-usage-plugin @ 0.1.3
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 02:04:30

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    lib/index.js:37
    const res = await fetch(`${baseUrl}/user/balance`, {
  • 发起网络请求
    lib/client.js:117
    const res = await fetch("/api/dsh-usage/stats" + (fresh ? "?fresh=1" : ""), { cache: "no-store" });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 查看官方余额
  • 读取token用量历史
  • 侧边栏用量面板

轻量原生侧边栏用量面板,给 DeepSeek Harness 用:官方余额 + 从会话日志读取 token 用量历史。

v0.1.52026-09-28
· 0.1.5 · 修复 dsh 0.1.7 上侧边栏入口消失的问题:宿主把图标导出的命名从尺寸后缀改成了笔画粗细后缀(IconDataOutline16 → IconDataOutlineRegular)。插槽渲染时 createElement(undefined) 抛错,整个按钮就没了,而路由、启动清单和实际下发的 bundle 看起来都还正常。现在图标改为按候选列表解析,并内置一个兜底字形,下次再改名只会降级,不会让入口变空白。 · dsh.client.inject 不再声明 @deepseek-ai/dsh-client-runtime(0.1.7 并不提供它),改为声明 dsh-client-ui-sidebar,也就是本插件渲染所用插槽的归属方。 · test/client-boot.test.mjs 现在用从已安装宿主读到的真实 primitives 导出列表来渲染组件,不再用手写的 mock。mock 里写的是旧图标名,改名才会被漏掉。
v0.1.42026-09-22
· 已修复 · 会话扫描现在跑在工作线程里(带 15 秒结果缓存,并发扫描会去重),打开用量面板不再阻塞 harness 事件循环。以前每次打开面板都会把整个 web 服务器卡住好几秒,长到 dsh-remote 那个 2 秒的桥接看门狗判定 harness 离线,每点一次就重启一次远程隧道。 · 余额和用量历史现在并行拉取。 · 新增 ?fresh=1 可绕过缓存,面板的刷新按钮会带上它。 · 升级提示 升级后重启 dsh web,服务端那部分只在启动时加载。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-usage-plugin npm version npm downloads License: MIT 一个用于 DeepSeek Harness Web 的原生侧边栏用量面板:直接在侧边栏中显示你的官方 DeepSeek 余额和token 用量历史(今天 / 最近 7 天),无需独立进程,也没有跨域调用。 左侧边栏底部、设置上方会出现一个触发按钮——侧边栏展开时为带标签的全宽按钮,折叠时为紧凑图标。点击它即可打开面板:实时余额、今天的输入 / 输出 / 缓存 token,以及根据你自己的会话日志计算出的 7 天趋势。 功能特性 - 官方余额——使用 DSH 已有的 API key(来自你的凭据中的 DEEPSEEK_API_KEY)实时查询 api.deepseek.com/user/balance,绝不存储在浏览器中。 - Token 用量历史——读取你的 $DSH_HOME/sessions 日志,并按天汇总输入 / 输出 / 缓存 token(今天、总计、日均值、缓存命中率)。 - 侧边栏集成——注册一个 sidebar.footer.action 触发器和 shell.overlay 模态框;布局遵循 DSH 设计令牌(包含浅色 / 深色主题)。 - 零足迹——无守护进程、无配置、无数据库;数据来自你已经在运行的同一个 DSH 安装。
展开完整文档(README 剩余 1 节)
dsh-usage-plugin

npm version npm downloads License: MIT

一个用于 DeepSeek Harness Web 的原生侧边栏用量面板:直接在侧边栏中显示你的官方 DeepSeek 余额和token 用量历史(今天 / 最近 7 天),无需独立进程,也没有跨域调用。

左侧边栏底部、设置上方会出现一个触发按钮——侧边栏展开时为带标签的全宽按钮,折叠时为紧凑图标。点击它即可打开面板:实时余额、今天的输入 / 输出 / 缓存 token,以及根据你自己的会话日志计算出的 7 天趋势。

功能特性

- 官方余额——使用 DSH 已有的 API key(来自你的凭据中的 DEEPSEEK_API_KEY)实时查询 api.deepseek.com/user/balance,绝不存储在浏览器中。
- Token 用量历史——读取你的 $DSH_HOME/sessions 日志,并按天汇总输入 / 输出 / 缓存 token(今天、总计、日均值、缓存命中率)。
- 侧边栏集成——注册一个 sidebar.footer.action 触发器和 shell.overlay 模态框;布局遵循 DSH 设计令牌(包含浅色 / 深色主题)。
- 零足迹——无守护进程、无配置、无数据库;数据来自你已经在运行的同一个 DSH 安装。

要求

| 要求 | 版本 |
| DeepSeek Harness | >= 0.1.0-rc.7(已在 0.1.5-rc.2 上验证) |
| Node.js | >= 20 |
| pnpm | >= 10(用于 dsh plugin 安装) |
| API key | 一个现有的 DEEPSEEK_API_KEY 凭据(DSH 已经在使用的那个) |

安装

在任意位置运行:

dsh plugin --profile web add dsh-usage-plugin

就这样——该包声明了一个 dsh.bundle 补丁,因此 dsh plugin 会自动将其挂载到 profile 层栈中。然后:

1. 重启 dsh web(停止并启动该进程)。加载器树在启动时只组合一次,因此安装到正在运行的服务器中的插件在此之前不会被加载。
2. 强制刷新浏览器(Cmd/Ctrl+Shift+R)。
3. 在左侧边栏底部找到用量图标。

验证安装

GET /api/dsh-usage/balance 和 GET /api/dsh-usage/stats?days=N 与 DSH 其余 /api(dsh >= 0.1.5)一样位于同一个进程令牌防护之后,因此直接 curl 会得到 401 unauthorized。请使用浏览器页面,或传入 dsh web 在启动时打印的令牌:

dsh web: http://127.0.0.1:3080/?token=XXXXXXXX
node scripts/verify-install.mjs 3080 XXXXXXXX

验证器随包一起发布,因此 npm 安装后可以从 ~/.dsh/profiles/web/node_modules/dsh-usage-plugin 运行它。

其他方式

- 从 GitHub 安装:dsh plugin --profile web add github:lurejewel/dsh-usage-plugin
- 从发布 tarball 安装:dsh plugin --profile web add https://github.com/lurejewel/dsh-usage-plugin/archive/refs/tags/v0.1.3.tar.gz
- 从本地检出安装(开发):在此仓库内运行同一命令。给路径加引号:dsh plugin 会通过 shell 将其参数转发给 pnpm 而不加引号,因此包含空格的未加引号路径会被拆分成多个包规格——D:\Software\DeepSeek Harness\dsh-usage-plugin 会变成 link:D:/Software/DeepSeek 外加一个幽灵依赖 Harness\dsh-usage-plugin,并且该插件会从 dsh.profile.bundles 中被丢弃:

dsh plugin --profile web add '"D:\Software\DeepSeek Harness\dsh-usage-plugin"'

scripts/install-local.ps1 正是这样做的。

- 在较旧环境上手动挂载:将下面这一行添加到 ~/.dsh/profiles/web/cordis.patch.yml,然后重启:

- insert:
- id: dsh-usage-plugin
name: dsh-usage-plugin

卸载

dsh plugin --profile web remove dsh-usage-plugin

然后重启 dsh web。

工作原理

一个包,两半,作为普通 Cordis 插件挂载:

lib/index.js 宿主半:DSH Web 服务器上的同源 HTTP 路由 lib/client.js 浏览器半:提供给 Web GUI 的 __ModuleLoader__ 包 lib/usage-history.js 会话日志读取器(zstd 帧扫描 + 每步去重 + 按日聚合)

- GET /api/dsh-usage/balance — 实时官方余额(服务端调用,密钥从不离开服务器)。
- GET /api/dsh-usage/stats?days=N — 余额 + 使用历史;N 默认为 7,限制在 1–90 之间。

值得了解的实现说明:

- DSH 会话日志(session..jsonl.zstd)是多个串联的 zstd 帧(每个持久化批次一帧);读取器逐帧扫描,而不是假定只有单帧。一个损坏的帧只会损失它自己的行。
- 会话产物是带版本号的格式代际——session.jsonl.zstd 是已发布的 v0 根文件,session.vN.jsonl.zstd 是更晚的一代,而 DSH 始终写入并读取会话目录中存在的最高代际。因此,读取器会为每个会话选择最高的规范代际(绝不只读普通的 v0 文件,也绝不每个会话读取超过一个文件):较低代际会在该会话的迁移点停止,而读取其中两个会导致重复计数。
- assistant/message 和 assistant/chunk 事件会为相同的 (turn, step) 报告相同的用量数字;读取器按 (turn, step) 去重,因此总数不会被重复计数。
- API 密钥通过 DSH 的 credentials 服务解析——与 DeepSeek 提供程序使用的来源相同。浏览器中不存储任何内容;所有调用均为同源。
- 两条路由都继承 DSH 的浏览器信任围栏,并且在 dsh >= 0.1.5 上,客户端包作为 shell 的单个组合 /plugins/??… 请求的一部分交付,而不是按包 URL 交付。两者都不会改变浏览器半:它在已认证的页面内运行。

隐私与安全
- 余额调用从你的服务器发往 api.deepseek.com;API 密钥绝不会进入浏览器。
- 该面板只读取 $DSH_HOME/sessions 下你自己的会话日志。
- 无遥测,无第三方网络调用。

开发

npm test # 单元测试(帧扫描 / 解码 / 去重 / 30 天窗口)
npm run test:client-boot # 在 Node 中针对 mock slots 启动真实客户端 bundle
npm run test:standalone # 进程内 E2E:真实 cordis + 真实 API + 真实日志
(需要本地安装 DSH,且 @deepseek-ai 包可在 $DSH_HOME/profiles/node_modules 访问,需要 DEEPSEEK_API_KEY 凭据,以及会话日志)
npm run verify -- 3080 # 重启后针对运行中的 dsh web 进行检查

lib/ 是发布产物,同时也兼作可读源码(纯 ESM,带文档)。

Windows 辅助脚本(可选)

- scripts/install-local.ps1 — 一键本地安装,以 link: 指向本仓库(为 dsh plugin 的 shell 跳转对路径加引号)。
- scripts/restart-web.ps1 — 重启 dsh web,从服务器日志中读取带令牌的 URL,然后运行验证。
- scripts/verify-install.mjs — 重启后检查:令牌交换、stats/balance 路由、物化的客户端行、合并后的 bundle 内容。在 dsh >= 0.1.5 上需要 。

两个 .ps1 辅助脚本仅存在于 git 检出中;verify-install.mjs 也会发布在 npm 包中。

许可证

MIT
预览分享卡片长什么样 ↓lurejewel/dsh-usage-plugin
分享 · DeepSeek Harness Hub
lurejewel/dsh-usage-plugin

在侧边栏查看余额与 token 用量趋势

这是你的仓库?认领条目

回到顶部