dsh-composer-balance:DeepSeek Harness 余额常驻输入框工具

前言

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 启动自动生效,无需审批)。

  1. 把本仓库放到稳定路径(不要放在会话工作区或临时目录——一旦目录丢失,DSH 会因解析不到 bundle 而无法启动):
    D:\code_practice\AI_coding\dsh-composer-balance
  1. 编辑 $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 中用正斜杠。
  1. 让 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`。
  1. 验证解析:
    node -e "console.log(require.resolve('dsh-composer-balance/package.json', { paths: ['$env:DSH_HOME/profiles/web'] }))"
  1. 确认凭证(插件不硬编码密钥,缺失时显示红色 余额 —):
    # $DSH_HOME/.credentials.yaml
    DEEPSEEK_API_KEY: sk-xxxx
  1. 重启 DSH(Host 端改动需重启;此后仅改客户端只需刷新页面)。

典型用法

安装完成后,界面与操作如下:

  • UI 显示:输入框工具行左端出现 ¥ x.xx 小字 + ↻;设置页出现「DeepSeek 余额」卡片。
  • 设置项:
    • 自动刷新间隔:默认 60 秒(范围 5–86400 秒)。
    • 低余额告警阈值:默认 ¥10,低于阈值数字变红并显示 ⚠。
    • 隐藏内置 Cordis 徽标:默认关闭。
  • 对话触发:在对话中说“查一下余额”,即可触发 deepseek_balance 工具,返回按币种的总余额、赠送余额与账户可用状态。

适用场景与注意

  • 适用场景:需要持续监控余额的 DSH 开发者,尤其是习惯将余额显示在输入框区域的用户。
  • 安全注意:插件运行在 DSH 进程权限下,密钥不进 argv,经 stdin 传递,不写入磁盘。请确保来源校验策略符合预期。
  • 许可证:MIT。

结语

本插件解决了上游停更与安全漏洞问题,提供了更可靠的余额监控方案。

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

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

小夜