在输入框下方常驻显示钱包余额与本次会话花费
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Jayve/dsh-balance-pill该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求client.js:267
const response = await fetch(`${ROUTE}${query}`, {
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成余额条(Balance Pill)
在 DeepSeek Harness 输入框下方的 composer dock 里常驻一行小字:当前登录账户的钱包余额,以及本次会话开始以来钱包减少的金额。
余额条在输入框下方
非官方社区插件,与 DeepSeek 官方无隶属关系,也未获其背书。
预览
输入框下方余额条的文字示意。实际界面会跟随主题与语言。
┌─ 输入框 ──────────────────────────────────────────────────────── │ 随便问点什么…
│
│ 缓存命中 0 · 轮次 3 (o) 余额 ¥6.19 · 本次 ¥0.42 └─────────────────────────────────────────────────────────────────
[就绪] (o) 余额 ¥6.19 · 本次 ¥0.42
[加载中] (o) 余额 …
展开完整文档(README 剩余 1 节)
余额条(Balance Pill)
在 DeepSeek Harness 输入框下方的 composer dock 里常驻一行小字:当前登录账户的钱包余额,以及本次会话开始以来钱包减少的金额。
余额条在输入框下方
非官方社区插件,与 DeepSeek 官方无隶属关系,也未获其背书。
预览
输入框下方余额条的文字示意。实际界面会跟随主题与语言。
┌─ 输入框 ──────────────────────────────────────────────────────── │ 随便问点什么…
│
│ 缓存命中 0 · 轮次 3 (o) 余额 ¥6.19 · 本次 ¥0.42 └─────────────────────────────────────────────────────────────────
[就绪] (o) 余额 ¥6.19 · 本次 ¥0.42
[加载中] (o) 余额 …
[未登录] (o) 余额 —
[错误] (o) 余额 — (http-503)
┌─ 悬停提示 ────────────────────────────────────────────────────── │ 充值 ¥6.19 · 赠送 ¥0.00 · 更新于 12:34:56 │ 自 12:30:02 起累计 │ 点击刷新 └───────────────────────────────────────────────────────────────
余额条是一个可聚焦按钮:点击刷新,悬停查看明细和本次累计的起始时间。
显示内容
| 读数 | 含义 |
| 余额 | 充值余额 + 赠送余额,折算为同一币种。 |
| 本次 | 本次会话首次读数以来,观察到的钱包减少额累计。 |
- 悬停可看到充值/赠送明细、最后更新时间,以及「本次」从何时开始累计。
- 点击读数立即刷新。
- 此外每 60 秒、窗口重新获得焦点、以及每轮回复结束后(约 2.5 秒稳定期)自动刷新;两次自动读取至少间隔 15 秒。连续失败时按 120s → 240s → 300s 退避(上限 300s)。
- 页面重新加载时先显示上一次成功读数,避免输入框下方闪一下空值。
安装
环境要求:
- DeepSeek Harness Desktop 或 Web,版本 0.2.1-rc.2 至 0.2.x。
- 已登录 DeepSeek 账户(与账户菜单读取的是同一个钱包)。
- Host 侧存在 deepseekAccount 服务。桌面版账户栈自带该服务;不包含它的 headless 组合会返回 account-unavailable。
任选一种来源。
从 npm 安装
dsh plugin --profile web add dsh-balance-pill
已发布为 dsh-balance-pill,npm 维护者账号为 jayve-dev。包名不带 scope,安装路径就是包名本身。
从 GitHub 安装
dsh plugin --profile web add github:Jayve/dsh-balance-pill
从本地 checkout 安装
git clone https://github.com/Jayve/dsh-balance-pill.git
dsh plugin --profile web add ./dsh-balance-pill
web 是 CLI Web 应用使用的 profile 名;桌面版通常叫 desktop,替换命令中的 profile 即可:
dsh plugin --profile desktop add dsh-balance-pill
安装后需要重启 Harness 进程(Host 代码改动不是刷新页面就能生效),然后重新加载 Web 页面。确认 bundle 层已经进入配置:
dsh --profile web --dump-config
应能看到 # == dsh-balance-pill 这一层,以及 balance-pill 行。如果插件已列出但界面没有余额条,见故障排查。
卸载
dsh plugin --profile web remove dsh-balance-pill
从本地版本迁移
如果还挂着 @local/dsh-balance-meter 之类的开发行,请先移除它,再安装本插件。否则输入框下方会出现两个余额条;新行 id 是 balance-pill,不会发生配置行冲突,但 dock 条目和轮询会重复。
工作原理
插件分为两半:
1. Client:在 conversation.composer.dock 槽位注册一个条目,轮询本地 JSON 路由,并把本次会话的累计值保存在 localStorage。
2. Host:在 Harness Web 服务器上提供 GET /dsh-balance-pill/state,向 Host 侧账户服务读取钱包,只返回聚合后的金额。
浏览器不直接调用账户 Remote,也接触不到令牌、账户 ID 或 Platform 请求头。这样拆分是因为当前桌面版里 Host 侧账户调用正常,但渲染进程调用 account Remote 可能失败;本地路由在 Web 与 Desktop 构建上都更稳定。
路由
GET /dsh-balance-pill/state?locale=<界面语言>&tz=<时区偏移秒数>
只接受环回对端、环回 Host authority 的 GET 请求,响应带 Cache-Control: no-store。
| 状态码 | 响应体 | 含义 |
| 200 | {"ok":true,"status":"ready","currency":"CNY","recharged":6.19,"granted":0,"total":6.19} | 成功读到钱包。 |
| 200 | {"ok":true,"status":"signed-out"} | 没有已保存的 DeepSeek 凭据。 |
| 200 | {"ok":true,"status":"failed"} | Platform 余额查询失败。 |
| 403 | {"ok":false,"error":"loopback-only"} | 非环回对端。 |
| 403 | {"ok":false,"error":"host-not-allowed"} | Host 不是 127.0.0.1、localhost 或 [::1]。 |
| 405 | {"ok":false,"error":"method-not-allowed"} + Allow: GET | 方法不对。 |
| 502 | {"ok":false,"error":"…"} | 账户服务的未预期异常(消息截断到 200 字符)。 |
| 503 | {"ok":false,"error":"account-unavailable"} | 当前组合没有账户服务。 |
完整路由与账本约定见 docs/architecture.md。
消费口径
插件计量的是钱包,不是 token,也不是价格表,因此适用于任意模型与计费规则。
- 两次读数之间的余额下降计入「本次」。
- 充值或赠送只移动基线,不会产生负数消费。
- 基线与累计值按会话保存在 dsh.balance-pill/v1/<sessionId>。刷新页面不会清零;新会话从零开始。
- 切换界面语言或时区不会重置账本。
- 在同一会话中切换账户会沿用上一个账户的基线。需要干净读数时,请退出登录并新建会话,或删除该会话的 localStorage 键。
- 同一账户并行多个会话时,每个会话都会把其他会话的消费算进自己的「本次」。钱包本身无法区分是哪个会话花的钱。
- Platform 账单可能延迟结算,读数会相应滞后。
- 小于 0.01 的金额显示 4 位小数,避免一次很小的请求看起来像免费。
- 账户同时持有 CNY 与 USD 钱包时只显示一个余额条,优先 CNY。
隐私与安全
- 路由挂在 Harness Web 服务器上,拒绝非环回对端。
- Host 头必须是环回 authority(127.0.0.1、localhost 或 [::1])。解析到环回地址的公网域名会被拒绝,从而堵住 DNS rebinding 读取这条路由的路径。
- 与其它本地插件路由一样,这条路由没有额外认证:同一台机器上的任意进程都能读到余额数字。响应里只有币种金额,没有账户 ID、资料、令牌或流水。
- Client 只在 Harness 源下的 localStorage 保存最后一次汇总和按会话的账本,不含凭据。
- 插件不上报遥测。唯一的网络请求是 Host 账户服务发往已配置 DeepSeek Platform 域名的请求,与账户菜单相同。
- 浏览器 bundle 不加载远程内容,也不使用 eval。
配置
随包提供的 patch 以默认值启用插件,多数用户不需要配置。
clientVersion 是发给 Platform 账户接口的 UI 标识。默认情况下插件上报当前 Web Host 的 release 版本;取不到时回退到本版本测试过的版本。只有组合中隐藏了 clientModules 服务,或需要复现特定 Platform 客户端标识时才需要固定它:
- id: balance-pill
name: dsh-balance-pill
config:
clientVersion: 0.2.1-rc.2
刷新间隔和路由路径是固定值:前者是流量整形常量,后者是安全与兼容性常量,不作为部署配置项。
故障排查
| 现象 | 检查 |
| 完全没有余额条 | bundle 未激活。运行 dsh --profile web --dump-config 确认 dsh-balance-pill 层存在,再重启 Harness 进程并刷新页面。 |
| 显示 余额 — | 账户未登录,或凭据存储为空。从账户菜单登录。 |
| 悬停提示 余额读取失败 | 看括号里的短错误码。http-503 表示组合里没有 deepseekAccount 服务;http-502 表示 Platform 查询抛错。 |
| 数字不变 | 账单可能延迟。点击余额条强制读取(仍受 in-flight 保护)。 |
| 「本次」偏高 | 同一账户的其它会话正在消费,或同一会话切换过账户。钱包无法归因到具体会话。 |
| 403 loopback-only | 页面是通过局域网地址打开的。改用 http://127.0.0.1:<端口>/。 |
| 403 host-not-allowed | 页面是通过解析到本机的非环回域名打开的。改用 127.0.0.1、localhost 或 [::1]。 |
兼容性
| 组件 | 支持范围 |
| DeepSeek Harness | >=0.2.1-rc.2 <0.3.0(写入 engines.dsh) |
| 界面 | Desktop Web GUI;CLI web profile |
| 账户服务 | deepseekAccount(DeepSeek 账户登录) |
| Node(仅开发) | ^22.19.0 或 >=24.0.0 |
manifest 声明了 engines.dsh,不兼容的 Harness 版本会拒绝加载 bundle,而不是半加载后崩溃。删掉该字段不是受支持的绕过方式;请附上 Harness 版本开 issue。
开发
包没有运行时依赖,也没有构建步骤。
npm test # node --test:Host 路由、账本、格式化、loader 约定
npm run pack:check
目录:
index.js Host 路由与钱包汇总 client.js Client bundle(dock 条目、轮询、账本) test/host.test.mjs 路由与汇总测试 test/client.test.mjs 账本、存储与格式化测试 docs/ 预览图与架构说明
要在真实 Harness 里调试,在仓库根目录把 checkout 装进你用于 Web GUI 的 profile(不想影响日常配置时请使用一次性 profile):
dsh plugin --profile web add .
dsh web --profile web
Host 改动需要重启进程;Client bundle 改动刷新页面即可。
Client 模块上的 _internals 是测试桥,不是公开 API。它让账本逻辑可以在不启动浏览器或 React 渲染器的情况下被测试。
发布
1. 更新 CHANGELOG.md 与 package.json 里的版本号。
2. npm test && npm run pack:check。
3. 提交、打 vX.Y.Z tag 并发布:
- 用 jayve-dev npm 账号执行 npm publish --access public
- 或推送 tag,让 .github/workflows/release.yml 使用仓库的 NPM_TOKEN secret 发布(token 需属于同一账号)。
许可证
MIT © 2026 Jayve预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Jayve/dsh-balance-pill
在输入框下方常驻显示钱包余额与本次会话花费
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,327已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,021已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 150,724已汉化DSH
71.1