Skip to content
dsh.fish
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 5 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

  • 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.
Source