cn-scuo-oo / dsh-deepseek-quota

Listed

DeepSeek Harness Web 侧边栏 DeepSeek API 额度卡片 + 充值面板插件 | Sidebar quota card & recharge panel for DeepSeek Harness: real-time official /user/balance (60s auto-refresh), recharge tiers/payment methods matching the official site, official top-up QR, API key stays in Host. One-command install: bash install.sh

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:cn-scuo-oo/dsh-deepseek-quota

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 3c114faSynced Aug 18, 2026

dsh-deepseek-quota

DeepSeek Harness Web 侧边栏的 DeepSeek API 剩余额度卡片 + 充值面板 插件。 实时展示官方余额(总余额 / 充值构成 / 赠送余额 / 期间已用 / 更新时间),每 60 秒自动刷新; 卡片内提供「充值」入口,弹出居中充值面板(金额档位与支付方式与 DeepSeek 官网一致), 扫码打开官方充值页完成支付。数据来自 DeepSeek 官方 /user/balance 接口,API Key 全程不出 Host 进程。

MIT License Node 18+ Release v1.0.0


目录


功能特性

#能力实现
1实时余额展示对接 DeepSeek 官方 GET /user/balance,展示总余额、充值/赠送构成、期间已用、更新时间
2自动刷新每 60 秒自动刷新 + 手动刷新按钮;刷新失败保留旧值(stale-while-error)
3低余额警示余额 ≤ 0 时主数字变红;侧边栏收起态显示 !
4充值入口卡片头部「充值」按钮 → 居中充值面板(金额档位/支付方式与官网一致)
5官方支付二维码面板生成官方充值页二维码(https://platform.deepseek.com/top_up)供扫码支付
6密钥安全API Key 只在 Host 进程内使用,浏览器侧经同源路由取数,Key 不落浏览器
7视觉一致复用侧边栏「设置」同源设计令牌(字体/颜色/间距/圆角/悬停态),宽度像素级对齐
8宽/窄自适应侧边栏展开显示完整卡片,收起退化为 32px 圆形按钮,点击展开侧边栏

适用平台

要求
宿主DeepSeek Harness Web(桌面端 / Web profile)
运行环境Node 18+(DSH 内嵌 Node 或系统 Node 均可)
操作系统Windows(Git Bash / WSL)/ macOS / Linux
数据源DeepSeek 官方 GET /user/balance(需有效 DEEPSEEK_API_KEY

安装

方式 A:一键安装(推荐)

git clone https://github.com/cn-scuo-oo/dsh-deepseek-quota.git
cd dsh-deepseek-quota
bash install.sh

脚本自动完成:检测 DSH profile 与 Node 版本(缺失给出修复指引)→ 复制插件文件到 ~/.dsh/profiles/web/vendor/dsh-deepseek-quota/ → 更新 profile package.jsondependencies + bundles 声明)→ 建立 node_modules 符号链接。

安装完成后 重启 DeepSeek Harness(或页面按 Cmd+R 刷新),侧边栏底部「设置」上方即出现额度卡片。

自定义 profile 名 / 卸载:

bash install.sh --profile myprofile     # 安装到指定 profile
bash install.sh --uninstall             # 卸载(移除文件、声明与符号链接)

方式 B:手动安装(等价)

  1. lib/package.jsoncordis.patch.yml 复制到 ~/.dsh/profiles/web/vendor/dsh-deepseek-quota/
  2. 编辑 ~/.dsh/profiles/web/package.json
    • dependencies 增加 "dsh-deepseek-quota": "file:./vendor/dsh-deepseek-quota"
    • dsh.profile.bundles 追加 "dsh-deepseek-quota"
  3. 建立符号链接:ln -s "$PWD/vendor/dsh-deepseek-quota" ~/.dsh/profiles/web/node_modules/dsh-deepseek-quota
  4. 重启 DSH。

配置 API Key

无需编辑任何配置文件。在 DSH 应用内:

设置 → 模型 → 填入 DEEPSEEK_API_KEY(与调用 DeepSeek 模型的 Key 是同一把)

插件经 DSH 的凭据服务(~/.dsh/.credentials.yaml)读取,Key 只在 Host 进程内使用, 通过同源只读路由 GET /dsh-quota/balance 把归一化后的余额数据交给浏览器, API Key 永远不进入浏览器 / 前端代码 / 命令字符串

高级:可用环境变量 DEEPSEEK_BASE_URL 覆盖官方接口地址(联调本地 Mock / 公司代理)。

使用指南

  1. 查看额度:侧边栏底部「DeepSeek 额度」卡片显示 ¥余额 大字 + 「充值 X · 赠送 Y」+ 「更新于 HH:MM:SS」;
  2. 刷新:点击卡片右上角刷新图标立即取数(加载中图标旋转);
  3. 充值:点击卡片头部「充值」按钮 → 弹出居中面板:
    • 选择金额(¥10/20/50/100/300/500 或自定义,美元账户自动切换 $ 档位);
    • 选择支付方式(支付宝 / 微信 / 银行卡,与官网一致);
    • 点击「去支付」→ 中央展示官方充值页二维码 + 金额/方式摘要;
    • 手机扫码打开 DeepSeek 官方充值页完成支付,或点「在浏览器中打开官方充值页」直达;
  4. 充值到账后:回到侧边栏点击刷新图标(或等 60 秒自动刷新)即可看到最新余额。

充值说明(重要)

如实说明:DeepSeek 没有公开的「按订单生成支付二维码」API,官方充值页也禁止内嵌 (content-security-policy: frame-ancestors 'none')。真正的按订单官方支付码只能在登录 平台后于官网生成。因此本插件面板展示的是官方充值入口二维码——即官网自己复制的 「充值链接」同一个地址(https://platform.deepseek.com/top_up):

  • 扫码后在手机端打开本人账号的官方充值页,按面板已选金额与支付方式完成支付;
  • 面板提供金额/方式摘要与提示文案,避免误扫错金额;
  • 支付完成后回到应用点击刷新,官方 GET /user/balance 立即返回最新余额。

安全合规:本插件只对接 DeepSeek 官方公开 API 与官方充值页,不涉及任何爬虫、 绕过官方计费或代收资金逻辑。

演示截图

截图来自真实运行实例(开发验证环境)。

侧边栏额度卡片(展开态)卡片区域放大侧边栏底部(充值入口 + 设置对齐)
01-sidebar02-zoom05-footer
充值面板(金额档位 + 支付方式)二维码视图(扫码支付,二维码已打码)
03-panel-form04-panel-qr

项目结构

dsh-deepseek-quota/
├── lib/
│   ├── index.js          # Host 半:凭据解析 → 官方余额接口 → 同源路由 /dsh-quota/balance
│   └── client.js         # Client 半:侧边栏卡片 + 充值面板 + 内联 QR 编码器
├── package.json          # 插件清单(入口 / dsh bundle / client 注入声明)
├── cordis.patch.yml      # profile 组合层补丁(以一行插入 bundles)
├── install.sh            # 一键安装脚本(检测 + 复制 + 改写 profile + 符号链接)
├── scripts/
│   └── patch-profile.mjs # install.sh 依赖:安全改写 profile package.json(幂等)
├── tests/
│   └── smoke.test.mjs    # 冒烟测试(模块加载 / Host 路由行为 / 归一化逻辑)
├── docs/
│   └── screenshots/      # 功能截图
├── .env.example  .gitignore
├── README.md  LICENSE  CONTRIBUTING.md  SECURITY.md  CHANGELOG.md
└── .github/              # Issue 模板 + PR 模板

工作原理

浏览器 (Client 半)
  QuotaCard 组件 ──fetch──▶ GET /dsh-quota/balance(同源,无 CORS)
                                      │
                              Host 半 (lib/index.js)
                              1. ctx.credentials.resolve('DEEPSEEK_API_KEY')
                              2. fetch {baseURL}/user/balance  (Bearer, 15s 超时)
                              3. 归一化 → { totalBalance, grantedBalance,
                                            toppedUpBalance, updatedAt, … }
                                      │
                              DeepSeek 官方 API(Key 只在这一层出现)
  • 数据流:官方余额接口 → Host 归一化 → 同源只读路由 → 浏览器卡片;每 60 秒自动刷新;
  • 状态机loading → ready / error;已有数据时刷新失败保留旧值并标注「更新失败」;
  • 期间已用 = 组件加载以来余额的减少量(官方为预付费余额制,无“总配额/已用”字段,如实映射);
  • 充值面板:注册于 shell.overlay 全屏浮层,居中模态,支持遮罩 / × / Esc 关闭。

常见问题

Q:卡片不显示 / 一直转圈? 先确认已在 设置 → 模型 填入 DEEPSEEK_API_KEY;然后看页面控制台是否有 GET /dsh-quota/balance 报错。插件默认挂在侧边栏底部「设置」上方,收起态是 32px 圆形按钮。

Q:提示「未配置 DEEPSEEK_API_KEY」? 在 设置 → 模型 中填写并保存后,点击卡片刷新按钮即可;无需重启。

Q:余额显示不准 / 是负数? 余额来自官方 GET /user/balance,为账户实时值(同一 Key 所有客户端合计)。面板中的 「期间已用」是从组件加载起的余额差分,不是账户历史总消耗。

Q:充值后余额没变? 官方到账可能有秒级延迟;回到应用点击刷新图标,或等 60 秒自动刷新。若仍不变,确认充值与 API Key 属于同一平台账号

Q:安装脚本报错? 按脚本提示操作:未检测到 DSH 时先运行一次 DeepSeek Harness 生成 ~/.dsh;profile 名不同时用 --profile 指定;Node 过旧按提示升级。

开发与测试

# 语法检查
node --check lib/index.js
node --check lib/client.js

# 冒烟测试(模块加载 / Host 路由行为 / 余额归一化)
node --test tests/smoke.test.mjs

# 端到端测试(模拟他人从零安装 → 启动 → 取数,覆盖成功/无Key/无效Key/超时)
node scripts/mock-deepseek.mjs &          # 本地 mock 上游(:8899,无真实 Key 也能联调)
node --test tests/e2e-install-test.mjs    # 会临时创建干净 DSH_HOME 执行 install.sh

无真实 Key 联调DEEPSEEK_BASE_URL=http://127.0.0.1:8899 时插件会走本地 mock 上游, 可完整体验「余额展示 → 刷新 → 充值面板 → 二维码」全流程,无需任何真实凭据。

我如何确认「别人装上就能用」?

安装后按此清单快速自检(1 分钟):

  1. 安装成功bash install.sh 输出 安装完成,且 ~/.dsh/profiles/web/package.jsondependenciesdsh.profile.bundles 中均出现 dsh-deepseek-quota
  2. 重启 DSH(或页面 Cmd+R),侧边栏底部「设置」上方出现额度卡片(收起态为 32px 圆形 ¥ 按钮);
  3. 配置 Key:设置 → 模型 → 填入 DEEPSEEK_API_KEY(与调用模型的 Key 同一把);
  4. 看到余额:卡片显示 ¥XX.XX 大字 + 「充值 ¥X · 赠送 ¥X」+「更新于 HH:MM:SS」;
  5. 刷新:点右上角刷新图标立即更新;充值:点「充值」弹出面板,选金额/支付方式 → 「去支付」出二维码;
  6. 无 Key 联调node scripts/mock-deepseek.mjs + DEEPSEEK_BASE_URL=http://127.0.0.1:8899 启动,无需真实凭据即可跑通全流程(CI 的端到端测试即按此路径验证)。

常见问题与排查见下方「常见问题」;测试全绿(冒烟 6 例 + 端到端 5 例)是发布的硬性门槛。

许可证与贡献

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
Security policyDetected
Contributing guideDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v1.0.0
Last updated
Aug 15, 2026, 6:05 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.