DeepSeek Harness plugin

dsh-quota-float

Floating usage & balance widget for DeepSeek Harness — follows each conversation's selected model (Kimi / DeepSeek / Volc Ark / DashScope)

Jump to install

Source facts

Repository
liuliuhuhushui/dsh-quota-float
Latest update
Aug 15, 2026
Category
Models & Providers
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/liuliuhuhushui/dsh-quota-float
Plugin: dsh-quota-float
Author: liuliuhuhushui

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

dsh-quota-float

A floating usage & balance widget for DeepSeek Harness (DSH) — a draggable card on the page that shows the quota or balance of whichever provider the current conversation is using.

中文文档

Screenshots

Kimi — quota barsDeepSeek — balance
![Kimi quota view](docs/kimi.png)![DeepSeek balance view](docs/deepseek.png)

The card follows the current conversation's selected model — switch conversations and the view switches with it.

Features

  • 🐳 Follows the conversation — reads the current conversation's selected model via the harness's own model directory, and resolves the same credential the harness itself uses (Settings → Models → apiKeyEnv → credentials store). No keys in this package, ever.
  • 🔀 Per-provider views:

- Kimi — 5h window + weekly quota bars with reset countdowns - DeepSeek — today's cost + balance (recharge-aware daily tracking) - Volcengine Ark — 5h + weekly quota (console cookie + CSRF, resolved via DSH credentials → launch env) - Alibaba Cloud BSS — monthly bill + account balance (AccessKey pair, HMAC-SHA1 signed OpenAPI, DSH credentials → launch env)

  • 🎨 Native look — built on DSH theme tokens (light/dark adaptive) with DeepSeek brand-blue accents
  • 🖱️ Draggable anywhere — position is shared across conversations; collapsible header; manual refresh button
  • 🛡️ Resilient — 3× retry, 5-minute file cache (~/.dsh/quota-float/), stale-cache fallback that keeps showing data instead of going blank

Install

# One command — installs from npm and registers the bundle automatically:
dsh plugin add @liuliuhuhushui/dsh-quota-float

<details> <summary>Manual install (alternative)</summary>

cd ~/.dsh/profiles/web        # Windows: %USERPROFILE%\.dsh\profiles\web
pnpm add @liuliuhuhushui/dsh-quota-float

Then add the package to the profile's bundle list in package.json:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@liuliuhuhushui/dsh-quota-float"
      ]
    }
  }
}

</details>

Restart DSH. The card appears at the bottom-right of the window.

How it works

browser card (shell.overlay slot)
  └─ GET /quota-float/quota?provider=<route>&model=<id>
       └─ host plugin (index.js)
            ├─ settings.get('llm-pi-ai' | 'llm-deepseek') → apiKeyEnv ref
            ├─ credentials.resolve(ref) → the same key model calls use
            └─ provider usage API (fetch ×3 retry) → 5-min file cache

The host half registers one exact route on the harness web server (webServer.register); the client half is a hand-written window.__ModuleLoader__ bundle — zero dependencies, no build step.

Requirements

  • DeepSeek Harness web profile (Node ≥ 22.13)
  • API keys configured in DSH Settings → Models (the widget reuses them)
  • Ark only: ARK_COOKIE + ARK_CSRF_TOKEN in ~/.dsh/.credentials.yaml (or the launch environment)
  • Alibaba only: ALIBABA_CLOUD_ACCESS_KEY_ID + ALIBABA_CLOUD_ACCESS_KEY_SECRET in ~/.dsh/.credentials.yaml (or the launch environment)

License

MIT