前言¶
在 DeepSeek Harness(DSH)里用 Composer 做多轮对话时,账户钱包会随每次推理扣费变化,但界面默认不会在输入区旁持续给出「还剩多少、这一轮会话花了多少」。要对照账户菜单或反复打开设置,既打断节奏,也不利于控制单次调试成本。
dsh-balance-pill 是社区维护的 DSH 插件(非 DeepSeek 官方产品),在 Composer 停靠栏(conversation.composer.dock)挂载一颗常驻的「余额药丸」:展示已登录 DeepSeek 账户的合并钱包余额,以及自当前会话首次读数以来观测到的钱包减少累计值。下面介绍其能力、安装方式与使用时的注意点。
这是什么¶
- 名称:Balance Pill /
dsh-balance-pill - 维护者:Jayve(GitHub)
- 分类:模型推理(社区目录归类)
- 许可证:MIT(npm 包当前版本
1.0.1) - 定位:小体积、始终可见的读数组件;数据来自与账户菜单相同的钱包来源,通过 Host 侧本地路由提供给浏览器,不暴露 token 或账户 id。
插件依赖 Harness 的 deepseekAccount Host 服务;无该服务的 headless 组合会返回 account-unavailable。
核心功能¶
停靠栏展示¶
药丸为单个可聚焦按钮,文案随主题与界面语言适配。典型形态(示意):
Balance ¥6.19 · This session ¥0.42
| 读数 | 含义 |
|---|---|
| Balance | 充值钱包与赠送/奖励钱包合并为单一币种后的总额。 |
| This session | 自本会话第一次读数以来,观测到的钱包减少之和。 |
状态示例:就绪显示金额;加载中显示 Balance …;未登录显示 Balance —;错误可带 HTTP 状态(如 http-503)。
交互与刷新¶
- 悬停:展示充值/赠送明细、最近更新时间、本会话计费起始时间;提示可点击刷新。
- 点击:立即刷新余额。
- 自动刷新:每 60 秒、窗口重新获得焦点时、以及每轮对话完成后 shortly 触发;两次自动读数至少间隔 15 秒。连续失败时退避:120 s → 240 s → 300 s(上限)。
- 首屏:复用上一次成功读数,避免页面重载后停靠栏闪空。
会话消费如何累计¶
插件按钱包读数差计费,不依赖 token 或价目表,因此与具体模型、计费规则无关:
- 两次读数之间减少计入
This session;充值或赠送只移动基线,不会产生负消费。 - 基线与累计保存在
localStorage键dsh.balance-pill/v1/<sessionId>;同会话内刷新页面数字保留,新会话从零开始。 - 切换界面语言或时区不重置账本;同一会话内切换账户会沿用上一账户基线——需干净计数时应登出开新会话或删除对应
localStorage项。 - 同一账户多会话并行时,各会话会把其他会话造成的扣款也算进自己的「本会话」;插件无法把单次扣款归因到某一窗口。
- 平台结算可能延迟,读数同步滞后;金额小于
0.01时显示四位小数。账户同时有 CNY 与 USD 钱包时只显示一颗药丸,优先 CNY。
架构与安全(简要)¶
- Client:挂载到
conversation.composer.dock,轮询本地 JSON,会话累计写在localStorage。 - Host:在 Harness Web 服务器提供
GET /dsh-balance-pill/state,向 Host 账户服务取钱包并只返回聚合金额;浏览器不直接调用账户 Remote,不见 token。
路由仅接受 loopback 对等方与允许的 Host 头(127.0.0.1、localhost、[::1]),Cache-Control: no-store。与同机其他本地插件路由一样,无额外鉴权——本机任意进程可读余额数字;响应仅含金额,无账户 id 或交易列表。插件不发遥测;浏览器 bundle 不拉远程内容、不使用 eval。
安装与启用¶
环境要求(来自 README):
- DeepSeek Harness Desktop 或 Web,
0.2.1-rc.2至0.2.x。 - 已登录 DeepSeek 账户。
- 具备
deepseekAccountHost 服务(桌面账户栈自带)。
CLI 中 web 为 Web 应用 profile;桌面端通常将下文中的 web 改为 desktop。
从 npm 安装¶
dsh plugin --profile web add dsh-balance-pill
包名为无 scope 的 dsh-balance-pill,由 npm 账户 jayve-dev 发布。
从 GitHub 安装¶
dsh plugin --profile web add github:Jayve/dsh-balance-pill
安装后需重启 Harness 进程(Host 代码变更不能只靠刷新页面),再重载 Web 页。可用下面命令确认 bundle 已加载:
dsh --profile web --dump-config
应能看到 # == dsh-balance-pill 层与 balance-pill 行。若已列出但界面无药丸,需按仓库 Troubleshooting 排查。
卸载¶
dsh plugin --profile web remove dsh-balance-pill
若仍保留本地开发包(如 @local/dsh-balance-meter),应先移除旧包再安装本插件,否则两颗药丸会并排显示且轮询重复。
典型用法¶
- 按上一节用对应 profile 安装并重启 Harness。
- 在 Web 或 Desktop 中登录 DeepSeek,打开带 Composer 的对话界面。
- 在输入区停靠栏右侧查看
Balance与This session;长对话前悬停确认计费起始时间,需要时点药丸强制刷新。 - 调试本地路由时(仅供理解契约),Host 侧示例成功响应形如:
{"ok":true,"status":"ready","currency":"CNY","recharged":6.19,"granted":0,"total":6.19}
查询参数:GET /dsh-balance-pill/state?locale=<ui locale>&tz=<offset seconds>。
适用场景与注意¶
适合:长期在 DSH Composer 里跑 agent、需要一眼看到钱包余量与本窗口会话大致花费的开发者;希望与账户菜单同源、又不想在 renderer 里直接碰账户 Remote 的 Desktop/Web 用户。
注意:
- 社区插件,与 DeepSeek / 幻方无官方从属;安装前请阅读 源码 与 MIT 许可证。插件以当前 DSH 进程权限运行。
- 本地路由对本机进程可见余额聚合值,勿在不可信多用户机器上假设隐私隔离。
- 多会话、跨账户、平台延迟结算等边界见上文「会话消费」;
This session是观测差分,不是官方账单明细。
结尾¶
dsh-balance-pill 把 DeepSeek 钱包余额与本会话观测消费收进 Composer 停靠栏一颗可刷新的小按钮,通过 Host 本地路由隔离账户凭据,适合日常在 Harness 里控成本、少打断对话流。更多信息见社区目录页与仓库 README。