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

API 余额挂件 AdaJyao/dsh-api-balance

DeepSeek Harnessv1.2.1
AdaJyao53 天前有提交已提供中文文档扫描:含敏感能力

悬浮显示 DeepSeek API 账户余额与明细

30.3/100
综合分
1
GitHub 星标
561
npm 周下载
—/5
用户评分

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · model
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/10/28·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 53 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

✓npm 包dsh-api-balance @ 1.2.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 04:11:28

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    index.js:49
    const raw = fs.readFileSync(STATS_FILE, 'utf8');
  • 写入本地文件
    index.js:78
    fs.mkdirSync(path.dirname(STATS_FILE), { recursive: true });
  • 写入本地文件
    index.js:79
    fs.writeFileSync(STATS_FILE, JSON.stringify(stats, null, 2));
  • 请求外部主机api.deepseek.com
    index.js:216
    const upstream = await fetch('https://api.deepseek.com/user/balance', {
  • 发起网络请求
    index.js:216
    const upstream = await fetch('https://api.deepseek.com/user/balance', {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
涉及外部主机:api.deepseek.com

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 悬浮显示账户余额
  • 查看余额明细
  • 只读展示

只读展示 DeepSeek API 账户余额的 DSH 插件:右下角悬浮挂件 + 设置页,查询节奏与官方更新节奏一致

v0.1.02026-09-11
只读展示 DeepSeek API 账户余额的 DSH 插件首发版本。 · 功能 · 悬浮挂件(shell.overlay):右下角 🐳 ¥52.14,可拖到屏幕任意位置,单击展开明细(赠金 / 充值 / 账户状态 / 更新于) · 设置页(settings.section):一级导航里的中文名条目「API 余额」,展示余额、币种、查询节奏、数据接口与凭据来源 · 只读:没有任何充值、扣费或写操作,也不修改账户设置 · 设计要点 · 查询节奏与官方更新节奏一致:对官方 /user/balance 的调用不快于每 5 分钟一次,失败也计入该节奏;界面每 60 秒只重读 Host 缓存(本地 HTTP,不产生官方调用)。刷新页面、多开标签都不会额外打到官方接口。 · 「最近一次尝试」与「最近一次成功读数」分开保存:失败时沿用上次成功读数并标黄,而不是把值丢光;成功则如实更新。 · API Key 不落地:由 Host 的 credentials 服务解析,经 stdin 交给 curl -K - 的配置解析器 —— 不进 argv、不进子进程环境、不写文件、不下发到浏览器。 · 安装 下载本 Release 的 dsh-api-balance-0.1.0.tgz,按仓库 README「从源码安装(通用步骤)」第 3 步生成 spec.json,交给部署自带的插件安装器落盘后重启 DSH。 要求 DSH 内核 >= 0.1.1-rc.1。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-api-balance(已并入 dsh-plugins 仓库) ⚠️ 这个仓库不再单独更新。插件已并入综合仓库 AdaJyao/dsh-plugins 的 packages/dsh-api-balance (当前版本 0.1.1),预打包 tgz 在 releases。 后续新插件也都加在那个仓库里。本仓库保留作为历史入口。 只读展示 DeepSeek API 账户余额的 DSH 插件:悬浮挂件 +「设置 → API 余额」页面。 它做什么 - 悬浮挂件(shell.overlay):🐳 ¥52.14。默认贴在聊天区左侧、约窗口高度 1/3 处(侧栏右缘 +16px;侧栏宽度在挂载时实测,拖动过侧栏也不会错位)。可拖到屏幕任意位置,单击展开明细(赠金 / 充值 / 账户状态 / 更新于)。鼠标悬停显示完整 tooltip。 - 设置页(settings.section):一级导航里的中文名条目「API 余额」,展示余额、币种、查询节奏、数据接口与凭据来源。 - 只读:没有任何充值、扣费或写操作,也不修改账户设置。 三条设计约束 1. 查询节奏与官方更新节奏一致:对官方 /user/balance 的调用不快于每 5 分钟一次,且失败也计入该节奏(按 attemptAt 判定)。刷新页面、多开标签、多个界面同时轮询都不会额外打到官方接口。
展开完整文档(README 剩余 1 节)
dsh-api-balance(已并入 dsh-plugins 仓库)

⚠️ 这个仓库不再单独更新。插件已并入综合仓库 AdaJyao/dsh-plugins 的 packages/dsh-api-balance (当前版本 0.1.1),预打包 tgz 在 releases。
后续新插件也都加在那个仓库里。本仓库保留作为历史入口。

只读展示 DeepSeek API 账户余额的 DSH 插件:悬浮挂件 +「设置 → API 余额」页面。

它做什么

- 悬浮挂件(shell.overlay):🐳 ¥52.14。默认贴在聊天区左侧、约窗口高度 1/3 处(侧栏右缘 +16px;侧栏宽度在挂载时实测,拖动过侧栏也不会错位)。可拖到屏幕任意位置,单击展开明细(赠金 / 充值 / 账户状态 / 更新于)。鼠标悬停显示完整 tooltip。
- 设置页(settings.section):一级导航里的中文名条目「API 余额」,展示余额、币种、查询节奏、数据接口与凭据来源。
- 只读:没有任何充值、扣费或写操作,也不修改账户设置。

三条设计约束

1. 查询节奏与官方更新节奏一致:对官方 /user/balance 的调用不快于每 5 分钟一次,且失败也计入该节奏(按 attemptAt 判定)。刷新页面、多开标签、多个界面同时轮询都不会额外打到官方接口。界面每 60 秒只重读 Host 缓存(本地 HTTP,不产生官方调用)。
2. 状态模型区分「尝试」与「成功读数」:lastAttempt 决定展示形态(fresh / stale / error)与限速,lastSuccess 是失败时唯一能拿出来的事实。二者混用会导致「成功一次反而丢掉新值」,因此刻意分开。连续失败时界面保留上次成功读数并标黄,而不是把值丢光。
3. 密钥不落地:API Key 由 Host 的 credentials 服务解析(DEEPSEEK_API_KEY),经 stdin 交给 curl -K - 的配置解析器 —— 不进 argv(ps 看不到)、不进子进程环境、不写文件、不下发到浏览器。

结构

| 文件 | 作用 |
| lib/index.js | Host 半边:读凭据、调官方接口、限速缓存,经 webServer 路由 /_dsh/api-balance/balance 暴露给浏览器 |
| client/index.js | Client 半边源码(CJS 模块体,无 JSX) |
| client/build.mjs | 零依赖构建:套 __ModuleLoader__ 装载外壳 → client/dist/index.js |
| client/dist/index.js | 实际被浏览器加载的 bundle(构建产物) |
| cordis.patch.yml | composition 行:把本插件 insert 进 profile |

路由为什么挂在 /_dsh/ 下

静态插件没有 harness / host 全局,Host↔Client 走 webServer HTTP 路由。

当 DSH 部署在门户或反向代理之后时(例如某些 NAS 应用门户),网关通常只转发一组固定的路径前缀,而 /_dsh/ 是其中常见的既有前缀之一。把路由挂在这个前缀下,可以让它在直连端口与门户路径两种访问方式下都可达,从而不必修改网关配置 —— 这也是选择它的唯一理由;若你的部署没有网关,任何前缀都一样。

构建

node client/build.mjs # 产出 client/dist/index.js
node --check client/dist/index.js # 语法自检

自检:挂件默认位置

默认位置 = 实测侧栏宽度 + 16px(横向贴住聊天区左缘)× 窗口高度 × 33%(纵向约三分之一处)。
侧栏宽度在挂载时实测,所以用户拖动过侧栏也不会错位;量不到时回退 280px。

参数: [侧栏宽度=280] [窗口高度=1000]
node test/widget-position.mjs client/dist/index.js 296 330
node test/widget-position.mjs client/dist/index.js 256 264 240 800

该测试用可重渲染的迷你 React + 假 DOM 把真实组件跑起来,断言最终落到根节点上的 style.left / style.top(并断言不再使用 right/bottom 锚定、测量完成后不再是隐藏态)。

安装

方式一:用预打包 Release(推荐)

从 Releases 下载与当前版本一致的 dsh-api-balance-0.1.1.tgz(sha256sum 可与 Release 说明核对),然后直接跳到下面「方式二」的第 3 步生成 spec.json。省掉构建与打包两步;若 Release 还没更新到该版本,请走方式二自行打包。

方式二:从源码自己打包

本仓库不含预打包的 .tgz,也不含带绝对路径的本地 spec.json(两者都在 .gitignore 内)。

1. 构建客户端 bundle
node client/build.mjs

2. 打成 npm 风格 tarball —— 必须单顶层目录 package/
rm -rf /tmp/pack && mkdir -p /tmp/pack/package
cp -r package.json cordis.patch.yml README.md LICENSE lib client /tmp/pack/package/
tar czf dsh-api-balance-0.1.1.tgz -C /tmp/pack package
sha256sum dsh-api-balance-0.1.1.tgz
3. 照 spec.example.json 生成 spec.json(填 tgz 绝对路径与 sha256),交给部署自带的插件安装器落盘 —— 商店条目 + 实体 + profile symlink + bundles + plugin-state,然后重启 DSH。

安装器要求:tarball 单顶层目录;package.json 必须声明 dsh.bundle.patch。

HTTP 接口

POST /_dsh/api-balance/balance(请求体可省略) json { "ok": true, "data": { "ok": true, "at": 1757600000000, "attemptAt": 1757600000000, "stale": false, "error": null, "intervalMs": 300000, "isAvailable": true, "currency": "CNY", "totalBalance": "52.14", "grantedBalance": "0.00", "toppedUpBalance": "52.14", "keySource": "file" } }

data.ok=false 表示本次查询失败:带 stale: true 时数据字段是上次成功读数,不带则是从未成功过。

卸载

市场 UI 卸载,或删除 profile bundles / plugin-state.json 条目 / 实体目录后重启。
预览分享卡片长什么样 ↓AdaJyao/dsh-api-balance
分享 · DeepSeek Harness Hub
AdaJyao/dsh-api-balance

悬浮显示 DeepSeek API 账户余额与明细

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部