跳到主内容

dsh-balance

23Star2Fork0Issue0Watching

在 DSH Web 端显示 DeepSeek API 余额与可用模型,API 密钥仅由本机 Host 调用,浏览器端不接触密钥。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
dsh-plugindsh-plugins

安装

命令web profile
$ dsh plugin --profile web add @pinkbanana/dsh-balance

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 crazywoola/dsh-balance:先查看仓库 https://github.com/crazywoola/dsh-balance 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

这是一个 DSH 插件,让你在 Web 界面"设置"里查看 DeepSeek API 账户余额(总余额、充值余额、赠送余额)和当前 API Key 可用的模型,并在每个聊天会话的输入框下方长期显示一个小余额指示灯。

核心能力

  • 在 DSH 设置里新增"DeepSeek 余额"专属页面,展示总余额、充值余额、赠送余额,以及"有可用余额 / 无可用余额"状态指示
  • 在每个会话的输入框下方长期挂一个紧凑的余额摘要(按币种列出总额),状态点随可用性变化颜色(绿/灰/红)
  • 高峰时段(北京时间 09:00–12:00、14:00–18:00)聊天框下方的余额指示灯变为橙色,并提示距下一时段切换的时间
  • 列出当前 API Key 可访问的全部 DeepSeek 模型,每条展示模型 ID 和归属方
  • 同源 Host 接口内置 30 秒缓存(可配置),设置页面有手动刷新按钮,请求 URL 加 ?refresh=1 可绕过缓存
  • 默认仅允许 127.0.0.1 / localhost / [::1] 同源访问,API 密钥始终留在本机 Host,浏览器从不接触密钥

技术实现

  • 语言: TypeScript(ESM)
  • 关键依赖: @deepseek-ai/cordis、@deepseek-ai/schemastery、@deepseek-ai/dsh-credentials、@deepseek-ai/dsh-host-webserver、``@deepseek-ai/dsh-client-ui-slots`
  • 架构模式: 典型的 Host/Client 双面插件 — Host 端在 webServer 注册两条 kind: 'exact' 同源路由 /dsh-balance/api/balance 与 /dsh-balance/api/models;Client 端通过 ctx.slots.inject 在 settings.section 注册独立设置面板,在 conversation.composer.dock 注册聊天框余额挂件
  • 入口文件: src/index.ts(Host)+ src/client/index.tsx(Client)

适用场景

在 DSH 中频繁使用 DeepSeek API 时,普通用户希望随时掌握账户余额和可用模型,不必反复登录 DeepSeek 后台查消耗;同时给希望直观判断"现在调用 API 是高峰还是低谷价"的用户提供时段提示。

前置依赖与兼容性

依赖最低版本说明
DSH>=0.1.0-rc.6依赖 cordis ^4.0.1 与 dsh-client-runtime、dsh-client-locale、dsh-credentials、dsh-host-webserver 等 ^0.1.0-rc.6
Node.js>=20engines.node 声明 >=20;Host 端使用原生 fetch 与 AbortSignal.timeout
React^18.2.0peerDependency,客户端组件基于 React 18
平台跨平台仅做 HTTPS 出站与文件常量加载,无原生模块;Host 路由在所有能跑 DSH 的平台上都可工作
原生模块无全部依赖纯 JavaScript
DeepSeek API Key—通过 DSH 凭据服务(DEEPSEEK_API_KEY)解析;可由环境变量或设置 → 模型 提供

安装方式

dsh plugin --profile web add github:crazywoola/dsh-balance

配置项

通过 DSH 配置系统(src/index.ts:14-28 中的 Config Schema)暴露:

配置类型说明默认值
apiKeyRef字符串指向 DSH 凭据服务中保存的 API Key 条目名称DEEPSEEK_API_KEY
baseUrl字符串(URL)DeepSeek API 入口地址;仅允许 HTTPS(127.0.0.1/localhost 走 HTTP 用于本地测试)https://api.deepseek.com
timeoutMs整数(1–60000)余额/模型查询的 HTTP 超时时间(毫秒)10000
cacheMs整数(0–300000)后端 Host 缓存查询结果的时间(毫秒),0 表示不缓存30000
allowRemote布尔是否允许非本机来源访问查询接口;为 false 时仅 127.0.0.1 / localhost / [::1] 可访问false

常见问题

Q: 安装后看不到余额页面怎么办?

A: API Key 是查询余额的前提,需要先在 DSH 设置 → 模型 中保存 DeepSeek API 密钥,或设置环境变量 DEEPSEEK_API_KEY,否则接口会返回 401 MISSING_API_KEY,余额页面会显示"未配置 DeepSeek API 密钥"。

Q: 这个插件会向浏览器泄露 API Key 吗?

A: 不会。API Key 只在本机 Host 端被读取(通过 DSH 凭据服务 ctx.credentials.resolve),浏览器只通过同源接口 /dsh-balance/api/balance 与 /dsh-balance/api/models 拿到余额和模型数据,密钥从不离开本机进程。

Q: 聊天下方的指示灯什么时候会变成橙色?

A: 余额指示灯在北京时间 09:00–12:00 和 14:00–18:00 这两个高峰时段显示为橙色,其他时段为绿色;高峰期 API 价格是低谷的两倍,2026-08-17 起按 DeepSeek 官方峰谷定价生效。

Q: 为什么我的请求被拒 403?

A: 插件默认仅允许本机(127.0.0.1 / localhost / [::1])访问这两个接口,非本机访问会直接返回 403 FORBIDDEN。如果确实需要在同网段其他机器访问,可将配置 allowRemote 设为 true。

Q: 数据多久刷新一次?

A: 聊天框下方的余额指示灯默认 60 秒刷新一次,设置页面点击"刷新"按钮可绕过 30 秒缓存立即拉取;后端 Host 默认 30 秒缓存(cacheMs)。

Q: 余额数字多久会变成最新值?

A: 设置面板与聊天指示灯都遵循同一个 30 秒缓存;点击"刷新"按钮或在请求 URL 后加 ?refresh=1 可绕过缓存立刻拿到最新值。

Q: 支持哪些语言?

A: 原生提供简体中文和英文两套字典,会跟随 DSH 系统语言自动切换;切换逻辑在客户端的 locale 注册处完成。

Q: 如何卸载这个插件?

A: 通过 dsh plugin --profile web remove @pinkbanana/dsh-balance 卸载,插件只在内存中缓存查询结果,不写入任何本地文件或凭据,卸载即彻底清除。

上手难度

入门 — 安装后只要在设置里保存一次 DeepSeek API Key 即可使用,无需手写任何配置文件;想调节缓存、远程访问、API 地址等行为时再配置 Schema 即可。

已知问题与限制

  • 客户端代码保留了 @deprecated 标记的 BalanceTab 与 ModelsTab 导出(src/client/BalanceTab.tsx:94、src/client/ModelsTab.tsx:85),它们原是"插件"标签页下的入口,现已被独立的 DeepSeekPanel(设置里的"DeepSeek 余额"板块)取代;旧入口在 0.4.x 之后的 DSH 版本可能不再渲染
  • timeoutMs 上限为 60 秒、cacheMs 上限为 300 秒(src/index.ts:25-28),不适合需要长轮询或长缓存窗口的场景
  • baseUrl 仅允许 HTTPS,HTTP 仅对 127.0.0.1 / localhost / ::1 三个回环地址放开,用于本地调试;公网 HTTP 端点会直接抛错
  • 高峰/低谷判定(src/client/pricing.ts:14)写死生效时间为 2026-08-17 北京时间零点,DeepSeek 后续若再次调整峰谷时段,需要更新源码中的 PEAK_WINDOWS 数组并重新发布

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/crazywoola/dsh-balance)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录