READMESource: main@ad1db777
dsh-balance
在 DeepSeek Harness 侧边栏底部显示当前 DeepSeek API 账户余额。 Shows your DeepSeek API balance at the bottom of the DSH sidebar.
功能 / Features
- 侧边栏底部新增一行「API 余额」,宽栏显示
¥110.00这样的总余额;收起成 56px 轨道时只显示图标。 - 单击立即刷新。
- 双击打开 DeepSeek 平台用量页
https://platform.deepseek.com/usage。 - 每次当前会话完成一轮完整输出(模型回合结束)后自动刷新一次。
- 之后每 30 分钟定时自动刷新。
- API Key 完全留在本机:插件在宿主进程里读取凭证,通过本机
GET /dsh-balance路由返回结果,浏览器端拿不到 Key。 - 自动沿用「设置 → 模型」里 DeepSeek 配置的
apiKeyEnv与baseURL(默认DEEPSEEK_API_KEY/https://api.deepseek.com,也支持DEEPSEEK_BASE_URL环境变量覆盖)。
安装 / Install
DSH Desktop(推荐)
把 dsh-balance 目录放进 web profile:
$web = "$env:DSH_HOME\profiles\web"
Copy-Item -Recurse .\dsh-balance $web\plugins\dsh-balance
然后修改 $web\package.json:
{
"dependencies": {
"dsh-balance": "file:./plugins/dsh-balance"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dshmarket",
"dsh-balance"
]
}
}
}
在 profile 目录执行 pnpm 链接并重启 DSH:
Set-Location $web
& "$env:DSH_HOME\.desktop-bin\pnpm.cmd" install --offline
# 重启 DeepSeek Harness 后生效(新插件只在启动时扫描)
插件集的增删必须重启才生效(client-modules 只在启动时扫描包清单)。
dsh CLI(源码安装)
dsh plugin --profile web add <path-to-dsh-balance>
卸载 / Uninstall
- 从
package.json的dependencies与dsh.profile.bundles移除dsh-balance。 - 删除
plugins\dsh-balance目录,执行pnpm install --offline,重启。
工作原理 / How it works
- 宿主半部(
lib/index.js):cordis 插件,在webServer上注册GET /dsh-balance(仅回环 + 同源请求)。每次请求时解析凭证:优先读llm-deepseek设置区,其次环境变量,最后默认值;然后调用 DeepSeekGET {baseURL}/user/balance,把结果归一化后返回。 - 客户端半部(
client/client.js):__ModuleLoader__bundle,向sidebar.footer.action槽注册一个 42px 的行组件,通过/dsh-balance获取余额并渲染;利用会话摘要的running状态在每次回合结束后自动刷新。 - 测试(
tests/):balance-smoke.mjs对真实 DeepSeek API 做端到端冒烟;balance-guard.mjs覆盖路由防护分支(回环、Origin、方法、缺 Key)。
License
MIT — see LICENSE
No comments yet. Be the first to write one.