跳到主内容

dsh-usage-stats 使用指南

为 DSH 网页端提供多供应商账户余额、Token Plan 额度与每日 Token 用量热图,统一展示在侧边栏浮层面板里。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-usage-stats

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add @ychris12138/dsh-usage-stats

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • catalog/catalog-source.json — 来源 manifest(catalog-source.schema.json v1.0.0)
  • catalog/v1/plugins.json — 标准 provider page(catalog-provider-page.schema.json v1.0.0)
    • id: usage-stats
  • Resolve DSH_HOME from the environment; otherwise use ~/.dsh.
  • Do not read, print, edit, or request .credentials.yaml, auth.json, cookies, or any API key.

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

安装后侧边栏没看到"用量/余额"入口怎么办?

安装后必须重启 dsh web,插件的服务端路由与客户端 bundle 都在启动时挂载;只刷新浏览器不会重新装载插件。需要硬刷新才能加载新的客户端模块。安装器在 cordis.patch.yml 写入一条 - insert: id: usage-stats, name: dsh-usage-stats,重复运行不会重复追加(README.md:31-36 / scripts/install.mjs:79-84)。

不配置 Key 能用吗?能看到什么?

Token 用量热图与缓存命中率无需任何凭据,会自动汇总所有会话。没有公开余额端点的 provider 在账户卡片显示"不支持",不会乱猜;缺 Key 的 provider 显示"未配置"。OpenRouter 是例外:官方账户 credits 必须用独立的 OPENROUTER_MANAGEMENT_KEY,插件不会拿普通推理 Key 去试探(README.md:74-90 / lib/balance.js:21-37)。

数据存在哪里?会不会上传?

服务端缓存只保存聚合后的 Token 数、会话 id、不透明 revision 与折叠游标,写入 $DSH_HOME/storages/usage-stats-cache.json,采用临时文件 + 原子重命名;API Key、Cookie、管理 PAT 与上游原始响应永远不会进入浏览器响应、缓存或日志(README.md:265-270 / lib/index.js:229-242)。

能接入自己的私有供应商吗?

可以,使用 declarative adapter:在 cordis.patch.yml 的 monitors.<providerId> 下配置 request.path(HTTPS 同源相对路径,body 上限 1 MiB)、request.auth.type(bearer/raw/x-api-key)、extract.*(JSON Pointer)。仅执行受限 GET + JSON,不执行 JavaScript;凭据只能通过 credential 引用注入,不能把 Key 写在 URL 里(README.md:179-199 / lib/accounts.js:189-234)。

OpenCode Go 额度突然不可用怎么办?

OpenCode Go 的 Bearer usage 端点不是官方公开 API,上游可能随时调整结构,接口变化时面板会显示具体错误信息。可在 monitors.opencode-go 下显式设置 adapter: opencode-go、credentialRef: OPENCODE_GO_API_KEY,或回退到 OPENCODE_GO_AUTH_COOKIE + OPENCODE_GO_WORKSPACE_ID 的 cookie 方案。不想用时直接在 Cordis entry 里删掉对应 monitor(README.md:127 / lib/subscriptions.js:8-22)。

反向代理能否暴露到公网?

五个端点仅校验回环 socket 与 Host header,不做身份认证;如果挂在反代后面会让插件看到代理自己的回环地址,等同绕过安全边界。README 与 SECURITY.md 都明确"不要把端点经反向代理暴露到局域网或公网;确需代理时必须在代理层增加可靠认证与访问控制"(README.md:272 / SECURITY.md:13-15)。

如何卸载?

dsh plugin --profile web remove dsh-usage-stats 重启 dsh web 即可;缓存文件 ~/.dsh/storages/usage-stats-cache.json 留在磁盘上,需要时手动删除(README.md:37-42)。

余额异常 / 显示"未配置"是什么原因?

余额/Token Plan 走对应 provider profile 的凭据引用:DeepSeek 用 DEEPSEEK_API_KEY、OpenRouter 用 OPENROUTER_MANAGEMENT_KEY、Z.ai/Kimi/MiniMax 各有独立 Key。检查 ~/.dsh/.credentials.yaml 里这些变量是否存在,且安装器不会自动创建或修改这个文件(README.md:91-130 / lib/accounts.js:14)。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: >=0.1.0-rc.6
  • Node: 未声明
  • Platforms: 跨平台

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则