Bundle
dsh-plugin-api-quota
DSH Web UI plugin: check your DeepSeek API key balance/quota (GET /user/balance) from the sidebar, with a GUI panel showing total/granted/topped-up balance.
- Source
- ganfne123
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 6 days ago
Readme
# dsh-plugin-api-quota > DSH Web UI plugin — check your DeepSeek API key balance from the sidebar. [中文](README.zh.md) ## What It Does Adds an **API Quota** entry to the Web sidebar footer (next to Settings). Clicking it opens a panel that queries the DeepSeek official balance endpoint (`GET /user/balance`) and shows: - Total balance, granted balance, topped-up balance - Currency and availability - Query time, with a refresh button The API key **never crosses into the browser**: the browser half fetches a same-origin route (`/api-quota/balance`) served by the plugin's host half, which resolves the key through the credential seam (`ctx.credentials`) and talks to DeepSeek server-side. ## How It Works | Half | Responsibility | | --- | --- | | Host (`src/index.ts`) | Registers `GET /api-quota/balance` on the web server; resolves `DEEPSEEK_API_KEY` via `ctx.credentials`, calls `https://api.deepseek.com/user/balance` | | Browser (`src/client/`) | Registers the `sidebar.footer.action` slot entry; fetches the route and renders the balance panel (Modal) | The credential reference and endpoint are configurable via the plugin config (`apiKeyEnv`, `baseURL`, `balancePath`), defaulting to `DEEPSEEK_API_KEY` / `https://api.deepseek.com` / `/user/balance`. ## Quick Start DSH plugins install into a profile (`dsh web` → `web` profile). Install, restart `dsh web`, done. ```bash # from the plugin repo root npm install && npm run build # register in the profile patch layer (~/.dsh/profiles/web/cordis.patch.yml): # - insert: # - id: plugin-api-quota # name: dsh-plugin-api-quota # symlink into the profile's node_modules: # ln -s "$PWD" ~/.dsh/profiles/web/node_modules/dsh-plugin-api-quota ``` ## Configuration | Field | Default | Meaning | | --- | --- | --- | | `apiKeyEnv` | `DEEPSEEK_API_KEY` | Credential reference (environment-variable-shaped) holding the API key | | `baseURL` | `https://api.deepseek.com` | DeepSeek API base URL | | `balancePath` | `/user/balance` | Balance endpoint path appended to `baseURL` | ## License MIT
Install
dsh plugin --profile web add github:ganfne123/dsh-plugin-api-quota
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-api-quota from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.