outprintHelloLi/dsh-piggy-bank0

dsh-piggy-bank

DSH web plugin: a draggable floating piggy-bank balance badge for the official DeepSeek API account balance, with per-conversation polling and a balance-deduction animation.

包名
dsh-piggy-bank
版本
1.1.0
许可证
MIT
最近更新
2026年8月25日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:outprintHelloLi/dsh-piggy-bank

dsh-piggy-bank

DeepSeek Harness (DSH) Web 插件:一个可拖动的悬浮存钱罐,余额显示在存钱罐上方并带深色文字背景;对话期间每隔 N 秒自动查询一次余额,余额下降时在存钱罐上方弹出 -¥xx.xx 的扣减动画(淡入淡出,显示 5 秒)。

  • 数据来源:DeepSeek 接口 GET https://api.deepseek.com/user/balance(唯一余额接口)。
  • 展示:悬浮存钱罐图标,可拖动位置,支持 4 种内置样式(卡通猪 / 蓝色鲸鱼 / 黑金龙纹 / 陶瓷鲸鱼娘)和导入的外部 SVG。余额显示在存钱罐上方。
  • 自动刷新:页面打开时立即查询;任务开始 / 任务结束时立即刷新;对话任务运行期间按设置间隔(默认 30 秒)自动查询。
  • 扣减动画:余额比上次查询减少时,在存钱罐上方显示负差额,淡入淡出共 5 秒。
  • 设置界面:在 DSH 的 设置 侧边栏出现本插件的「存钱罐」菜单,可设置「对话期间查询间隔(秒)」(5–600),切换存钱罐样式,并可手动添加外部 .svg 文件作为自定义样式。
  • 无用量记账:DeepSeek 开放平台没有公开的 token 用量 / 费用 / 账单接口,因此本插件只展示余额,不做本地用量累计或费用估算。

一键安装(Windows / macOS / Linux 通用)

本插件是纯 Node.js 实现的 DSH 插件,三个平台只需同一个命令。

node scripts/install.mjs

三个平台也可以使用各自的快捷脚本:

  • Windows(CMD)scripts\install.cmd
  • Windows(PowerShell)scripts\install.ps1
  • macOS / Linux./scripts/install.sh

脚本会自动:

  1. 找到 dsh profile(默认 web,可用 --profile 指定);
  2. 把插件复制到 ~/.dsh/profiles/ /plugins/dsh-piggy-bank
  3. ~/.dsh/profiles/ /package.json 中登记依赖和 bundle;
  4. 在 profile 目录里执行 pnpm install

完成后再重启 dsh web 并硬刷新页面(Windows: Ctrl+Shift+R;macOS: Cmd+Shift+R)。

可选项:

node scripts/install.mjs --profile headless   # 安装到其它 profile
node scripts/install.mjs --no-install        # 只复制/登记,不运行 pnpm install

把仓库发布到 npm 或 GitHub 后,也可以直接使用 DSH 自带命令安装:

dsh plugin --profile web add dsh-piggy-bank

前置条件

  • ~/.dsh/.credentials.yaml 中存在 DEEPSEEK_API_KEY
  • Node.js ≥ 20,pnpm 可用。
  • DSH 已初始化 web profile(~/.dsh/profiles/web)。

结构

文件作用
lib/index.jshost 端:注册 /dsh-piggy-bank/status 路由;监听 turn/end;注册本插件设置命名空间 dsh-piggy-bank
lib/client.jsclient 端:悬浮存钱罐 + 扣减动画;插件配置卡片;对话期间定时查询。
scripts/install.mjs跨平台一键安装脚本。
cordis.patch.yml把插件行插入 DSH host 组合。

设计说明

  • 不写 token 台账、不做费用估算(无对应接口)。
  • 客户端只在页面可见时轮询,避免不可见时对接口的无谓请求。
  • host 端 HTTP 路由仅允许 loopback 同源访问,拒绝跨域请求。
  • 查询间隔通过 DSH 设置持久化(用户 settings 文档),不需要改代码。

License

MIT