侧边栏底部的 DeepSeek 钱包余额:信用卡图标配余额数字,按剩余额度着色(≥ ¥2 绿色、¥0–2 黄色、≤ ¥0 红色),挂载时、每轮对话结束和点击时刷新;余额变动时带符号差额上飘淡出。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-balance-plugin
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:luokai-demo/dsh-plugins#path:/plugins/dsh-balance-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
侧边栏底部的 DeepSeek 钱包余额——一个 DeepSeek Harness 插件。
纯 DeepSeek:本插件只针对 DeepSeek 平台——官方 DeepSeek 余额端点与
DEEPSEEK_API_KEY,不支持任何其他平台或服务商。
English | 中文
在侧边栏底部(设置按钮旁)以信用卡图标 + 金额显示你的 DeepSeek 账户余额,并按剩余额度着色。在对话结束时、点击时与挂载时刷新——无轮询。金额变动时,带符号的差额(+¥3.14 / -¥1.97)会从余额旁上飘淡出——每次花费(或充值)都一目了然。

功能
- 状态着色:只有金额带颜色,图标保持中性——
- ≥
lowBalanceThreshold(默认 2):绿色 - 大于零:黄色
- 零或以下:红色
- ≥
- 对话结束自动刷新:宿主在任何对话轮次结束时推送 SSE
refresh事件——消耗随轮次结算。 - 点击刷新;在途刷新去重(查询进行中时点击或轮次结束触发均为 no-op)。
- 差额上飘:金额发生可见变动时,带符号差额上飘淡出——余额上升为绿色、下降为红色。零变动与不足一分钱的变化静默,首次加载不上飘,且尊重系统
prefers-reduced-motion(减弱动态效果时停用动画)。 - 失败静默:凭证未配置或抓取失败时不渲染任何内容——读数仅供参考,绝不显示错误。
- 原始币种:余额按提供方报告显示;不换算、不加总。
安装
需要 DeepSeek Harness 0.1.7 系列(包括 0.1.7-rc.1)以及一个 DeepSeek 账户凭证。包清单会声明这一运行时范围,因此 Harness 插件管理器会在加载前拒绝不兼容的 DSH 版本。插件通过可选的 harness 凭证服务(~/.dsh/.credentials.yaml)或环境变量解析 DEEPSEEK_API_KEY。
从 npm 安装(推荐)
dsh plugin --profile <名字> add dsh-balance-plugin
从 GitHub Release 安装(无需 npm 账号)
从 releases 页面 下载 dsh-balance-plugin-<版本>.tgz,然后:
dsh plugin --profile <名字> add ./dsh-balance-plugin-<版本>.tgz
注意:插件位于 dsh-plugins monorepo 的 plugins/ 子目录,dsh plugin add github:... 无法指向子目录——请使用 tarball(或 npm)。
升级已有安装
通过 npm 安装的版本,在同一个 profile 中升级包,确认 bundle 层仍处于启用状态,然后重启 Web 服务:
dsh plugin --profile <名字> update dsh-balance-plugin
dsh --profile <名字> --dump-config # 应出现 "# == dsh-balance-plugin" 层
# 重启 dsh web,然后硬刷新浏览器
dsh plugin 会转发 pnpm 命令,并在成功升级后重新核对已安装包的 dsh.bundle 声明。GitHub Release tarball 则执行 dsh plugin --profile <名字> add ./dsh-balance-plugin-<版本>.tgz 安装新归档,再进行相同的验证与重启。
配置
插件带合理默认值;可通过 bundle 的插件行覆盖:
# profile 的 cordis.patch.yml(或 home 级)
- id: balance
name: dsh-balance-plugin
config:
apiKeyEnv: DEEPSEEK_API_KEY # 凭证引用,随后回退环境变量
baseURL: https://api.deepseek.com # 提供方基础 URL
timeoutMs: 12000 # 每次请求超时;中止映射为 balance-timeout
lowBalanceThreshold: 2 # 读数视为健康的最低金额
工作原理
| 半面 | 做什么 |
|---|---|
| 宿主(Node) | 注册经认证的 GET /dsh-balance(钱包读数 JSON)与 GET /dsh-balance/events(SSE 流)。每个路由都会先通过 Harness 的浏览器身份与 Origin 栅栏,再读取凭证。监听 session/event,每个 turn/end 推送 refresh;每次请求经可选服务解析凭证,再回退环境变量。 |
| 客户端(浏览器) | 注册 sidebar.footer.action 插槽条目(shell 预留的设置旁座位;收起 rail 时堆叠在设置图标上方)。在挂载时、refresh SSE 事件与点击时抓取读数,带 in-flight 守卫。信用卡图标自包含(不依赖 shell 的图标库)。 |
位置与交互遵循 shell 自身设计:sidebar.footer.action 是"设置旁可选操作"的官方扩展点。
常见问题
对话刚结束余额看起来是旧的。 提供方结算滞后于轮次数十秒。轮次结束的刷新可能短暂显示结算前金额;稍后点击显示结算后数值。这与官方 DeepSeek 客户端行为一致——读数仅供参考。
什么都不显示。 凭证未解析(unconfigured)或抓取失败——这是设计。用 dsh --profile <名字> --dump-config 检查插件行,确认 DEEPSEEK_API_KEY 能通过凭证接缝或环境变量解析。
如何卸载?
dsh plugin --profile <名字> remove dsh-balance-plugin
该命令同时移除依赖与层。
开发
src/
balance-core.ts # 纯查询逻辑(凭证解析、HTTP、归一化)
index.ts # 宿主插件:路由 + SSE + 轮次结束监听
client.tsx # 浏览器插件:侧边栏底部操作
scripts/build.mjs # esbuild:宿主 ESM + 浏览器 __ModuleLoader__ bundle
tests/ # balance-core、float 与宿主路由的 node:test 单元测试
pnpm install
pnpm run build # 生成 lib/index.js + lib/client.js
pnpm test # balance-core、float 与宿主路由单元测试
本地安装检查(官方检验点):
dsh plugin --profile demo add ./
dsh --profile demo --dump-config # 应出现 "# == dsh-balance-plugin" 层
发布检查清单
发布新版本前:
pnpm run build与pnpm test通过。- 上述本地安装与
dsh plugin --profile demo update dsh-balance-plugin都通过;--dump-config保留该层,且 Web profile 在真实凭证下能渲染读数。 - 版本已提升(
npm version patch/minor/major);git tag 对应。 pnpm pack——检查 tarball:必须包含lib/、cordis.patch.yml、README.md(别无其他大文件)。npm publish——发布预构建代码,用户零摩擦安装。- 推送 tag;GitHub release 说明与 npm 版本保持一致。
许可
链接
同类插件
bowenliang123/dsh-context★ 1556
DSH 上下文洞察面板:Context 仪表盘 + /context命令 + Context 浏览器,查看 Context的分类组成、内容详情、演进趋势、压缩/注入事件、统计等一站式 Context 全生命周期管理。
Han-1413141/dsh-cost-meter★ 344
会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。
wssfk12138/dsh-damage-pulse★ 214
在 DSH Web 界面追踪 DeepSeek Token 用量、单次与会话费用及账户余额,并显示缓存感知的扣费动画。
zh667/TokenLedger★ 202
侧边栏用量面板:把 Token 归属到实际服务该请求的中转站,站点从已有的 provider 配置中读出,无需额外配置;含今日/本月/累计三窗口、按站点与模型下钻、一年活跃度热力图,以及 New API / Sub2API / DeepSeek 余额。
Ychris12138/dsh-usage-stats★ 168
多供应商用量看板:按供应商/模型统计 Token 与日期下钻,统一展示账户余额,并追踪 OpenCode Go / Z.ai 订阅额度。
PolinniZhong/dsh-personal-center★ 120
DeepSeek Harness 个人中心:跨会话用量统计、按模型成本估算、全局自定义指令、外观全局字号、数据驱动的桌面宠物(位图/矢量皮肤)与会话状态概览,纯本地离线运行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。