dsh-balance-pill:在 Composer 停靠栏常驻显示钱包余额与本会话消费

前言

在 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。

架构与安全(简要)

  1. Client:挂载到 conversation.composer.dock,轮询本地 JSON,会话累计写在 localStorage。
  2. 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 账户。
  • 具备 deepseekAccount Host 服务(桌面账户栈自带)。

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),应先移除旧包再安装本插件,否则两颗药丸会并排显示且轮询重复。

典型用法

  1. 按上一节用对应 profile 安装并重启 Harness。
  2. 在 Web 或 Desktop 中登录 DeepSeek,打开带 Composer 的对话界面。
  3. 在输入区停靠栏右侧查看 Balance 与 This session;长对话前悬停确认计费起始时间,需要时点药丸强制刷新。
  4. 调试本地路由时(仅供理解契约),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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye