Skip to content

dsh-tui-balance

Verified

dsh-tui-balance · v0.1.7 · MIT

DeepSeek account balance in the dsh-tui prompt footer (15s refresh, cached, settings-row patch)

Install

dsh plugin add dsh-tui-balance

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Creators

Readme

dsh-tui-balance

在 dsh-tui 输入框下方的状态栏里显示 DeepSeek 账户余额。

  • 正常:¥9.57,绿色
  • 低于阈值(默认 ¥5)或账户不可用:红色
  • 查询失败:--,红色
  • 悬浮:总额 / 赠送 / 充值 / 更新时间
  • 点击:立即刷新;平时每 15 秒自动刷新;进入/切换会话时也会立即刷新一次
  • 启动/重启:先显示上次成功查询的缓存金额,再在后台刷新,不会空白等一轮
  • 不写死密钥:优先走 dsh 的 credentials 服务解析 DEEPSEEK_API_KEY,失败才回退环境变量

安装

要求:已装 dsh 和 dsh-tui(@deepseek-harness-tui/dsh-tui),profile 名按你的实际改(常见是 tui)。

从 npm:

dsh plugin --profile tui add dsh-tui-balance

从本地目录:

dsh plugin --profile tui add /path/to/dsh-tui-balance

从 tarball:

dsh plugin --profile tui add ./dsh-tui-balance-0.1.7.tgz

从 GitHub:

dsh plugin --profile tui add github:<your-name>/dsh-tui-balance

安装后重启 dsh-tui(或让 HMR 重载)。字段会出现在底栏 cost 后面;如果没看到,检查 /settings → Status bar → 插件底栏字段 是否开启(默认开启)。

设置页那行由 dsh-tui 主包的 Settings.js 渲染,插件 API 只能提供文案、改不了布局。 因此本包会:

  • 在 postinstall 时自动给已安装的 dsh-tui 打设置行补丁;
  • 插件启动时再兜底尝试一次(如果安装脚本被 pnpm/npm 跳过)。

npm 12/pnpm 默认可能拦截依赖的安装脚本;这种情况下首次启动会在后台打补丁, 设置页要再重启一次 dsh-tui 才会用上新布局。

补丁后的条目显示为 deepseek-balance 余额 ¥9.57,勾选框在右侧,与 dsh-tui 默认的设置行 一致(“余额”前缀只出现在设置行;底栏字段仍是纯金额 ¥9.57)。设置行补丁需要 dsh-tui 重新加载,安装/升级后重启一次 dsh-tui。如果 dsh-tui 升级覆盖了 Settings.js,运行:

node node_modules/dsh-tui-balance/scripts/patch-settings-row.mjs

再重启 dsh-tui 即可。

配置

默认低于 ¥5 变红。想改阈值,在 profile 的 cordis.patch.yml 里按 id 覆盖:

- id: balance-status
  config:
    lowBalance: 10

(这条 patch 会替换整个 row config,目前只有 lowBalance 一个键。)

卸载

dsh plugin --profile tui remove dsh-tui-balance

工作原理

包里的 cordis.patch.yml 通过 insert 插入一行 cordis 插件;插件调用 dsh-tui 的 ctx.tuiStatus.setField 接缝写入底栏字段,并监听 dsh 的 session/created 与 dsh-tui 的 resume.txt 前台会话标记,在进入/切换会话时立即刷新;上次成功的金额会缓存到 ~/.dsh-tui/balance-cache.json,重启后先显示缓存再刷新。所有异常都在插件内部降级, 不影响 TUI。

查询的是 DeepSeek 官方 GET https://api.deepseek.com/user/balance;如果设置了 DEEPSEEK_BASE_URL,会请求 ${DEEPSEEK_BASE_URL}/user/balance。

License

MIT