dsh-balance-view: Export DeepSeek Balance to Local JSON and Read-only HTTP API

前言

在 DSH(DeepSeek Harness)里跑脚本、插件或聊天机器人时,经常需要知道当前登录账号的 DeepSeek 余额。若每次让模型自己去查,要么走对话、消耗 token,要么还得在别处登录 DSH 看界面。社区插件 dsh-balance-view(维护者 President-H,分类:联网工具)走另一条路:由宿主已有的账号服务定时拉余额,写入本地文件,并提供一个只读 HTTP 路径,其它程序直接读数字即可,读缓存本身不消耗 token。

下面介绍它做什么、怎么装、怎么读,以及适用边界。

这是什么

dsh-balance-view 是 DSH 生态里的一个小型联网工具插件(npm 包名 @president_h_999/dsh-balance-view,当前版本 0.1.0,MIT 许可证)。它不造 UI,也不自己拼 DeepSeek HTTP 或碰凭据;余额来源是宿主自带的 deepseekAccount 服务,口径与官方 total_balance 一致(充值钱包 + 赠金)。

装好后,大约每 2 分钟刷新一次,结果写在 $DSH_HOME/dsh-balance-view/cache.json(默认 ~/.dsh/dsh-balance-view/cache.json),同时注册只读接口 GET /dsh-balance/balance.json,支持 ?refresh=1 立即再取一次。

目录页:https://www.skillhub.cn/plugins/President-H/dsh-balance-view
源码:https://github.com/President-H/dsh-balance-view

核心功能

定时缓存

  • 通过 deepseekAccount 取余额,每 2 分钟写入 cache.json。
  • 成功时 JSON 含 total、recharge、bonus、currency、wallets、checkedAt 等字段;失败时 ok 为 false,code 区分原因(如未登录、无账号服务、未就绪等)。

只读 HTTP

同一数据可通过 DSH 本地端口访问:

curl http://127.0.0.1:<DSH 端口>/dsh-balance/balance.json?refresh=1

明确不做的事

  • 不改 DSH 设置、不写其它文件、不联网做余额以外的事。
  • 只读,不提供充值或写入能力。

安装与启用

官方 README 给出的安装方式如下(<你的 profile> 换成你实际使用的 profile 名):

dsh plugin --profile <你的 profile> add dsh-balance-view

本地开发时可以把仓库目录链进 profile:

dsh plugin --profile <你的 profile> add link:<本目录绝对路径>

装完需要重启一次 DSH。重启后若账号服务正常且已登录,应能看到 ~/.dsh/dsh-balance-view/cache.json 开始按间隔更新。

插件以当前 DSH 进程的权限运行;安装前建议浏览 GitHub 源码与 MIT 许可证,确认符合你的环境策略。

典型用法

直接读缓存文件

缓存成功时结构类似:

{
  "ok": true,
  "total": 7.76,
  "recharge": 7.76,
  "bonus": 0,
  "currency": "CNY",
  "wallets": [
    { "kind": "recharge", "currency": "CNY", "balance": 7.7637408 },
    { "kind": "bonus", "currency": "CNY", "balance": 0 }
  ],
  "checkedAt": "2026-10-30T04:06:25.186Z"
}

失败时对照 code:NO_ACCOUNT_SERVICE(老版本宿主无账号服务)、NOT_LOGGED_IN、NOT_READY、NO_WALLET、ERROR(异常详情在 error)。

脚本里读一行余额

README 提供的 Node 示例:

import { readFileSync } from 'node:fs'
const j = JSON.parse(readFileSync(process.env.HOME + '/.dsh/dsh-balance-view/cache.json', 'utf8'))
console.log(j.ok ? `余额 ${j.total} ${j.currency}` : `读不到:${j.error}`)

其它语言同理:解析 JSON,看 ok 与 total。需要最新值时用 HTTP 的 ?refresh=1,或等下一次定时刷新。

适用场景与注意

适合谁

  • 已在 DSH 里用 DeepSeek 账号登录、且宿主提供 deepseekAccount 服务的用户;希望机器人、定时任务或其它插件读余额,而不反复走对话或登录 UI。
  • 纯 API key、不看账号钱包的用户,README 建议以宿主自带的余额展示为准,本插件意义不大。

边界

  • DSH 未运行时不会刷新,旧数据以 checkedAt 为准。
  • 社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系;DSH 理念是「一切皆插件」,本插件是社区贡献之一。

结尾

经过上面的步骤,dsh-balance-view 的价值可以概括为:在 DSH 进程内复用官方账号服务,把余额变成本地 JSON 和只读 HTTP,方便自动化与联动。需要详情时见 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye