前言¶
DeepSeek Harness (DSH) 的用户在开发过程中需要时刻关注 API 余额。上游插件 kte66/dsh-balance 停更,且存在密钥处理不当、来源校验缺失等实际缺陷。ushio155/dsh-composer-balance 是该插件的接替实现,修复了这些问题,保留了最直观的 UX:在输入框工具行左端常驻余额显示。
核心功能¶
本插件提供以下能力:
- 余额常驻输入框工具行左端:显示小字余额与
↻刷新按钮。 - 设置页可配:支持设置自动刷新间隔与低余额告警阈值。
- 对话中触发工具:对话中输入“查一下余额”即可调用
deepseek_balance模型工具。 - 安全性增强:
- 密钥不落盘,经
stdin传递给curl,不进入argv。 - 校验
Origin与Sec-Fetch-Site,跨源返回403。 - Windows 上密钥模式
0o600不生效的问题已修复。
- 密钥不落盘,经
安装与启用¶
适用于 DSH 以文件插件方式加载(随 DSH 启动自动生效,无需审批)。
- 把本仓库放到稳定路径(不要放在会话工作区或临时目录——一旦目录丢失,DSH 会因解析不到 bundle 而无法启动):
D:\code_practice\AI_coding\dsh-composer-balance
- 编辑
$DSH_HOME/profiles/<profile>/package.json:
{
"dependencies": {
"dsh-composer-balance": "link:D:/code_practice/AI_coding/dsh-composer-balance"
},
"dsh": {
"profile": {
"bundles": [
// …原有 bundles…
"dsh-composer-balance"
]
}
}
}
> Windows 路径在 JSON 中用正斜杠。
- 让 bundle 解析器能找到它——建目录联接(junction):
New-Item -ItemType Junction `
-Path "$env:DSH_HOME\profiles\web\node_modules\dsh-composer-balance" `
-Target "D:\code_practice\AI_coding\dsh-composer-balance"
或直接在 profile 目录执行 `pnpm install`。
- 验证解析:
node -e "console.log(require.resolve('dsh-composer-balance/package.json', { paths: ['$env:DSH_HOME/profiles/web'] }))"
- 确认凭证(插件不硬编码密钥,缺失时显示红色
余额 —):
# $DSH_HOME/.credentials.yaml
DEEPSEEK_API_KEY: sk-xxxx
- 重启 DSH(Host 端改动需重启;此后仅改客户端只需刷新页面)。
典型用法¶
安装完成后,界面与操作如下:
- UI 显示:输入框工具行左端出现
¥ x.xx小字 +↻;设置页出现「DeepSeek 余额」卡片。 - 设置项:
- 自动刷新间隔:默认 60 秒(范围 5–86400 秒)。
- 低余额告警阈值:默认 ¥10,低于阈值数字变红并显示
⚠。 - 隐藏内置 Cordis 徽标:默认关闭。
- 对话触发:在对话中说“查一下余额”,即可触发
deepseek_balance工具,返回按币种的总余额、赠送余额与账户可用状态。
适用场景与注意¶
- 适用场景:需要持续监控余额的 DSH 开发者,尤其是习惯将余额显示在输入框区域的用户。
- 安全注意:插件运行在 DSH 进程权限下,密钥不进 argv,经 stdin 传递,不写入磁盘。请确保来源校验策略符合预期。
- 许可证:MIT。
结语¶
本插件解决了上游停更与安全漏洞问题,提供了更可靠的余额监控方案。