All plugins

DSH / BUNDLE / CLIENT-UI

api-monitor

v0.2.0jcleener / api-monitorb510f9651f

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

api-monitor

常驻 API 用量监控:DeepSeek/GLM Coding Plan/OpenCode Go/火山 Coding+Agent Plan 余额与配额,会话树 token 与花费(侧边栏入口 + 独立浮动窗)。

README / EN

Package documentation

Registry summary

常驻 API 用量监控:DeepSeek/GLM Coding Plan/OpenCode Go/火山 Coding+Agent Plan 余额与配额,会话树 token 与花费(侧边栏入口 + 独立浮动窗)。

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **声明依赖与实际 require 不一致**:`package.json` 的 `dsh.client.inject` 声明了 `@deepseek-ai/dsh-client-locale`、`@deepseek-ai/dsh-client-runtime`、 `@deepseek-ai/dsh-client-ui-primitives` 三项,但 `lib/client.js` 只 `require("react")`; 它也没有注册 locale 字典,面板文案(「key配置」「读取套餐」「显示在入口」等)是硬编码中文。 - **面板底部时间文案与实现不符**:浮动窗固定显示「每 60s 自动刷新」, 而客户端实际是 8000 ms 轮询、宿主定时器取决于 `pollIntervalSeconds`(下限 20 秒)。 - **`volcesTier` 是死配置**:可在面板下拉选择并持久化,但宿主从未把它用于请求或解析。 - **`showResetTime` 无人消费**:schema 与 `/config`、snapshot 都会带出,客户端不读。配额的重置时间 在宿主 `parseQuotaRows` 里读成了 `reset`,但未进入对外快照。 - **`qwen` 区块没有对应的宿主轮询**:`entryVisibility.qwen` 只控制侧边栏是否显示, Qwen 数据来自会话桶(token / 调用次数),额度行在客户端写死为「接口不可查」并给一个外部控制台链接。 因此 `state` 里只有 5 个供应商条目,而可见性键有 6 个。 - **`pollIntervalSeconds` 只在 apply 时生效**(`Math.max(20, ...)`),改小/改大都要重启插件; 客户端快照轮询 8 秒也是写死的。 - **硬编码内容**:官方定价页 URL `https://api-docs.deepseek.com/zh-cn/quick_start/pricing`、 内置价目表(注释标注按 2026-09-11 官方定价页校准,含峰谷两档)、 OpenCode 请求使用的伪造 Chrome User-Agent、火山签名固定 `open.volcengineapi.com` 与 `cn-beijing` / `ark`。 - **依赖 DSH 内部 CSS 类名**:客户端 CSS 里有一条 `.hHd-Xa_root:not(.hHd-Xa_collapsed) .hHd-Xa_footerActions{...}` —— 直接绑定侧边栏的哈希类名, 壳层类名一变,竖排布局就会失效(功能不崩,只影响排版)。 - **会话来源归因需要 `source.provider`**:没有路由信息的事件只进总量、不进来源桶, 所以「各来源相加 ≤ 总览总量」是预期行为。 - 宿主每轮轮询都用 `catch` 吞掉异常并写 `entry.error`(如「未配置」「HTTP 401」「接口错误」), 面板只显示这一句短文案,日志里没有逐次堆栈(价格抓取失败会 `console.warn`)。