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

余额指示器 jeremytenjo/dsh-plugin-balance-indicator

DeepSeek Harness
jeremytenjo7 天前有提交已提供中文文档扫描:未发现敏感能力

在侧边栏实时查看账户剩余余额与赠送额度

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add jeremytenjo/dsh-plugin-balance-indicator
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
  • 请求外部主机platform.deepseek.com
    client.js:7
    var Xe=Object.create;var L=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var rt=Object.getPrototypeOf
  • 发起网络请求
    client.js:7
    var Xe=Object.create;var L=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var rt=Object.getPrototypeOf
  • 发起网络请求
    client.js:107
    `)}async function It(e,t,r){let s=new URL(St,window.location.origin);s.searchParams.set("locale",Ye(r)),s.searchParams.set("tz",String(Je()));let i=Ft
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:platform.deepseek.com

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DeepSeek Harness 的输入框状态栏显示 DeepSeek Platform 剩余余额。

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness 的 DeepSeek 余额 在左侧边栏底部、账户那一行上方,显示 DeepSeek Platform 还剩多少余额。 徽标从你登录的 DeepSeek 账户读取余额,显示为 ¥12.34 / $12.34,每 60 秒刷新一次,窗口重新获得焦点时也会刷新;点击徽标会打开 platform.deepseek.com/usage。金额旁边的刷新按钮可以立即强制读取一次。鼠标悬停时显示赠送额度、按币种拆分的明细和上次刷新时间。 功能 - 一眼看到剩余余额:位于左侧边栏底部,紧挨账户和 Plugins 控件。 - 赠送额度与付费余额分开显示:赠送额度列在提示框里,不会悄悄加到余额上。 - 刷新足够及时:一个 TanStack Query 缓存条目会在挂载时、每 60 秒、窗口重新获得焦点或网络重连时刷新;Host 侧用 20 秒缓存合并请求。 - 手动刷新:金额旁的刷新按钮绕过 Host 缓存,读取期间按钮旋转,绝不会误打开用量页面。 - 点击直达用量页:用账户自带的 usageUrl 打开 Platform 用量页面。 - 状态如实显示:没有连接 DeepSeek 账户时显示 Sign in,查询失败时显示 Unavailable(点击重试),不会伪造零余额。 - 英文和中文界面,跟随 Harness 的语言设置。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 的 DeepSeek 余额

在左侧边栏底部、账户那一行上方,显示 DeepSeek Platform 还剩多少余额。

徽标从你登录的 DeepSeek 账户读取余额,显示为 ¥12.34 / $12.34,每 60 秒刷新一次,窗口重新获得焦点时也会刷新;点击徽标会打开 platform.deepseek.com/usage。金额旁边的刷新按钮可以立即强制读取一次。鼠标悬停时显示赠送额度、按币种拆分的明细和上次刷新时间。

功能

- 一眼看到剩余余额:位于左侧边栏底部,紧挨账户和 Plugins 控件。
- 赠送额度与付费余额分开显示:赠送额度列在提示框里,不会悄悄加到余额上。
- 刷新足够及时:一个 TanStack Query 缓存条目会在挂载时、每 60 秒、窗口重新获得焦点或网络重连时刷新;Host 侧用 20 秒缓存合并请求。
- 手动刷新:金额旁的刷新按钮绕过 Host 缓存,读取期间按钮旋转,绝不会误打开用量页面。
- 点击直达用量页:用账户自带的 usageUrl 打开 Platform 用量页面。
- 状态如实显示:没有连接 DeepSeek 账户时显示 Sign in,查询失败时显示 Unavailable(点击重试),不会伪造零余额。
- 英文和中文界面,跟随 Harness 的语言设置。
- 浏览器里不碰密钥:路由只返回钱包金额和链接。

要求

- DeepSeek Harness 0.2.1-rc.2(本插件就是针对这个版本构建的)。
- 通过 Harness Settings → Account 登录的 DeepSeek 账户。余额来自 Platform 账户会话;只用 API key 的配置没有余额可读。
- Harness Host 能访问 platform.deepseek.com。

安装

git clone https://github.com/jeremytenjo/dsh-plugin-balance-indicator.git
dsh plugin --profile desktop add ./dsh-plugin-balance-indicator

重启 Host 或重新加载页面,然后启动或打开一个会话。徽标会出现在左侧边栏底部、账户那一行上方。把 desktop 换成 dsh --profile <name> --dump-config 显示的配置档名称。

也可以手动安装:把包目录以 link: 形式加到配置档的 dependencies,再加到 dsh.profile.bundles,然后运行该配置档的包安装。优先用插件命令,这些文件由它管理。

用法

| 状态 | 底部徽标 | 点击徽标 |
| 已登录,余额已加载 | ¥12.34 | 打开 Platform 用量页面 |
| 余额含赠送额度 | ¥12.34(悬停查看赠送明细) | 打开 Platform 用量页面 |
| 未登录 | Sign in | — |
| 查询失败 | Unavailable | 重试 |
| 首次加载 | Balance… | — |
刷新按钮就在金额旁边,任何状态下都能用。它会向 Host 发起一次强制读取(refresh=1,绕过 20 秒缓存),读取期间按钮转圈,并把屏幕阅读器读到的标签从「Refresh balance」改成「Refreshing balance…」。如果已有轮询正在进行,点击刷新会取消它,改用强制读取重新开始,所以按钮绝不会返回过期的缓存金额。

鼠标悬停在徽章上,会显示每个钱包币种、余额为正的赠送钱包、上次成功刷新的时间,以及点击提示。

徽章沿用侧边栏页脚自己的 42px 操作行、圆角和主题 token,因此无需配置就能自动适配浅色和深色主题。侧边栏页脚只有一行,与内置的 Plugins 启动器共用:余额和刷新按钮只占内容宽度,排在最前面;侧边栏折叠成 56px 窄栏时它们隐藏(展开后缓存余额立刻重新出现)。

工作原理

client.js ── GET /__dsh/deepseek-balance ──▶ index.js
│
├─ ctx.deepseekAccount.getState()
└─ ctx.deepseekAccount.getBalance(client)
│
▼
platform.deepseek.com

index.js 是 Host 那一半。它注册一条精确的 loopback 路由,调用 Harness 账户服务,该服务已经持有 Platform 凭据和 /api/v0/users/get_user_summary 查询。插件从不读取凭据存储,从不记录 token,只返回:

{
"ok": true,
"status": "ready",
"wallets": [{ "currency": "CNY", "balance": "12.34" }],
"bonusWallets": [{ "currency": "CNY", "balance": "2.00" }],
"links": {
"usageUrl": "https://platform.deepseek.com/usage",
"topUpUrl": "https://platform.deepseek.com/top_up"
},
"fetchedAt": 1790000000000
}

这条路由只接受 loopback 请求,拒绝外部 Origin 和跨站 fetch,发送 cache-control: no-store,并限制钱包列表长度和字符串长度。账户查询失败不缓存,重试或下一次轮询就能恢复;成功读取缓存 20 秒,用来合并多个窗口的请求。

client.js 是浏览器那一半。它用包名注册一个懒加载工厂,添加一条 sidebar.footer.action 条目,order 为 -1(排在内置 Plugins 启动器之前),并通过客户端 locale 服务注册英文和中文文案。插槽会传入侧边栏的 wide 标志:徽章只在侧边栏展开时渲染,因为折叠后的 56px 窄栏已经放了 Plugins 启动器。

徽章的状态存在一个 TanStack Query 条目里,以语言和时区为键,数据就是路由响应:
- staleTime: 20s 与 Host 缓存一致,因此只有在该缓存可能已变动后,聚焦触发的重新获取才会再次请求。
- refetchInterval: 60s 在窗口可见时轮询;refetchOnWindowFocus 和 refetchOnReconnect 覆盖间隙时段。
- 点击失败状态会带上路由的 refresh=1 标志调用 refetch();查询自身的重试循环已禁用,因此失败会立即上报,而不是等到退避之后。
- 刷新按钮设置同样的强制标志并调用 refetch()。它在获取期间不会禁用,因此键盘焦点永远不会丢失;取而代之的是图标旋转、无障碍标签变化,并且读取完成后 60 秒间隔重新开始。
- Host 查询失败(status: "failed")的响应会作为数据缓存,而不是作为错误缓存,因此失败状态会立即出现,60 秒轮询会自行恢复。成功加载后的网络错误会保留最后已知的金额可见,而不是替换它。
- QueryClient 按每个启用的插件实例创建,提供给徽章子树,并在插件禁用时于 effect 清理中清除。缓存条目在侧边栏折叠后仍然存在,因此再次展开时会显示最后的金额,同时任何过期的获取仍在运行。

src/client.js 是可编辑的源文件。scripts/build-client.mjs 用 esbuild 将其打包进 client.js,保持 React 为外部依赖,以便页面的共享模块表提供它,并将 TanStack Query 打包进去,因为该表不提供它。不要直接编辑 client.js。

配置

无。Platform 源属于 Harness 账户服务商;此插件跟随它,而不是硬编码 API 主机。用量回退地址是 https://platform.deepseek.com/usage,仅在账户未提供链接时使用。

开发

pnpm install
pnpm run build
node --check index.js
node --check client.js

pnpm install 会带来构建工具链。esbuild 仅用于构建;TanStack Query 被编译进 client.js,而不是作为单独的页面模块加载。pnpm run build 将 src/client.js 打包成模块加载器产物 client.js。编辑 Host 部分或 src/client.js 后,重新加载插件(设置 → 插件 → 禁用/启用)或重启 Host 即可,无需其他操作。locale/*.json 中的语言元数据提供插件管理器的标题、描述和图标。

文件:

- index.js — Host 路由、缓存、账户调用、源检查。
- src/client.js — 侧边栏页脚徽章源文件:查询定义、格式化、刷新控件、工具提示、语言字典。
- scripts/build-client.mjs — 用 __ModuleLoader__ 工厂包装的 esbuild 打包。
- client.js — 生成的浏览器打包文件;不要编辑。
- cordis.patch.yml — 插入 deepseek-balance-indicator 行。
- locale/en.json、locale/zh.json — 插件管理器元数据。
- icon.svg — 原始钱包图标。

安全与隐私

余额通过现有的 Harness 账户会话读取。这个插件不保存凭据,不写 cookie,不做分析,也不发起第三方请求;浏览器只与它自己的回环 Harness 源通信。金额和货币代码会离开 Host,但账户身份、配置档、token 和脱敏后的联系方式不会。

限制

- 必须要有账户会话;只有 API key 的会话会显示 Sign in。
- 只显示 Platform 钱包汇总。按模型的花费和请求历史在用量页面上。
- 有多种货币时,徽标显示与界面语言匹配的货币(中文为 CNY,其他语言为 USD),其余货币列在工具提示里。
- 后台轮询刻意放慢,以免给 Platform API 造成压力;需要精确的当前读数时,用刷新按钮(或用量页面)。
- 徽标位于侧边栏页脚,侧边栏折叠成窄条时隐藏;它需要展开的侧边栏,而不是活跃会话。
- 页脚是与 Plugins 启动器共用的一行,所以侧边栏较窄时,启动器右对齐的运行计数可能被徽标的宽度裁掉。

许可证

MIT © 2026 Jeremy Tenjo
预览分享卡片长什么样 ↓jeremytenjo/dsh-plugin-balance-indicator
分享 · DeepSeek Harness Hub
jeremytenjo/dsh-plugin-balance-indicator

在侧边栏实时查看账户剩余余额与赠送额度

回到顶部